第9节 单片机的应用系统开发技术.pptVIP

  • 5
  • 0
  • 约1.09万字
  • 约 59页
  • 2018-09-14 发布于湖北
  • 举报
9.1 单片机的开发系统及开发工具 9.2 单片机应用系统的设计原则与过程 9.3 单片机应用系统的抗干扰设计 9.4 单片机应用系统实例 * 3.程序“飞走”失控或进入死循环 系统受到干扰导致PC值改变后,PC值不是指向指令的首字节地址而可能指向指令中的中间字节单元即操作数,将操作数作为指令码执行;或使PC值超出程序区,将非程序区的随机数作为指令码运行,从而使程序失控“飞走”,或由于偶然巧合进入死循环。这里所说的死循环并非程序编制中出现的死循环错误,而是指正常运行时程序正确,只是因为干扰而产生的死循环。解决方法有: (1) 设置软件陷阱 (2) 设置“看门狗” (1) 设置软件陷阱 即在非程序区安排指令强迫复位。如用LJMP 0000H的机器码填满非程序区。这样不论PC失控后飞到非程序区的哪个字节,都能复位。也可在程序区每隔一段(如几十条指令)连续安排三条NOP指令。因为8051指令字节最长为三字节。当程序失控时,只要不跳转,指令连续执行,就会运行NOP指令,就能使程序恢复正常。 (2) 设置“看门狗” 设置软件陷阱能解决一部分程序失控问题,但当程序失控“飞走”进入某种死循环时,软件陷阱可能不起作用。使程序从死循环中恢复到正常状态的有效方法是设置时间监视器,时间监视器又称“看门狗”。 * 时间监视器有两种

文档评论(0)

1亿VIP精品文档

相关文档