专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

STC89C52单片机定时器2的使用

作者:刘大允   来源:本站原创   点击数:  更新时间:2014年03月25日   【字体:

实现定时和计数的方法一般有:软件定时、专用电路和可编程定时器/计数器 三种方法。

软件定时:执行一个循环程序进行时间延迟。定时准确,不需要外加硬件电路,但会增加CPU开销。
专用硬件电路定时:可以实现请精确的定时和计数,但参数调节不方波。
可编程定时器/计数器:不占用CPU时间,能与CPU并行工作,实现精确的定时和计数,又可以通过变成设置其工作方式和其他参数,使用方便。

以下说明仅试用宏晶的STC89C52!!

 
定时器2:
T2MOD,T2CON,TH2,TL2,RC2H,RC2L.

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

 

 
T2CON:0XC8H(可位寻址)
TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
TF2:7          上/下 溢出标志位,定时器2溢出时置位,必须有用软件清零!当RCLK或TCLK=1时,TF2将不会置位。
EXF2:6         定时器2外部标志,当EXEN2=1且T2EX的负跳变产生捕获或重装时,EXF2置位。定时器2中断使能时,EXF2=1将使CPU从中断向量处执行定时器2中断子程序。EXF2位必须用软件清零。在递增/递减计数器模式(DCEN=1)中,EXF2位不会引起中断。
RCLK:5         接收时钟标志。RCLK置位时,定时器2的溢出脉冲作为串口模式1和模式3的接收时钟。RCLK=0时,将定时器1的溢出脉冲作为串口模式1和模式3的接收时钟。 
TCLK:4          发送时钟标志位。TCLK置位时,定时器2的溢出脉冲作为串口模式1和模式3的发送时钟。TCLK=0时,将定时器1的溢出脉冲作为串口模式1和模式3发送时钟。         
EXEN2:3          定时器2外部使能标志。当其置位且定时器2未作为串口时钟时,允许T2EX的负跳变产生捕获或重装。EXEN2=0时,T2EX的跳变对定时器2无效。
TR2:2          定时器2 启动/停止控制位。置1时启动定时器。
C/T2:1          定时器/计数器选择(定时器2)
                    0 = 内部定时器(SYS_CLK/12或SYS_CLK/6)
                    1 = 外部事件计数器(下降沿触发)
CP/RL2:0     捕获/重装标志。EXEN2=1时,T2EX的负跳变产生捕获。EXEN2=0时,定时器2溢出或T2EX的负跳变都可以使定时器自动重装。RCLK=1或TCLK=1时,该位无效且定时器强制为溢出时自动重装。

 
定时器2有三种操作模式:捕获,自动重新装载(递增或递减计数)和波特率发生器,这三种模式由T2CON中的位进行选择:
定时器2的工作方式:
RCLK+TCLK CP/RL2 TR2 模式
0 0 1 16位自动重装
0 1 1 16位捕获
1 x 1 波特率发生器
x x 0 关闭
 
关闭窗口

相关文章