STC89C52单片机定时器2整理

定时器2:

    16位自动重装载和捕获能力的定时计数器

控制寄存器TCON2:字节地址------------->>>>>>>>0C8H--------------------->>>>>>可位寻址

TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
溢出标志位 定时器外部标志 接收时钟标志 发送时钟标志 外部使能 启动、停止控制位 选择位 捕获重装标志
定时/计数器2溢出标志,T2溢出时置位,并申请中断。只能用软件清除但T2作为波特率发生器使用的时候,(即RCLK=1或TCLK=1),T2溢出时不对TF2置位 当EXEN2=1时,且T2EX引脚(P1.0)出现负跳变而造成T2的捕获或重装的时候,EXF2置位并申请中断。EXF2也是只能通过软件来清除的 串行接收时钟标志,只能通过软件的置位或清除;用来选择T1(RCLK=0)还是T2(RCLK=1)来作为串行接收的波特率产生器 串行发送时钟标志,只能通过软件的置位或清除;用来选择T1(TCLK=0)还是T2(TCLK=1)来作为串行发送的波特率产生器 T2的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止外部时钟触发T2;EXEN2=1:当T2未用作串行波特率发生器时,允许外部时钟触发T2,当T2EX引脚输入一个负跳变的时候,将引起T2的捕获或重装,并置位EXF2,申请中断 T2的启动控制标志;TR2=0:停止T2;TR2=1:启动T2 T2的定时方式或计数方式选择位。只能通过软件的置位或清除;C/T2=0:选择T2为定时器方式;C/T2=1:选择T2为计数器方式,下降沿触发。

捕获/重装载标志,只能通过软件的置位或清除。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----------------->>>>>>不可位寻址

0 0 0 0 0 0 T2OE DECN
            定时器输出使能位
向上/向下计数使能位。定时器2可配制成向上/向下计数器。
              0:向上计数(模式状态)   1:向下计数(尽量不使用)
               

 工作方式:

RCLK+TCLK CP/RL2 TR2 TR2
0 0 1 16位自动重装(串行口发送和接受的波特率由定时器1提供)
0 1 1 16位捕获
1 x 1 波特率发生器
x x 0 关闭

陷阱寄存器:RCAP2H和RCAP2L---------存放TH2和TL2中的值

模式1和模式3的波特率=(振荡器频率/32)  *  (65535-N)      

定时器2为计数模式时,外部时钟信号由T2(P1^0)引脚进入。

定时器2作为波特率发生器的时候,不要对TH2和TL2读写,可以读陷阱寄存器,但是也不要写。当对定时器2的陷阱寄存器进行访问时,应关闭定时器(TR2清0)。

原文地址:https://www.cnblogs.com/xwtstudio/p/12496161.html