SN8P2977
8-Bit Micro-Controller with Regulator, PGIA, 24-bit ADC
SONiX TECHNOLOGY CO., LTD
Page 52
Version 1.7
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 IHRC oscillator is still running)
B0BCLR
FCLKMD
;To set CLKMD = 0
Example: Switch slow mode to normal mode (The IHRC oscillator stops)
If internal 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 IHRC oscillator.
B0MOV
Z, #54
; If VDD = 3.2V, ILRC =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, the wakeup pin P0 can wakeup the
system backs to the previous operation mode.