52 的定时器/计数器 T2 的寄存器说明
51 系列的单片机中都有两个定时器 T0 和 T1,网上的资料挺多的,52 单片机
比 51 单片机的资源多了一个定时器 T2 和 128 字节的 ram。定时器 T2 的功能
比 T1、T0 都强大,但描述它的资料不多,可能是使用得比较少的缘故吧。它
是一个 16 位的具有自动重装和捕获能力的定时/计数器,它的计数时钟源可以
是内部的机器周期,也可以是 P1.0 输入的外部时钟脉冲。T2 的控制寄存器的
功能描述如下:
T2CON(T2 的控制寄存器),字节地址 0C8H:
位地址 0CFH 0CEH 0CDH 0CCH 0CBH 0CAH 0C9H
0C8H
符 号 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RT2
各位的定义如下:
TF2:定时/计数器 2 溢出标志,T2 溢出时置位,并申请中断。只能用软件清
除,但 T2 作为波特率发生器使用的时候,(即 RCLK=1 或
TCLK=1),T2 溢出时不对 TF2 置位。
EXF2:当 EXEN2=1 时,且 T2EX 引脚(P1.0)出现负跳变而造成 T2 的捕获
或重装的时候,EXF2 置位并申请中断。EXF2 也是只能通过软件来清
除的。
RCLK:串行接收时钟标志,只能通过软件的置位或清除;用来选择
T1(RCLK=0)还是 T2(RCLK=1)来作为串行接收的波特率产生器
TCLK:串行发送时钟标志,只能通过软件的置位或清除;用来选择
T1(TCLK=0)还是 T2(TCLK=1)来作为串行发送的波特率产生器
EXEN2:T2 的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止
外部时钟触发 T2;EXEN2=1:当 T2 未用作串行波特率发生器时,
允许外部时钟触发 T2,当 T2EX 引脚输入一个负跳变的时候,将引起
T2 的捕获或重装,并置位 EXF2,申请中断。
TR2:T2 的启动控制标志;TR2=0:停止 T2;TR2=1:启动 T2
C/T2:T2 的定时方式或计数方式选择位。只能通过软件的置位或清除;C/
T2=0:选择 T2 为定时器方式;C/T2=1:选择 T2 为计数器方式,下降
沿触发。
CP/RT2:捕获/重装载标志,只能通过软件的置位或清除。CP/RT2=0 时,选择
重装载方式,这时若 T2 溢出(EXEN2=0 时)或者 T2EX 引脚(P1.0)出现负跳
变(EXEN2=1 时),将会引起 T2 重装载;CP/RT2=1 时,选择捕获方式,这时
若 T2EX 引脚(P1.0)出现负跳变(EXEN2=1 时),将会引起 T2 捕获操作。但
是如果 RCLK=1 或 TCLK=1 时,CP/RT2 控制位不起作用的,被强制工作于定
时器溢出自动重装载模式。
T2MOD(方式寄存器),字节地址 0C9H:
D7 D6 D5 D4 D3 D2 D1 D0
-- -- -- -- -- -- T2OE DCEN
T2OE:T2 输出允许位,当 T2OE=1 的时候,允许时钟输出到 P1.0。(仅对
80C54/80C58 有效)