1-16看门狗复位
看门狗定时器(WDT)是防止MCU程序跑飞的重要机制,当系统未按时喂狗时会强制复位。实验通过LED闪烁测试WDT功能,发现由于未及时喂狗导致闪烁间隔不均匀。改进方案采用定时器0实现1.5秒定时喂狗,确保系统稳定运行。实验包含硬件接线和程序代码实现,部分代码参考STC官网并进行了适应性修改。
·
基础知识
如果 MCU/CPU 不在规定的时间内按要求访问看门狗,就认为 MCU/CPU 处于异常状态,看门狗就会强制 MCU/CPU 复位,使系统重新从头开始执行用户程序。看门狗的作用主要是为了防止“系统在异常情况下,受到干扰,MCU/CPU 程序跑飞,导致系统长时间异常工作”。
实验说明
测试看门狗的复位功能,将P2的LED的每各2000ms亮一次,每各2000ms灭一次,然后喂狗。
现象:发现LED亮灯闪烁时间并不均匀,是因为没有及时喂狗,导致单片机复位。
修改:使用定时器0,1.5s定时喂狗。
接线图

编写程序
代码说明:部分代码借鉴STC官网,根据实验改动,由于代码过只展示部分代码,完整代码可下载。
触发看门狗复位代码:

修改代码:


更多推荐



所有评论(0)