单片机应用编程难点与解决总结

上传人:夏** 文档编号:456650035 上传时间:2023-03-07 格式:DOCX 页数:4 大小:15.78KB
返回 下载 相关 举报
单片机应用编程难点与解决总结_第1页
第1页 / 共4页
单片机应用编程难点与解决总结_第2页
第2页 / 共4页
单片机应用编程难点与解决总结_第3页
第3页 / 共4页
单片机应用编程难点与解决总结_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机应用编程难点与解决总结》由会员分享,可在线阅读,更多相关《单片机应用编程难点与解决总结(4页珍藏版)》请在金锄头文库上搜索。

1、在单片机应用软件中,程序是有序性与无限环境的激励因素,导致了软件测试与仿真的不 完全性,其结果是软件的缺陷与软件并存。软件的缺陷与错误通常可分为显性与隐性两大 类。显性缺陷与错误发生在程序正常运行中。这些缺陷和错误大部分都可通过仿真调试进行 纠正;隐性缺陷与错误通常都在系统非正常运行中显露出来。容错能力弱的系统存在较多 的隐性错误。时序是程序设计中必须考虑的问题在应用程序设计应考虑的时序有系统复位时序、状 态时序、器件工作时序及总线运行时序。系统复位时序(MCU启始的安全规划与检查)系统复位时序MCU复位时序要求。MCU有上电复位(冷启动复位,如开机)与信 号复位(热启动,如按键复位)。上电复

2、位有电源建立及时钟系统起振过程和电路状态复位。 信号复位是在MCU工作状态下的复位,没有电源建立及时钟起振过程的时序要求。器件工作时序(对MCU振荡频率的规划与选择)单片机工作时序是单片机应用程序设计的基础。程序设计中必须保证时序工作的正 确性,而且要有足够的余度。在考虑器件运行时序时,MCU的操作必须保证时序信号的衔 接控制和时序信号的时序余度。但MCU振荡频率不是越快越好,因为高频会对应用电路产生 干扰性.状态时序(对I/O周边的控制电性评估与规划)在状态转换的程序设计中,应根据状态转换的时序特点,进行精心的时序控制设计。 进行精心的时序控制设计及控制电压电流位准调配,通常MCU本身的状

3、态转换,如复位、 其它方式的进入或退出,片内外围集成电路单元的关断与运行,都有自动监视、自动运行管 理功能。程序设计只须按MCU资料手册及指令系统的操作要求进行即可。对于有较长过 渡时间的外围状态转换过程,可采取足够的延时等待或设置提前转换状态的办法。而对驱动 能力不够时,须加以补强如加一低阻值的上拉电阻或加晶体管等.总线运行时序(各IC间通信协议的规划)在单片机应用系统中,有并行总线与串行总线。串行总线中又有通信总线和扩展总 线。这些总线在规范化操作时,其时序由数据通信协议保证。在非规范运行,例如在虚拟 总线方式下,其虚拟总线运行的可靠性在于时序的准确模拟。在并行总线中要保证读、写操 作指令

4、运行下的读、写时序;同步串行总线要保证时钟线控制下的同步运行时序;串行异 步时序则要考虑波特率对资料传送的影响。足够的容错设计(1)超时管理的容错设计 在系统程序中,除了专门设置的循环等待程序外,系统中的许多操作都是时间有界的。由于 非正常激励的入侵,导致任务操作无法结束,形成超时现象。解决措施:在程序设计中采用 超时管理办法,使程序从非正常激励造成的“死机”中退出。(2)超范围管理的容错设计系统中实际运行的参数都是有范围的。系统运行中要考虑的超范围管理参数有: 物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理 中的运行 参数和处理结束的结果参数。合理设定这些边界,将超出边界的

5、参数都视为非正常激励或非 正常响应进行出错处理。 资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如内存容量、存 储单元长度、堆栈深度。在程序设计中,对资源参数不允许超范围使用。 应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM 的擦写次数与资料存储时间等应用参数界限。 过程参数。指系统运行中的有序变化的参数。在上述参数群对一程序编写者而言,须养成良好习惯,在程序的开头,有序用对应列表出来,这 样在做程序的修改及维护时,才比较容易且不会出错.(3)有序化的容错设计有序化是程序正常运行的重要标志,是程序设计人员赋予的。有序化的容错设计是要保 证在众多的非正

6、常激励和出现非正常响应时,要最大限度地保证原来程序设计时给定的有序 的正常程序操作。程序失控的回复解决(1)程序失控后的快速冻结与回复 WDT(Watch Dog Timer)的失控回复。在程序失控后,程序在跳逸出正常路径,无 法对WDT清零,致使WDT溢出。溢出端输出信号使MCU复位。 指令的失控恢复。如HT48R10A-1中采用JMP 0000H的软件陷阱时,将输入陷阱的 失控程序强行跳转到复位入口 0000H处。(2)失控回复后的处理回复状态检测。回复是指程序失控后又转回到正常路径的起点,即复位入口地址。 程序失控回复后要进行回复状态检测,以判断是上电复位还是WDT复位或指令拉回。通 常

