
ML51/ML54/ML56
Sep. 01, 2020
Page
302
of 719
Rev 2.00
ML
51
/ML
54
/ML
5
6 S
E
RI
E
S
TECHNI
CA
L
RE
F
E
R
E
NC
E
M
A
NU
A
L
ML51/M
L54
/M
L56
Series
Tec
hnical Reference
Manual
PCON
– Power Control
Register
SFR Address
Reset Value
PCON
87H, All pages
POR: 0001_0000b
Others: 000U _0000b
7
6
5
4
3
2
1
0
SMOD
SMOD0
LPR
POF
GF1
GF0
PD
IDL
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address: 87H, All pagess
POR reset value: 0001 000b, other reset value: 000U 0000b
Bit
Name
Description
[5]
LPR
Low Power Run Mode
0 = disable
1 = enable
Note:
If PD = 1 and LPR = 1 at the same time, LPR is invalid, CPU will enter Power-down
mode.
[1]
PD
Power-Down Mode
Setting this bit puts CPU into Power-down mode. Under this mode, both CPU and peripheral
clocks stop and Program Counter (PC) suspends. It provides the lowest power consumption.
After CPU is woken up from Power-down, this bit will be automatically cleared via hardware
and the program continue executing the interrupt service routine (ISR) of the very interrupt
source that woke the system up before. After return from the ISR, the device continues
execution at the instruction, which follows the instruction that put the system into Power-down
mode.
Note that If IDL bit and PD bit are set simultaneously, CPU will enter Power-down mode. Then
it does not go to Idle mode after exiting Power-down.
[0]
IDL
Idle Mode
Setting this bit puts CPU into Idle mode. Under this mode, Program Counter (PC) suspends but
the CPU clock keep running and all peripherals keep activated. After CPU is woken up from
Idle, this bit will be automatically cleared via hardware and the program continue executing the
ISR of the very interrupt source that woke the system up before. After return from the ISR, the
device continues execution at the instruction which follows the instruction that put the system
into Idle mode.
Idle Mode
6.2.2.1
Idle mode suspends CPU processing by holding the Program Counter. No program code are fetched
and run in Idle mode. It forces the CPU state to be frozen. The Program Counter (PC), Stack Pointer
(SP), Program Status Word (PSW), Accumulator (ACC), and the other registers hold their contents
during Idle mode. The port pins hold the logical states they had at the time Idle was activated.
Generally, it saves considerable power of typical half of the full operating power.
Since the clock provided for peripheral function logic circuit like timer or serial port still remain in Idle
mode, the CPU can be released from the Idle mode with any of enabled interrupt sources. User can
put the device into Idle mode by writing 1 to the bit IDL (PCON.0). The instruction that sets the IDL bit
is the last instruction that will be executed before the device enters Idle mode.
The Idle mode can be terminated in two ways. First, as mentioned, any enabled interrupt will cause an
exit. It will automatically clear the IDL bit, terminate Idle mode, and the interrupt service routine (ISR)
will be executed. After using the RETI instruction to jump out of the ISR, execution of the program will
be the one following the instruction, which put the CPU into Idle mode. The second way to terminate
Idle mode is with any reset other than software reset. Remember that if Watchdog reset is used to exit
Idle mode, the WIDPD (WDCON.4) needs to be set 1 to let WDT keep running in Idle mode.