When the SM[2:0] bits are written to '010',
the SLEEP instruction makes the MCU enter the Power-Down mode. In this mode, the external
oscillator is stopped, while the external interrupts, the two-wire serial interface address
watch, and the Watchdog continue operating (if enabled).
Only one of these events can wake up the MCU:
- External Reset
- Watchdog System Reset
- Watchdog Interrupt
- Brown-out Reset
- Two-wire Serial Interface Address
Match
- External level Interrupt on INT
- Pin Change Interrupt
This sleep mode basically halts all generated clocks, allowing operation of
asynchronous modules only.
Note: If a level triggered interrupt is used
for wake-up from power-down, the required level must be held long enough for the MCU to
complete the wake-up to trigger the level interrupt. If the level disappears before the
end of the start-up time, the MCU will still wake up, but no interrupt will be
generated. The start-up time is defined by the SUT and CKSEL Fuses.
When waking up from the Power-Down mode,
there is a delay from the wake-up condition occurs until the wake-up becomes effective.
This allows the clock to restart and become stable after having been stopped. The wake-up
period is defined by the same CKSEL fuses that define the Reset time-out period.