SN8P2711A
8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 57
Version 0.1
5.2 SYSTEM MODE SWITCHING EXAMPLE
¾
Example: Switch normal/slow mode to power down (sleep) mode.
B0BSET
FCPUM0
; Set CPUM0 = 1.
Note: During the sleep, only the wakeup pin and reset can wakeup the system back to the normal mode.
¾
Example: Switch normal mode to slow mode.
B0BSET
FCLKMD
;To set CLKMD = 1, Change the system into slow mode
B0BSET
FSTPHX
;To stop external high-speed oscillator for power saving.
¾
Example: Switch slow mode to normal mode (The external high-speed oscillator is still running).
B0BCLR
FCLKMD
;To set CLKMD = 0
¾
Example: Switch slow mode to normal mode (The external high-speed oscillator stops).
If external high clock stop and program want to switch back normal mode. It is necessary to delay at least 20mS for
external clock stable.
B0BCLR
FSTPHX
; Turn on the external high-speed oscillator.
MOV
A, #54
; If VDD = 5V, internal RC=32KHz (typical) will delay
B0MOV
Z,
A
@@:
DECMS
Z
; 0.125ms X 162 = 20.25ms for external clock stable
JMP
@B
B0BCLR
FCLKMD
; Change the system back to the normal mode
¾
Example: Switch normal/slow mode to green mode.
B0BSET
FCPUM1
; Set CPUM1 = 1.
Note: If TC0 timer wakeup function is disabled in the green mode, only the wakeup pin and reset pin can
wakeup the system backs to the previous operation mode.