52 单片机有 3 个定时器,T2 是一个 16 位自动重载的,像 T0 和 T1
的方式 2 一样,只不过它是 16 位重载,如果作为计数器或定时用,
中断用的是 5,就是 interrupt 5,T2 的引脚是 P1.0 口。P1.0 作为 I/O
口用了以后 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 为计数器方式,
下降沿触发。