8052单片机定时计数器T2的使用

8052单片机定时计数器T2的使用本文介绍了 8052 单片机的定时计数器 T2 的功能及其三种工作模式 捕捉模式 自动重装模式及波特率发生器模式

大家好,欢迎来到IT知识分享网。

一、引言

最近做毕业设计用到了8052单片机,因为8052单片机的性能更强一些,而且有6个中断源,相较于8051单片机增加了定时计数器T2,功能更强大了。

今天主要说一下8052单片机T2做计数器时的用法,主要是寄存器的配置,定时器以及其他的用法等我研究之后再更新此贴。

二、8052与8051单片机的区别

在这里插入图片描述
备注:8052单片机相较于8051单片机除了ROM和RAM上的提升,主要是增加了一个定时器/计数器T2。

三、定时计数器T2的三种工作模式

1.捕捉模式

捕捉模式参考这里

2.自动重装模式

本文目前主要介绍该模式,其余模式有待更新。

3.波特率发生器

波特率发生器参考这里

四、定时计数器T2的寄存器

和8051单片机一样,T2也有控制寄存器和方式寄存器。
控制寄存器:T2CON,字节地址0C8H
方式寄存器:T2MOD,字节地址0C9H (一般用不到)
加电或复位后自动均置为0。

1.T2CON(控制寄存器)

在这里插入图片描述
在这里插入图片描述

2.T2MOD(方式寄存器)

在这里插入图片描述

五、”reg52.h”中包含的位定义变量

经过我的实际测试,再Keil5的环境下,导入头文件#include<reg52.h>后,T2MOD关键字仍不能被识别,但是没关系,T2MOD寄存器一般不用配置。

以下位定义的寄存器可以直接使用:

sfr T2CON = 0xC8; //Timer 2 CONtrol, 定时器2控制 sfr RCAP2L = 0xCA; //Reload/CAPture 2 Low-byte, 重载/捕获低8位 sfr RCAP2H = 0xCB; //Reload/CAPture 2 High-byte, 重载/捕获高8位 sfr TL2 = 0xCC; //Timer 2 Low-byte, 定时器2低8位 sfr TH2 = 0xCD; //Timer 2 High-byte, 定时器2高8位 sbit TF2 = T2CON^7; //Timer (overflow) Flag 2, 定时器2溢出标志 sbit EXF2 = T2CON^6; //timer EXternal (overflow) Flag 2, 定时器2外部引脚溢出标志 sbit RCLK = T2CON^5; //Receive CLocK, 接收时钟标志位 sbit TCLK = T2CON^4; //Transmit CLocK, 发送时钟标志位 sbit EXEN2 = T2CON^3; //timer EXternal ENable, 外部中断允许标志位 sbit TR2 = T2CON^2; //Timer Run control 2, 定时器运行控制2 sbit C_T2 = T2CON^1; //Counter/Timer 2, 计数器/定时器功能选择2 sbit CP_RL2 = T2CON^0; //CaPture/ReLoad 2, 捕获/重载功能选择2 sbit ET2; //T2的中断允许位,ET2=1,允许中断。ET2=0,不允许中断。 

使用时无需定义,直接赋值即可,例如:

RCAP2L = 0xFF; RCAP2H = 0xFF; 

六、实例

使用T2计数器中断实现LED灯的开关控制。
每按一次开关,T2中断一次,在中断函数中改变LED的亮灭。
在这里插入图片描述

#include<reg52.h> int num=0x00; int main(){ 
    T2CON=0x00; //可不进行配置,这行代码可以不写 C_T2=1; //使T2为计数方式  CP_RL2=0; //使T2为重装模式 EXEN2=0; //禁止外部时钟触发,溢出时重装 TH2=0XFF; //高8位初值 TL2=0XFF; //低8位初值 RCAP2H=0xFF; //溢出时,将RCAP2H重装入TH2 RCAP2L=0xFF; //溢出时,将RCAP2L重装入TL2 TR2=1; //允许T2工作 ET2=1; //允许T2中断 EA=1; //开总中断 while(1); return 0; } timer2() interrupt 5{ 
    TF2=0; //清除中断标志位 EXF2=0; //清除溢出标志位 P2=num; num=~num; } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/152773.html

(0)
上一篇 2025-03-07 16:15
下一篇 2025-03-07 16:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信