51单片机设置看门狗电路,是为了在51单片机电路死机或程序跑飞的情况下对51单片机进行强制复位,从而重新开始正常运行。
原理:在51单片机正常工作时是不需要频繁复位的,这会干扰51单片机的正常工作。
在程序中设置喂狗间隔时间,就是为了及时对计时器进行清零,以避免不必要的复位操作。
当死机或程序跑飞的状态出现时,程序就运行不到计时器的清零操作,这种情况下看门狗电路才会产生复位信号输出,使51单片机从初始化开始重新运行,脱离死机或程序跑飞状态。
有两种触发方式:低电平触发和下降沿触发。
低电平触发:当检测到外部引脚为低电平触发中断的为低电平触发。
下降沿触发:当检测到外部引脚由高电平变以低电平的瞬间时触发中断的为下降沿触发。
注意:选择低电平触发中断后,要撤去低电平信号,否则单片机不断检测引脚为低电平就会不断发生中断。
而下降沿则不会。
单片机复位有两种方式:硬件复位与软件复位。
硬件复位及注意事项:硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。
上电之所以要复位是因为在接通电源的一瞬间,给单片机的电压是不稳定的,电压不稳定就会导致程序跑飞,从而出现意想不到的情况。
而常用的是阻容复位,当上电的时候,电源经电阻向电容充电,电容看作短路,所以复位管教为低电平,使得单片机在这段时间内不停的复位。
当电源稳定后,电容已经充电完成,相当于开路,复位管教为高电平,单片机正常运行程序。
软件复位及注意事项:软件复位就是利用单片机内部的看门狗来防止程序跑飞,看门狗就是个定时器,每个机器周期,它就加一,当它记满时,就会让单片机复位。
所以要要定时重装看门狗。
正常情况下,不能让他溢出。
这俗称喂狗。
当单片机受到外界的干扰,使得程序跑飞,跑出大循环的时候,由于无法执行喂狗的动作,单片机就会复位,从而不会出现单片机死机的情况。