定时/计数器 第三部分


工作方式寄存器 TMOD
D7 D6 D5 D4 D3 D2 D1 D0
高半字节 低半字节
GATE C/T M1 M0 GATE C/T M1 M0
配置定时器 T1 配置定时器 T0

 

T0 工作方式选择表
M1 M0 工作方式 备注
0 0 方式 0 13 位计数器
0 1 方式 1 16 位计数器
1 0 方式 2 自动再装入 8 位计数器
1 1 方式 3 分成两个 8 位计数器

 

T1 工作方式选择表
M1 M2 工作方式 备注
0 0 方式 0 13 位计数器
0 1 方式 1 16 位计数器
1 0 方式 2 自动再装入 8 位计数器
1 1 / 停止计数

 

方式 0
完全可以用方式 1 代替。

 

C/T 方式 1
0 Tx 对机器周期计数,也就是定时工作方式。
1 由引脚 T0(P3.4/PIN14)或引脚 T1(P3.5/PIN15) 引入外部计数脉冲,当这个脉冲由 1 到 0 跳变时,计数器加 1,也就是外部事件计数器。
备注 每次计数溢出后,寄存器各位被置 0,重新计数需要重新装入计数初值。
定时 t = (216 - Tmin) * Tm

 

方式 2 与方式 1 的差异
除了最大计数值外,其它的基本上与方式 1 一样。 可以自动再装入初值,能够提高计数精度。
定时 t = (28 - Tmin) * Tm

 

方式 3
只有 T0 可以用这种方式工作。

此时 T0 被拆分人两个独立的 8 位计数器 TL0 和 TH0,此时 T0 的控制位,引脚和中断源(C/T,GATE,TR0,TF0,T0[P3.4]INT0[P3.2]),均用于对 TL0 的控制,除了仅用 8 位寄存器 TL0 外,其它功能和操作与方式 1 完全相同;

在该方式下分出来的另一个计数器 TH0 只能用作简单的内部定时功能,并占用原用于 T1 的控制位(TR1 与 TF1)和中断源,定时器 TH0 的启动和开启只受 TR1 的值(1/0)控制;

在该方式下,T1 仍可设置为方式 0 或方式 2,但是由于 TR1、TR2 和 T1 的中断源都被占用了,此时仅有控制位 C/T 可切换其定时器或计数器的工作方式,计数溢出时,只能将输出送入串行口,所以此时 T1 一般用于串行品波特率发生器;

当设置好 T0 为工作方式 3 后,T1 就能自动开始运行,若要停止,只须将 T1 配置为按方式 3 工作即可。

 


T2 工作方式选择表
RCLK + TCLK CP/RL2 C/T2 T2OE 方式
0 0 / / 16 位自动装入
0 1 / / 16 位捕捉
1 / / / 波特率发生器
/ / 0 1 时钟输出
/ / 1 / 外部脉冲计数
/ / 0 0 定时器
/ / / / 停止计数

 


知识共享许可协议
《定时/计数器 第三部分》CRAFTOUR.COM 采用 知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议进行许可。