SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
8.3.7 TC0 操作流程
TC0 定时器可用于定时器中断、事件计数、TC0OUT 和PWM。下面分别举例说明。
停止TC0 计数,禁止TC0 中断,并清TC0 中断请求标志。
)
B0BCLR
B0BCLR
B0BCLR
FTC0ENB
FTC0IEN
FTC0IRQ
; 停止TC0 计数、TC0OUT 和PWM。
; 禁止TC0 中断。
; 清TC0 中断请求标志。
)
)
设置TC0 的速率 (不包含事件计数模式)。
MOV
A, #0xxx0000b
; TC0M 的bit4~bit6 控制TC0 的速率为x000xxxxb~x111xxxxb。
; 禁止TC0 中断。
B0MOV
TC0M,A
设置TC0 的时钟源。
; 选择TC0 内部/外部时钟源。
B0BCLR
FTC0CKS
FTC0CKS
; 内部时钟。
; 外部时钟。
或
B0BSET
;选择TC0 Fcpu/Fosc 内部时钟源。
B0BCLR
FTC0X8
FTC0X8
; Fcpu 内部时钟。
; Fosc 内部时钟。
或
B0BSET
注:在TC0 外部时钟模式下,TC0X8 可以忽略不计。
)
设置TC0 的自动装载模式。
B0BCLR
B0BSET
FALOAD0
FALOAD0
; 禁止TC0 自动装载功能。
; 使能TC0 自动装载功能。
或
)
设置TC0 中断间隔时间,TC0OUT(Buzzer)频率或PWM 占空比。
; 设置TC0 中断间隔时间,TC0OUT(Buzzer)频率或PWM 占空比。
MOV
B0MOV
B0MOV
A,#7FH
TC0C,A
TC0R,A
; TC0 的模式决定TC0C 和TC0R 的值。
; 设置TC0C 的值。
; 在自动装载模式或PWM 模式下设置TC0R 的值。
; PWM 模式下设置PWM 的周期。
B0BCLR
B0BCLR
FALOAD0
FTC0OUT
; ALOAD0,TC0OUT = 00,PWM 周期 = 0~255。
; ALOAD0,TC0OUT = 01,PWM 周期 = 0~63。
; ALOAD0,TC0OUT = 10,PWM 周期 = 0~31。
; ALOAD0,TC0OUT = 11,PWM 周期 = 0~15。
或
B0BCLR
B0BSET
或
B0BSET
B0BCLR
或
FALOAD0
FTC0OUT
FALOAD0
FTC0OUT
B0BSET
B0BSET
FALOAD0
FTC0OUT
)
或
或
或
设置TC0 的模式。
B0BSET
FTC0IEN
; 使能TC0 中断。
B0BSET
B0BSET
B0BSET
FTC0OUT
FPWM0OUT
FTC0GN
; 使能TC0OUT(Buzzer)功能。
; 使能PWM。
; 使能TC0 的绿色模式下的唤醒功能。
)
开启TC0 定时器。
B0BSET
FTC0ENB
SONiX TECHNOLOGY CO., LTD
Page 78
Version 1.1