PIC单片机之看门狗_看门狗定时器工作原理

PIC单片机之看门狗_看门狗定时器工作原理,第1张

看门狗定时器

看门狗定时器(WDT,WatchDogTImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

工作原理

使用时,WDT将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT超时会强制器件复位。为避免WDT超时复位,用户必须定期用PWRSAV或CLRWDT指令将看门狗定时器清零。如果WDT在休眠或空闲模式下超时,器件将唤醒并从PWRSAV指令执行处继续执行代码。在上述两种情况下,WDTO位(RCON《4》)都会置1,表示该器件复位或唤醒事件是由于WDT超时引起的。如果WDT将CPU从休眠或空闲模式唤醒,“休眠”状态位(RCON《3》)或“空闲”状态位(RCON《2》)也会置1,表示器件之前处于省电模式。

PIC单片机之看门狗_看门狗定时器工作原理,PIC单片机之看门狗,第2张

在正常 *** 作期间,一次WDT超时溢出将产生一次器件复位。当器件处于休眠状态时,一次WDT超时溢出将唤醒器件,使其继续正常 *** 作(即称作WDT唤醒)。对WDTE设置位清零可以永久性地关闭WDT。

后分频器分配完全是由软件控制,即它可在程序执行期间随时更改。

为避免发生不可预测的器件复位,当从TImer0预分频器的分配改为WDT后分频器的分配时,必须执行下列指令序列。即使WDT被禁止,也要执行这个指令序列。

PIC单片机之看门狗_看门狗定时器工作原理,PIC单片机之看门狗,第3张

PIC单片机之看门狗

PIC系列不同型号的单片机其,看门狗设置不同,下面是以PIC16F688单片机为例。

1.如果配置字中的WDTE=1那么后面的看门狗开关(WDT)不起作用,所以当我们程序中有休眠模式的时候我们的看门狗会一直溢出,但是溢出后是否复位,这要看单片机的具体类型了,PIC16F688在休眠唤醒后继续执行程序,不复位,但是其他的单片机看手册。如果我们程序中休眠的时候不需要看门狗,那么我们必须把看门狗关了,在唤醒的时候千万不要忘记打开看门狗。

2.单片机的一级分频是和TIME0互用的,同一时刻只能一方使用。

如果我们选用内部4M时钟且我们预分频给了定时器TIME0,那么我们的看门狗最长时间是0.262144s 那么我们采用定时器0喂狗,我们定时器0 中断的时间必须小于0.262144

否则我们就会复位

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

原文地址: http://outofmemory.cn/dianzi/2639366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存