Atmega8515(l) – Rainbow Electronics ATmega8515L User Manual
Page 49
49
ATmega8515(L)
2512A–AVR–04/02
1.
In the same operation, write a logic one to WDCE and WDE. A logic one must be
written to WDE even though it is set to one before the disable operation starts.
2.
Within the next four clock cycles, write a logic 0 to WDE. This disables the
Watchdog.
In safety level 2, it is not possible to disable the Watchdog Timer, even with the algo-
rithm described above. See “Timed Sequences for Changing the Configuration of the
Watchdog Timer” on page 50.
• Bits 2..0 – WDP2, WDP1, WDP0: Watchdog Timer Prescaler 2, 1, and 0
The WDP2, WDP1, and WDP0 bits determine the Watchdog Timer prescaling when the
Watchdog Timer is enabled. The different prescaling values and their corresponding
Timeout Periods are shown in Table 21.
The following code example shows one assembly and one C function for turning off the
WDT. The example assumes that interrupts are controlled (e.g., by disabling interrupts
globally) so that no interrupts will occur during execution of these functions.
Table 21. Watchdog Timer Prescale Select
WDP2
WDP1
WDP0
Number of WDT
Oscillator Cycles
Typical Time-out
at V
CC
= 3.0V
Typical Time-out
at V
CC
= 5.0V
0
0
0
16K (16,384)
17.1 ms
16.3 ms
0
0
1
32K (32,768)
34.3 ms
32.5 ms
0
1
0
64K (65,536)
68.5 ms
65 ms
0
1
1
128K (131,072)
0.14 s
0.13 s
1
0
0
256K (262,144)
0.27 s
0.26 s
1
0
1
512K (524,288)
0.55 s
0.52 s
1
1
0
1,024K (1,048,576)
1.1 s
1.0 s
1
1
1
2,048K (2,097,152)
2.2 s
2.1 s
Assembly Code Example
WDT_off:
; Write logical one to WDCE and WDE
ldi
r16, (1< out WDTCR, r16 ; Turn off WDT ldi r16, (0< out WDTCR, r16 ret C Code Example void WDT_off(void) { /* Write logical one to WDCE and WDE */ WDTCR = (1< /* Turn off WDT */ WDTCR = 0x00; }