7、采用的检测方法是利用上电标志。有些单片机内没有上电标志,可利用上电复位时SRAM 的随机态与信号复位或程序拉回时,SRAM中资料不变的 特点来判别。系统上电后,在 SRAM区写入特殊上电标志数据。待回复后先检查上电标志是否存在,若存在即为WDT复 位或指令拉回。回复后的初始化处理。0000H是MCU的复位入口,程序启动后,首先判断是上电 复位(冷启动),还是程序失控回复(热启动)。上电复位是开机操作,要建立上电标志, 并进行系统的完全初始化。程序失控回复应进行相关资源的检查与修复,以防止运行出错。 另外根据系统的特点,需要保留一些过程资料。不得进行完全初始化时,只进行部分初始化。噪声干扰处理规

8、划当单片机的I/O在应用电路受其噪声干扰时,适当的软件处理措施可增加系统稳定性与可靠 度,提升产品对于噪声的免疫力.软件对策可如下处理:1. WDT的开启有内部12KHz的WDT RC振荡系统,故对IC受到干扰后产生程序失控后,其功能可使 MCU自动回复.另外因WDT是使用RC振荡系统,故其WDT溢出时间会飘移,所以在设置 WDT清除指令时,在WDT溢出时间的一半清除比较安全.2. Stack之规划在一般Stack之规划当中,至少要保留一层给其它中断使用,不能全部用光.3. 外部中断pin之使用一般外部中断pin会比较灵敏,故也比较会受噪声干扰,例如做市电220V50Hz的零点侦测,最好不要全

9、程监控,预估转态时,程序再去读取比较好.4. I/O Port的设定当I/O Port设定为Output时,比较容易受噪声干扰进去到IC里面,故设定为Input时,会比较好 的抵抗噪声干扰,但在Input时如果有Floating发生时,IC会比较耗电.另外I/O Port输出也是 用Register来存放及控制,所以应用在做Output的I/O Port其I/O Register须备份至少两份, 在程序执行流程中做查验工作,以防电路在做输出控制时受到噪声干扰而改变.5. 未使用到ROM的处理当在当程序失控后,程序跳出正常路径,无法预知会跳至何处,故在没有程序指令的空间, 须做一般处理,即加满N

10、OP指令,并在最后一行加入jmp 0000H或是全部填满jmp 0000H也行,可确保当程序执行乱跳时 有一回复路径.6. RAM的规划与处理软激活检查重新设定入口地址。程序失控回复后要进行回复状态检测,来判断是上电复 位还是WDT复位或指令拉回。通常采用的检测方法是利用上电标志。如果有些单片机内 没有上电标志,可利用上电复位时SRAM的随机态与信号复位或程序拉回时,SRAM中资 料不变的特点来判别。所以在系统上电后,在其SRAM区写入数个特殊参数。待回复后先 检查这些特殊参数是否存在及正确,若正确可判定为WDT复位或指令拉回。就不能进行完 全初始化时,只进行部分初始化。7. 各程序入口加注编

11、号在各程序段入口也可加注编号或特殊参数,来做程序运行当中,是否受到不正常干扰或破坏等 的自检工作.8. A C输出控制处理一般常用的AC输出控制组件有TRIAC及Relay,而这些须配合50Hz的零点侦测讯号来使用, 其TRIAC最好在50Hz的零点开启最好,而Relay因有机械特性,故其开启会有延迟动作,因此 使用Relay须参考组件商家提出开启延迟时间数据.9. 5种激活方式的处理流程a. Power Resetb. Normal operation WDT time out Resetc. Normal operation Resetd. Halt mode WDT time out R

12、esete. Halt mode Reset安保、自检与修复解决在高可靠性等级的单片机应用系统中,软件设计中应有安保、自检与自修复软件。(1)安保程序设计。安保设计要求有非正常响应时,对象的完全性保障和系统的可持续运行。为了能在系 统出现非正常响应时,立即获得安全保护,应设置关键部位的失控检测,如I/O口输出状 态实时检测;机器人轨迹检测等。检测到非正常响应后,应快速进入安保状态设置,首先使 系统进入安全态,然后保护系统的关键资源不受侵害,以保证系统具有后续运行的操作的 能力。(2)实际系统中的自检。在实际的单片机应用软件中,应充分利用其智能化特点,设置各种自检程序以提高其 可靠性与安全性。通常,应用系统中的自检程序有自诊断,失控后的回复检查和程序关键 处的查验。程序自诊断通常是开机后对系统的例行检查;失控回复后的检查重点是资料区, I/O状态,STATUS状态,外围电路的状态等。程序关键处的查验有界限检查、冗余性检 查与逻辑性检查。可靠性是一个综合性、经验性较强的问题,是单片机控制器能否成功应用的关键问题。 上述提高单片机应用系统可靠性的软件技术与方法应用于多项应用工程,使多项工程在高可 靠性硬件基础上,保障了最少的软件错误以及在软件出错后仍保证系统正常运行或安全运 行。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号