8XC251SA, SB, SP, SQ USER’S MANUAL
8-18
8.7.2 Using the WDT
To use the WDT to recover from software malfunctions, the user program should control the
WDT as follows:
1. Following device reset, write the two-byte sequence 1EH-E1H to the WDTRST register to
enable the WDT. The WDT begins counting from 0.
2. Repeatedly for the duration of program execution, write the two-byte sequence 1EH-E1H
to the WDTRST register to clear and enable the WDT before it overflows. The WDT
starts over at 0.
If the WDT overflows, it initiates a device reset (see section 11.4, “Reset”). Device reset clears
the WDT and disables it.
8.7.3 WDT During Idle Mode
Operation of the WDT during the power reduction modes deserves special attention. The WDT
continues to count while the microcontroller is in idle mode. This means the user must service the
WDT during idle. One approach is to use a peripheral timer to generate an interrupt request when
the timer overflows. The interrupt service routine then clears the WDT, reloads the peripheral
timer for the next service period, and puts the microcontroller back into idle.
8.7.4 WDT During PowerDown
The powerdown mode stops all phase clocks. This causes the WDT to stop counting and to hold
its count. The WDT resumes counting from where it left off if the powerdown mode is terminated
by INT0/INT1. To ensure that the WDT does not overflow shortly after exiting the powerdown
mode, clear the WDT just before entering powerdown. The WDT is cleared and disabled if the
powerdown mode is terminated by a reset.