SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
8.4.5 TC1R 自动装载寄存器
TC1 的自动重装功能由TC1M 的ALOAD1 位控制。当TC1C 溢出时,TC1R 的值自动装入TC1C 中。这样,用户在
使用的过程中就不需要在中断中复位TC1C。
TC1 为双重缓存器结构。若程序对TC1R 进行了修改,那么修改后的TC1R 值首先被暂存在TC1R 的第一个缓存器
中,TC1 溢出后,TC1R 的新值就会被存入TC1R 缓存器中,从而避免TC1 中断时间出错以及PWM 和蜂鸣器误动作。
注:在PWM 模式下,系统自动开启自动重装功能,ALOAD1 用于控制溢出范围。
0DEH
TC1R
读/写
Bit 7
TC1R7
W
Bit 6
TC1R6
W
Bit 5
TC1R5
W
Bit 4
TC1R4
W
Bit 3
TC1R3
W
Bit 2
TC1R2
W
Bit 1
TC1R1
W
Bit 0
TC1R0
W
0
0
0
0
0
0
0
0
复位后
TC1R 初始值计算公式如下:
TC1R 初始值 = N -(TC1 中断间隔时间 * 输入时钟)
N 是TC1 最大溢出值。TC1 的溢出时间和有效值见下表:
TC1CKS TC1X8 PWM1 ALOAD1 TC1OUT
N
TC1R 有效值 TC1R 二进制有效范围
00H~0FFH 00000000b~11111111b
00H~0FFH 00000000b~11111111b
0
1
1
1
1
0
1
1
1
1
-
x
0
0
1
1
x
0
0
1
1
-
x
0
1
0
1
x
0
1
0
1
-
256
256
64
32
16
256
256
64
32
16
0
00H~3FH
00H~1FH
00H~0FH
xx000000b~xx111111b
xxx00000b~xxx11111b
xxxx0000b~xxxx1111b
(Fcpu/2~
Fcpu/256)
0
1
00H~0FFH 00000000b~11111111b
00H~0FFH 00000000b~11111111b
1
(Fosc/1~
Fosc/128)
00H~3FH
00H~1FH
00H~0FH
xx000000b~xx111111b
xxx00000b~xxx11111b
xxxx0000b~xxxx1111b
-
256
00H~0FFH 00000000b~11111111b
¾
例:TC1 中断间隔时间设置为10ms,时钟源选Fcpu(TC1CKS=0,TC1X8 = 0),无PWM 输出(PWM1=0),
高速时钟为外部4MHz,Fcpu=Fosc/4,TC1RATE=010(Fcpu/64)。
TC1R 有效值 = N -(TC1 中断间隔时间 * 输入时钟)
(
)
)
= 256 - 10ms * 4MHz / 4 / 64
-2
6
(
= 256 - 10 * 4 * 10 / 4 / 64
= 100
= 64H
SONiX TECHNOLOGY CO., LTD
Page 82
Version 1.1