HT46R064B/065B/066B
看门狗定时器
看门狗定时器的功能在于防止如电磁的干扰等外部不可控制事件,所造成的程序不正常动作或
跳转到未知的地址。
看门狗的使用
当 WDT 溢出时,会产生系统复位的动作。当 WDT 配置选项设置为除能,则任何相关的指令
操作都无效。通过配置选项和两个内部的寄存器 WDTS 和 CTRL1 可以设置不同的 WDT 选项。通
过配置选项和数据存储器中特殊功能寄存器 CTRL1 的 WDTEN 位,来使能看门狗定时器。
配置选项
除能
CTRL1 寄存器
WDT 功能
OFF
除能
使能
×
除能
ON
使能
ON
看门狗定时器开/关控制
如果 WDT 配置选项和 CTRL1 寄存器中 WDTEN3~WDTEN0 位被写入 1010B,看门狗定时器
将被关闭。此时 WDTEN 中的值为系统上电时的默认值。虽然向 CTRL1 的 WDTEN3~WDTEN0 位
写入其它的任何数字可开启看门狗定时器,但为了最大程度保护它,建议向这些位写入 0101B。
通过配置选项,看门狗定时器可以选择三种不同的时钟源:LXT,fSYS/4 或 LIRC。注意,选择
fSYS/4 时钟作为 WDT 的时钟源,当系统进入休眠模式时,指令时钟会停止且 WDT 将失去其保护功
能。对于干扰比较大的应用环境,推荐使用 LIRC 振荡器或者 LXT 作为 WDT 的时钟源。分频比由
WDTS 寄存器的第 0,1 和 2 位,即 WS0、WS1 和 WS2 位来决定。如果 WS0、WS1 和 WS2 都置 1,
分频比例为 1:128,即可提供最大溢出周期。
系统在正常运行状态下,WDT 溢出将导致芯片复位,并置位状态标志位 TO。但是在系统处于
休眠模式时,如果 WDT 发生溢出,系统将从休眠中唤醒,置位状态寄存器中的 TO,并且它只复位
RES
程序计数器 PC 和 SP。有三种方法可以用来清除 WDT 的内容,第一种是外部硬件复位(
引脚低
电平),第二种是通过软件指令,而第三种是通过“HALT”指令。使用软件指令有两种方法去清除
看门狗寄存器,需要由配置选项选择。第一种选择是使用单一“CLR WDT”指令,而第二种是使用
“CLR WDT1”和“CLR WDT2”两个指令。对于第一种选择,只要执行“CLR WDT”便清除 WDT。
而第二种选择,需要交替执行“CLR WDT1”和“CLR WDT2”两者才能成功的清除 WDT。关于第
二种选择,如果“CLR WDT1”正被使用来清除 WDT,接着再执行这条指令将是无效的,只有执
行“CLR WDT”指令才能清除 WDT。同样的“CLR WDT2”指令已经执行后,只有接着执行“CLR
WDT1“指令才可以清除看门狗定时器。
看门狗定时器
Rev 1.00
2011-04-13
28