SM39R16A6
内嵌 16KB
具有 ISP 功能的 Flash
和 1K+256BRAM 的 8 位控制器
10.
看门狗定时器
看门狗定时器是一个8位的计数器并会在计数器溢出时产生复位讯号.WDT在噪音.电源干扰,或断电等导致软件死循环或跑
飞程序等情况下非常有用.WDT功能可以帮助拥护的软件从不正常的软件状态中恢复正常.WDT不同于通用的8052的计时
器0,1,2.为了防止WDT复位,可以通过软件定时清除WDT计数器.当不可预料的复位发生时,用户应该检查WDTC寄存器的
WDTF位. 在一外部复位后,该看门狗定时器将无效且所有寄存器都清零。
看门狗定时器是一个自由运行的片上RC振荡器 (约23 KHz). WDT将保持运行就算是系统时钟被关闭(例如,在睡眠状态).
在正常的运行或睡眠状态,一个WDT超时(如使能)将导致MCU复位.WDT在正常状态下可随时被使能或失效.请注意WDTC
寄存器的WDTE位.默认的WDT超时时间为接近178.0ms (WDTM [3:0] = 0100b).
WDT有可选择的分频.要选择分频,需要正确设置看门控制寄存器(WDTC)的位3~位0(WDTM [3:0])
23KHz
WDTCLK
2WDTM
256
Watchdog reset time =
WDTCLK
表 10‑ 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
注: RC 振荡器(23 KHz),大约有 ± 20 %误差
当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位计数器内容并让计数器重启. 看门狗定时器必须定时刷新以防来自可变的重置复位请求信号.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M04
Ver 0.4 SM39R16A6 06/11/2013
- 56 -