
看门狗的作用是:当程序在某种意外情况下跑飞了,这时就没办法去”喂狗“,一旦持续某个门槛时间(比如20ms)还没有”喂狗“,那么看门狗就把单片机复位。
喂狗信号就是在上面说的20ms之内,去清WDT定时器。
开机时,如果按下了 K1,即可启动T0。T0定时中断,即可自动喂狗,程序即可正常执行while中的内容。
其中就有:
LED2=1DelayMs(100)
LED2=0DelayMs(100)
即:LED2就闪烁。
按下 K2,就关闭了 T0,停止了喂狗。
单片机系统,16ms 后,自动复位。
复位后,如果没有按下 K1,不能自动喂狗,就会频繁的自动复位。
频繁的复位,总是执行开始处的:
LED1=0 DelayMs(100)
LED1=1 DelayMs(100)
所以,就是按key2 LED1闪烁。
应用于看门狗电路,现在很多5152系列都集成了看门狗电路,看门狗是为了防止程序执行到不可预料的情况,所以先给watch dog reg 赋予一定初值,在一定时间内它会自动减1,当减为0时系统将会自动复位,所以程序必须在一定时间重新设置watch dog reg 使其不会自动复位(即喂狗),表示程序运行正常。一般51 data sheet 里都有相关介绍。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)