SM39R16A3
内嵌 16KB
具有 ISP 功能的 Flash
和 512B RAM 的 8 位控制器
9.
看门狗定时器
看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号.WDT在噪音.电源干扰,或断电等导致软件死循环或跑
飞程序等情况下非常有用.WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常.WDT不同于通用的8052的计时
器0,1,2.为了防止WDT复位,可以通过软件定时清除WDT计数器.当不可预料的复位发生时,用户应该检查WDTC寄存器的
WDTF位. 在一外部复位后,该看门狗定时器将无效且所有寄存器都清零。
看门狗定时器是一个自由运行的片上RC振荡器 (约23 KHz). WDT将保持运行就算是系统时钟被关闭(例如,在睡眠状态).
在正常的运行或睡眠状态,一个WDT超时(如使能)将导致MCU复位.WDT在正常状态下可随时被使能或失效.请注意WDTC
寄存器的WDTE位.默认的WDT超时时间为接近178.0m s (WDTM [3:0] = 0100b).
WDT有可选择的分频.要选择分频,需要正确设置看门控制寄存器(WDTC)的位3~位0(WDTM [3:0])
23KHz
WDTCLK
2WDTM
256
Watchdog reset time =
WDTCLK
表 9-1: WDT 超时时间
Divider
(23 KHz RC oscillator in)
WDTM [3:0]
Time period @ 23KHz
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1
2
4
8
16
11.1ms
22.2ms
44.5ms
89.0ms
178.0ms (default)
356.1ms
712.3ms
1.4246s
32
64
128
256
512
1024
2048
4096
8192
16384
32768
2.8493s
5.6987s
11.397s
22.795s
45.590s
91.180s
182.36s
364.72s
当MCU复位,MCU将会读WDTEN控制位状态.当WDTEN位被设置为1,参考以下
无论WDTE位状态如何,看门狗功
能将会失效.当WDTEN位被清0,在WDTE位被通过变成设为1的情况下,看门狗功能将被使能.用户可通过烧路器或ISP设置
WDTEN.
对WDTE位写入1同时WDTEN控制位清0,能使WDT功能使能.在WDTE设为1后.8位的计数器用通过WDTM[3:0]设置好的
分频进行计数.它在溢出时将会产生复位讯号.WDTE位在MCU重启时将被自动清0,同时硬件复位或WDT复位.
看门狗一旦开始工作将无法停止.当WDTK寄存器用户可通过对看门狗定时器重置密钥(WDTK)写入55h实现WDT计时器
清0.这将会清除8位计数器内容并让计数器重启. 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号.
当看门狗定时器溢出时, WDTF标志位将被置1并自动重置复位MCU.该标志位可被软件或外部复位清除.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M066
Ver C SM39R16A3 04/20/2013
- 44 -