Programmable watchdog timer – Rainbow Electronics AT89LP216 User Manual
Page 57
57
3621A–MICRO–6/06
AT89LP216 [Preliminary]
20. Programmable Watchdog Timer
The programmable Watchdog Timer (WDT) protects the system from incorrect execution by trig-
gering a system reset when it times out after the software has failed to feed the timer prior to the
timer overflow. By Default the WDT counts CPU clock cycles. The prescaler bits, PS0, PS1 and
PS2 in SFR WDTCON are used to set the period of the Watchdog Timer from 16K to 2048K
clock cycles. The Timer Prescaler can also be used to lengthen the time-out period (see
) The WDT is disabled by Reset and during Power-down mode. When the WDT
times out without being serviced, an internal RST pulse is generated to reset the CPU. See
for the available WDT period selections.
Note:
1. The WDT time-out period is dependent on the system clock frequency.
The Watchdog Timer consists of a 14-bit timer with 7-bit programmable prescaler. Writing the
sequence 1EH/E1H to the WDTRST register enables the timer. When the WDT is enabled, the
WDTEN bit in WDTCON will be set to “1”. To prevent the WDT from generating a reset when if
overflows, the watchdog feed sequence must be written to WDTRST before the end of the time-
out period. To feed the watchdog, two write instructions must be sequentially executed success-
fully. Between the two write instructions, SFR reads are allowed, but writes are not allowed. The
instructions should move 1EH to the WDTRST register and then 1EH to the WDTRST register.
An incorrect feed or enable sequence will cause an immediate watchdog reset. The program
sequence to feed or enable the watchdog timer is as follows:
MOV WDTRST, #01Eh
MOV WDTRST, #0E1h
Table 20-1.
Watchdog Timer Time-out Period Selection
WDT Prescaler Bits
Period
(Clock Cycles)
PS2
PS1
PS0
0
0
0
16K
0
0
1
32K
0
1
0
64K
0
1
1
128K
1
0
0
256K
1
0
1
512K
1
1
0
1024K
1
1
1
2048K
Time-out Period
2
PS
14
+
(
)
Oscillator Frequency
-------------------------------------------------------
TPS
1
+
(
)
Ч
=