看门狗不起作用

时间:2013-08-08 16:42 | 来源:金桥电子网 | 点击: 次 [去老版] [去论坛] [去网店]

核心提示:


   通常,在单片机的工作现场,可能有各种干扰源。这些干扰源可能导致程序跑飞、造成程序不能正常运行甚至死机。如果不及时恢复或使系统复位,就可能造成损失。看门狗电路的作用就是在程序跑飞或者死机时,能有效地使系统复位以使系统恢复正常运行。
 

  笔者在设计制作的软连接绕箔条厚度检控仪时曾碰到过这个问题:一有串口通信发送数据时,单片机就死机了。该检控仪的电路结构如图3所示,按理说电路中外接有专用的看门狗电路X5045,单片机一死机就会被看门狗复位重新启动的,单片机怎么一死机就“死”了呢?

  用仿真运行很快就找到了引起单片机P89C54X2死机的原因——由于在串行口中断服务程序里有一条ANLSCON,#OFCH指令,也就是有个“清零”串行口发送中断请求标志TI的操作指令,致使发送程序中JNB TI,S判断程序跳不出去而造成“死锁”。

  原来,起初在用仿真器调试程序时对某些程序段作了“单步运行”的调试。顾名思义,“单步运行”就是一步一步地进行运行,自然,每步之间的运行都会有长短不一的时间间隔,这样如果打开“看门狗”,其定时器势必溢出,导致单片机常被复位初始化,为此在执行“单步运行”操作时就得关闭“看门狗”的作用,后来一直忘记了重新启用“看门狗”,以至出现上述问题。只要再改写X5045的状态寄存器的相关状态字就可激活启用看门狗了。

443093>
上一篇:单片机“启动”不了

下一篇:系统为SIMENS 802S的调整车床,在加工中出现后置刀

返回金桥电子网首页

(责任编辑:JQDZW)
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片