SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
8.4.7 TC1 操作流程
TC1 定时器可用于定时器中断、事件计数、TC1OUT 和PWM。下面分别举例说明。
)
停止TC1 计数,禁止TC1 中断并清TC1 中断请求标志。
B0BCLR
B0BCLR
B0BCLR
FTC1ENB
FTC1IEN
FTC1IRQ
; 停止TC1 计数、TC1OUT 和PWM。
; 禁止TC1 中断。
; 清TC1 中断请求标志。
)
)
设置TC1 的速率 (不包含事件计数模式)。
MOV
B0MOV
A, #0xxx0000b
TC1M,A
;TC1M 的bit4~bit6 控制TC1 的速率在x000xxxxb~x111xxxxb。
; 禁止TC1 中断。
设置TC1 的时钟源。
; 选择TC1 内部/外部时钟源。
B0BCLR
FTC1CKS
FTC1CKS
; 内部时钟。
; 外部时钟。
或
B0BSET
;选择TC1 Fcpu/Fosc 内部时钟源。
B0BCLR
FTC1X8
FTC1X8
; Fcpu 内部时钟。
; Fosc 内部时钟。
或
B0BSET
注:在TC1 外部时钟模式下,TC1X8 可以忽略不计。
)
设置TC1 的自动装载模式。
B0BCLR
B0BSET
FALOAD1
FALOAD1
; 禁止TC1 自动装载功能。
; 使能TC1 自动装载功能。
或
)
设置TC1 中断间隔时间,TC1OUT(Buzzer)频率或PWM 占空比。
; 设置TC1 中断间隔时间,TC1OUT(Buzzer)频率或PWM 占空比。
MOV
B0MOV
B0MOV
A,#7FH
TC1C,A
TC1R,A
; TC1 的模式决定TC1C 和TC1R 的值。
; 设置TC1C 的值。
; 在自动装载模式或PWM 模式下设置TC1R 的值。
; PWM 模式下设置PWM 周期。
B0BCLR
B0BCLR
FALOAD1
FTC1OUT
; ALOAD1,TC1OUT = 00,PWM 周期 = 0~255。
; ALOAD1,TC1OUT = 01,PWM 周期 = 0~63。
; ALOAD1,TC1OUT = 10,PWM 周期 = 0~31。
; ALOAD1,TC1OUT = 11,PWM 周期 = 0~15。
或
B0BCLR
B0BSET
或
B0BSET
B0BCLR
或
FALOAD1
FTC1OUT
FALOAD1
FTC1OUT
B0BSET
B0BSET
FALOAD1
FTC1OUT
)
或
或
设置TC1 的模式。
B0BSET
FTC1IEN
; 使能TC1 中断。
B0BSET
B0BSET
FTC1OUT
FPWM1OUT
; 使能TC1OUT(Buzzer)功能。
; 使能PWM。
)
开启TC1 定时器。
B0BSET
FTC1ENB
;
SONiX TECHNOLOGY CO., LTD
Page 84
Version 1.1