SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
8.2.3 T0C 计数寄存器
8 位计数寄存器T0C 用于控制T0 的中断间隔时间。
0D9H
T0C
读/写
Bit 7
T0C7
R/W
Bit 6
T0C6
R/W
Bit 5
T0C5
R/W
Bit 4
T0C4
R/W
Bit 3
T0C3
R/W
Bit 2
T0C2
R/W
Bit 1
T0C1
R/W
Bit 0
T0C0
R/W
复位后
0
0
0
0
0
0
0
0
T0C 初始值的计算公式如下:
T0C 初始值 = 256 -(T0 中断间隔时间 * 输入时钟)
¾
例:T0 的中断间隔时间为10ms,高速时钟为内部4MHz,Fcpu = Fosc/4,T0RATE = 010(Fcpu/64)。
T0C 初始值 = 256 -(T0 中断间隔时间 * 输入时钟)
(
)
= 256 - 10ms * 4MHz / 1 / 64
(
)
= 256 - 10-2 * 4 * 106 / 1 / 64
= 100
= 64H
T0 的中断间隔时间列表
高速模式(Fcpu = 4MHz / 4)
低速模式(Fcpu = 32768Hz / 4)
最大间隔溢出时间 单步间隔时间 =max/256
2000 ms 7812.5 us
T0RATE
T0CLOCK
最大间隔溢出时间
单步间隔时间 =max/256
000
001
010
011
100
101
110
111
Fcpu/256
Fcpu/128
Fcpu/64
Fcpu/32
Fcpu/16
Fcpu/8
65.536 ms
32.768 ms
16.384 ms
8.192 ms
4.096 ms
2.048 ms
1.024 ms
0.512 ms
256 us
128 us
64 us
32 us
16 us
8 us
1000 ms
500 ms
3906.25 us
1953.12 us
976.56 us
488.28 us
244.14 us
122.07 us
61.035 us
250 ms
125 ms
62.5 ms
31.25 ms
15.625 ms
Fcpu/4
Fcpu/2
4 us
2 us
注:RTC 模式下,T0C 设置无效,T0 的间隔时间固定为 0.5S。
8.2.4 T0 操作流程
T0 的操作流程如下:
)
T0 停止计数,禁止T0 中断功能,并清除T0 中断请求标志。
B0BCLR
B0BCLR
B0BCLR
FT0ENB
FT0IRQ
FT0IEN
; 关闭T0 定时器。
; 清T0IRQ。
; 禁止T0 中断。
)
设置T0 速率。
MOV
A, #0xxx0000b
T0M,A
; T0M 的bit4~bit6 将T0 的速率控制在x000xxxxb~x111xxxxb。
; 关闭T0 定时器。
B0MOV
¾
设置T0 的时钟信号(Fcpu 或RTC)。
B0BCLR
FT0TB
; Fcpu 为时钟源。
或
B0BSET
FT0TB
; 选择RTC 时钟源。
¾
设置T0 的间隔时间。
MOV
B0MOV
A,#7FH
T0C,A
; 设置T0C 的值。
¾
¾
设置T0 的功能模式。
B0BSET
FT0IEN
; 开启T0 的中断功能。
开启T0 定时器。
B0BSET
FT0ENB
SONiX TECHNOLOGY CO., LTD
Page 71
Version 1.1