SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
5.2 系统模式切换
¾
例:系统由普通/低速模式切换到睡眠模式。
B0BSET
FCPUM0
; CPUM0 = 1。
¾
注:系统进入睡眠模式后,只有具有唤醒功能的引脚和复位引脚能够将系统唤醒并回到普通模式中。
¾
¾
例:系统由普通模式转换到低速模式。
B0BSET
B0BSET
FCLKMD
FSTPHX
; 外部高速振荡器停振。
¾
¾
例:低速模式转换到普通模式(外部高速振荡器始终处于工作状态)。
B0BCLR
FCLKMD
例:系统由低速模式转换到普通模式(外部高速振荡器停止工作)。
在外部高速时钟停振的情况下,系统回到普通模式时至少需要延迟20ms 以稳定振荡器。
B0BCLR
FSTPHX
; 启动外部振荡器。
B0MOV
DECMS
JMP
Z, #54
Z
@B
; 若VDD=5V、内部RC=32KHz,系统延迟0.125msX162 = 20.25ms。
@@:
B0BCLR
FCLKMD
; 系统回到普通模式。
¾
例:系统由普通模式/低速模式进入绿色模式。
B0BSET
FCPUM1
注:绿色模式下如果禁止T0 的唤醒功能,则只有具有唤醒功能的引脚和复位引脚可以将系统唤醒(具有唤醒功能的引脚将系统返
回到上一个工作模式,复位引脚将系统返回到普通模式)。
¾
例:系统由普通/低速模式进入绿色模式,并使能T0 唤醒功能。
; 设置T0 定时器的唤醒功能。
B0BCLR
B0BCLR
MOV
B0MOV
MOV
FT0IEN
FT0ENB
A,#20H
T0M,A
A,#64H
T0C,A
; 禁止T0 中断。
; 关闭T0 定时器。
;
; T0 时钟=Fcpu / 64。
B0MOV
; T0C 初始值= 64H(T0 中断间隔= 10 ms)。
B0BCLR
B0BCLR
B0BSET
FT0IEN
FT0IRQ
FT0ENB
; 禁止T0 中断。
; T0 中断请求寄存器清零。
; 开启T0。
; 进入绿色模式。
B0BCLR
FCPUM0
FCPUM1
B0BSET
注:绿色模式下如果使能T0 的唤醒功能,则具有唤醒功能的引脚、复位引脚和T0 都能够将系统唤醒。T0 的唤醒周期可编程控
制,请注意对T0ENB 的设置。
SONiX TECHNOLOGY CO., LTD
Page 50
Version 1.1