beautypg.com

Power management and sleep modes, Sleep mode control register – smcr, Atmega169v/l – Rainbow Electronics Atmega169L User Manual

Page 32

background image

32

ATmega169V/L

2514A–AVR–08/02

Power Management
and Sleep Modes

Sleep modes enable the application to shut down unused modules in the MCU, thereby
saving power. The AVR provides various sleep modes allowing the user to tailor the
power consumption to the application’s requirements.

To enter any of the five sleep modes, the SE bit in SMCR must be written to logic one
and a SLEEP instruction must be executed. The SM2, SM1, and SM0 bits in the SMCR
Register select which sleep mode (Idle, ADC Noise Reduction, Power-down, Power-
save, or Standby) will be activated by the SLEEP instruction. See Table 14 for a sum-
mary. If an enabled interrupt occurs while the MCU is in a sleep mode, the MCU wakes
up. The MCU is then halted for four cycles in addition to the start-up time, executes the
interrupt routine, and resumes execution from the instruction following SLEEP. The con-
tents of the register file and SRAM are unaltered when the device wakes up from sleep.
If a reset occurs during sleep mode, the MCU wakes up and executes from the Reset
Vector.

Figure 11 on page 23 presents the different clock systems in the ATmega169, and their
distribution. The figure is helpful in selecting an appropriate sleep mode.

Sleep Mode Control Register –
SMCR

The Sleep Mode Control Register contains control bits for power management.

• Bits 3, 2, 1 – SM2..0: Sleep Mode Select Bits 2, 1, and 0

These bits select between the five available sleep modes as shown in Table 14.

Note:

1. Standby mode is only recommended for use with external crystals or resonators.

• Bit 1 – SE: Sleep Enable

The SE bit must be written to logic one to make the MCU enter the sleep mode when the
SLEEP instruction is executed. To avoid the MCU entering the sleep mode unless it is
the programmer’s purpose, it is recommended to write the Sleep Enable (SE) bit to one
just before the execution of the SLEEP instruction and to clear it immediately after wak-
ing up.

Bit

7

6

5

4

3

2

1

0

SM2

SM1

SM0

SE

SMCR

Read/Write

R

R

R

R

R/W

R/W

R/W

R/W

Initial Value

0

0

0

0

0

0

0

0

Table 14. Sleep Mode Select

SM2

SM1

SM0

Sleep Mode

0

0

0

Idle

0

0

1

ADC Noise Reduction

0

1

0

Power-down

0

1

1

Power-save

1

0

0

Reserved

1

0

1

Reserved

1

1

0

Standby

(1)

1

1

1

Reserved