軟件狗定時器是一個獨立運行的可編程定時器,它的輸入端由時鐘頻率經預分頻后得到。
看門狗定時器控制寄存器
位: |
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 | |