Power Management And Sleep Modes; Mcu Control Register - Mcucr - Atmel ATtiny25 Manual

Microcontroller with 2/4/8k bytes in-system programmable flash
Table of Contents

Advertisement

7. Power Management and Sleep Modes

7.1
MCU Control Register – MCUCR
7598H–AVR–07/09
The high performance and industry leading code efficiency makes the AVR microcontrollers an
ideal choise for low power applications.
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 consump-
tion to the application's requirements.
To enter any of the three sleep modes, the SE bit in MCUCR must be written to logic one and a
SLEEP instruction must be executed. The SM1..0 bits in the MCUCR Register select which
sleep mode (Idle, ADC Noise Reduction, or Power-down) will be activated by the SLEEP instruc-
tion. See
Table 7-1
for a summary. 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
contents 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 6-1 on page 21
presents the different clock systems in the ATtiny25/45/85, and their dis-
tribution. The figure is helpful in selecting an appropriate sleep mode.
The MCU Control Register contains control bits for power management.
Bit
7
BODS
Read/Write
R/W
Initial Value
0
• Bit 7 – BODS: BOD Sleep
BOD disable functionality is available in some devices, only. See
In order to disable BOD during sleep (see
logic one. This is controlled by a timed sequence and the enable bit, BODSE in MCUCR.
First,both BODS and BODSE must be set to one. Second, within four clock cycles, BODS must
be set to one and BODSE must be set to zero. The BODS bit is active three clock cycles after it
is set. A sleep instruction must be executed while BODS is active in order to turn off the BOD for
the actual sleep mode. The BODS bit is automatically cleared after three clock cycles.
In devices where Sleeping BOD has not been implemented this bit is unused and will always
read zero.
• Bit 5 – 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 waking up.
• Bits 4, 3 – SM1..0: Sleep Mode Select Bits 2..0
These bits select between the three available sleep modes as shown in
6
5
4
PUD
SE
SM1
R/W
R/W
R/W
0
0
0
Table 7-2 on page
ATtiny25/45/85
3
2
1
SM0
BODSE
ISC01
R/W
R/W
R/W
0
0
0
"Limitations" on page
33) the BODS bit must be written to
Table
0
ISC00
MCUCR
R/W
0
33.
7-1.
31

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Attiny45Attiny85

Table of Contents