新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STC89C52单片机定时器2的使用

STC89C52单片机定时器2的使用

作者:时间:2016-12-02来源:网络收藏
实现定时和计数的方法一般有:软件定时、专用电路和可编程定时器/计数器 三种方法。
软件定时:执行一个循环程序进行时间延迟。定时准确,不需要外加硬件电路,但会增加CPU开销。
专用硬件电路定时:可以实现请精确的定时和计数,但参数调节不方波。
可编程定时器/计数器:不占用CPU时间,能与CPU并行工作,实现精确的定时和计数,又可以通过变成设置其工作方式和其他参数,使用方便。
以下说明仅试用宏晶的STC89C52!!

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

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


T2CON:0XC8H(可位寻址)
TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/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+TCLKCP/RL2TR2模式
00116位自动重装
01116位捕获
1x1波特率发生器
xx0关闭



评论


技术专区

关闭