软件狗定时器是一个独立运行的可编程定时器,它的输入端由时钟频率经预分频后得到。
看门狗定时器控制寄存器
位: |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
名称 |
ENW |
CLRW |
WIDL |
- |
- |
PS2 |
PS1 |
PS0 |
内存: WDTC 地址: 8FH
ENW : 设置为1则允许软件狗运行。
CLRW : 清除位。
WIDL : 如果这位被设置,软件狗定时器在IDLE模式下被允许,否则在IDLE模式下不工作。缺省是清零。
PS2, PS1, PS0 : 看门狗定时器预分频选择。下表是预选的情况:
PS2 |
PS1 |
PS0 |
PRESCALER SELECT |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
4 |
0 |
0 |
1 |
8 |
0 |
1 |
1 |
16 |
1 |
0 |
0 |
32 |
1 |
0 |
1 |
64 |
1 |
1 |
0 |
128 |
1 |
1 |
1 |
256 |
溢出时间由下式计算:

在定时时间到达之前,程序必须通过向WDTC.6(CLRW)写入1来清除这个14位的定时器
当1写入这位后,这个14位的计数器,预分频及这位本身将在下一个周期被复位。
看门狗方框图:
典型的看门狗定时器溢出时间(OSC = 20 MHz)
PS2 |
PS1 |
PS0 |
WATCHDOG TIME-OUTPERIOD |
0 |
0 |
0 |
19.66 mS |
0 |
1 |
0 |
39.32 mS |
0 |
0 |
1 |
78.64 mS |
0 |
1 |
1 |
157.28 mS |
1 |
0 |
0 |
314.57 mS |
1 |
0 |
1 |
629.14 mS |
1 |
1 |
0 |
1.25 S |
1 |
1 |
1 |
2.50 S | |