SN8P2604
8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 52
Version 1.1
5.2 SYSTEM MODE SWITCHING
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.
B0MOV
Z, #54
; If VDD = 5V, internal RC=32KHz (typical) will delay
@@:
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 T0 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.