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)。