看门狗定时器WDT

来源:互联网 发布:四维彩超数据判断性别 编辑:程序博客网 时间:2024/05/03 09:20

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

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

在正常操作期间,一次看门狗定时器(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


0 0