SN8P2200 Series
USB 1.1 Low-Speed 8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 55
Version 1.7
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 10mS for
external clock stable.
B0BCLR
FSTPHX
; Turn on the external high-speed oscillator.
MOV
A, #27
; If VDD = 5V, internal RC=32KHz (typical) will delay
B0MOV
Z,
A
@@:
DECMS
Z
; 0.125ms X 81 = 10.125ms 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.