STC89C52单片机定时器2的使用
软件定时:执行一个循环程序进行时间延迟。定时准确,不需要外加硬件电路,但会增加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 |
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 | 关闭 |
STC89C52单片机定时器 相关文章:
- STC89C52单片机定时器0的中断实验(11-21)
- STC89C52单片机定时器1实现计数器(11-21)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)