看门狗定时器WDT

在工业使用现场,往往会由于供电电源、空间电磁干扰或其他原因引起强烈的干扰噪声,这些干扰作用于数字元器件时,极易容易使其产生误动作,引起单片机发生“程序飞跑”或陷入死循环事故,使仪器“死机”。

为了检测程序状态,采用程序监视技术,即看门狗技术,使得程序可以脱离死循环状态。

在正常操作期间,一次看门狗定时器(WDT)定时时间到,将产生一次器件复位,如果通过编写程序使WDT定时时间稍大于程序执行一个周期所用的时间,并且在程序执行过程中有对WDT清零的指令(喂狗),使计数器重新计数,则程序正常运行时,就会在WDT定时时间到之前对WDT清零,不会产生WDT的溢出。如果由于干扰信号使程序跑飞,则不会在WDT定时时间到之前执行WDT清零指令,WDT就会产生溢出,从而产生系统复位,单片机需要重新开始运行程序,这样程序就可以又回到正常的工作状态。

看门狗定时器也可做为内部定时器使用。


WDT定时器:

(1)WDTCNT  :16位增计数器;

(2)WDTCTL  :控制寄存器

   WDTPW(15-8)--------看门狗定时器访问口令:读取时总为 69H,写时应该为5AH;

   WDTHOLD(7)---------看门狗暂停位:0时,正常工作;1时暂停;

   WDTNMIES(6)--------NMI边沿选择位:WDTNMI为1时选择NMI中断沿,0时,上升沿触发NMI中断;1时,下降沿触发NMI中断;

   WDTNMI(5)----------RST/NMI引脚功能选择位:0时,为复位RST引脚;1时,为NMI中断输入引脚;

   WDTTMSEL(4)--------工作模式选择位:0时,看门狗模式;1时,定时器模式;

   WDTCNTCL(3)--------计数器清零控制位:0时,无作用;1时,计数器WDTCNT清零;

   WDTSSEL(2)---------计数器时钟源选择位:0时,SMCLK;1时,ACLK;

   WDTISx(1、0)-------定时间隔选择位:

         0时,时间间隔=32768/看门狗时钟源频率

         1时,时间间隔=8192/看门狗时钟源频率

         2时,时间间隔=512/看门狗时钟源频率

         3时,时间间隔=64/看门狗时钟源频率        (单位:秒)

http://blog.sina.com.cn/s/blog_561511df0100filr.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值