单片机程序跑飞的疑问

单片机程序跑飞的疑问,第1张

所谓程序跑飞就隐槐是PC指针没有按照预定的程序变更,可能PC指针指向一个不确定的或者根本就没有存放用户代码的拍携手程序存贮空间,造成PC指针根本无法恢复到用户代码空间之内,程序跑飞,当发生中断时,中断服务程序代码袭嫌仍然可以被执行。

可采用看门狗定时器。

工作原理如下:“看门狗”技术就是使用一个“看门狗”定时器来对系统时钟不断计数,监视程序的运行。当看门狗定时昌灶器启动运行后,为防止看门狗定时器的不必要溢出而引起单片机的非正常的复位,应定期地把看门狗定时器清0,以保证看门狗定时器不溢出。当由于干扰,使单片机程序“跑飞”或陷入“死循环”时,单片机也就不能正常运行程序来定时地把看门狗定时器清0,当看门狗定时器计满溢出时,将在AT89S52的RST引脚上输出一个正脉冲(宽度为98个时钟周期),使单片耐羡扮机复位,在系统的复位入口0000H处重新开始派迅执行主程序,从而使程序摆脱“跑飞”或“死循环”状态,让单片机归复于正常的工作状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12565555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存