Legacy-Free Keyboard/Embedded Controller with SPI and LPC Docking Interface
8051 in Idle mode,
8051 clock running.
No
Unmasked
Note: In order to leave idle
8051 IRQ ?
mode the 8051 must receive
(Note)
an interrupt, typically a
software timer interrupt will
be used.
yes
8051 leaves Idle mode, executes IRQ service
routine code and executes an IRET when done.
8051 leaves Idle mode, executes IRQ service
routine code and executes an IRET when done.
Figure 12.2 Exiting Idle Mode Due to IRQ
12.1.1 Exiting Idle Mode
There are two ways to terminate Idle mode. First, activation of any enabled interrupt will cause the
PCON.0 bit to be cleared by hardware. The interrupt will be serviced and, following the RETI, the CPU
will resume operation by executing the instruction following the one that put the CPU into Idle mode.
The second way to terminate the idle mode is with a VCC1 POR. Note that a VCC1 POR will clear the
registers. The CPU will not resume program execution from where it left off.
12.2
Sleep Mode
When the CPU enters sleep mode, all internal clocks, including the core clocks, are turned off. If an
external crystal is used, the internal oscillator is turned off. RAM contents are preserved. Sleep mode
is initiated by a user defined 8051 command sequence.
Sleep Mode Sequence - To enter sleep mode, the 8051:
1. Turns on the ring oscillator (KSTP_CLK[4] = 1)
2. Switches the clock source (KSTP_CLK[5] = 0)
3. Turns off the clock chip (or the whole system power, VCC2)
4. Masks all interrupts except for INT5_h
5. Sets SLEEPFLAG = 1
6. Sets PCON.0 = 1
Revision 1.1 (01-14-03)
138
SMSC LPC47N350
DATASHEET