C52单片机定时器2介绍

发布者:雅致书香最新更新时间:2020-01-13 来源: eefocus关键字:C52  单片机  定时器2 手机看文章 扫描二维码
随时随地手机看文章

定时器2是一个16位定时器/计数器,通过设置特殊功能寄存器T2CON中的C/T2位可将其设置为定时器或是计数器;通过设置T2CON中的工作模式选择位可将定时器2设置为三种工作模式,分别为捕获、自动重新装载(递增或是递减计数)和波特率发生器


知识点一、定时器2的控制寄存器T2CON(可按位寻址)*

D7位--TF2:定时器2溢出标志位。用于请求中断(必须由软件清0)

D6位--EXF2:定时器外部标志位。当外部信号使能时,发生外部负跳变时置位请求中断(必须由软件清0)

D5位--RCLK:接受时钟标志位。默认情况下串行口中模式1和模式3的时钟是由定时器1的溢出率提供,若该位置位,则由定时器2提供。

D4位--TCLK:发送时钟标志位。原理同上

D3位--EXEN2:定时器2的外部使能标志位。定时器2没有作为串行口时钟时,若将该位置位时,将允许T2EX的负跳变产生捕获或重装

D2位--TR2:定时器2启动/停止控制位。

D1位--C/T2:定时器2的定时器/计数器选择位(在reg52头文件中定义为了C_T2,请注意,下面相同)

D0位--CP/RL2:捕获/重装标志位。


知识点二  定时器2的模式控制寄存器T2MOD(不可按位寻址)

该寄存器在单片机的头文件reg2.h中可能没有被定义,自己定义吧!

D1位—T2OE:定时器2输出使能位

D0位—DCEN:向下计数使能位


知识点三:定时器2的三种模式*

*1、捕获模式*

在"CP/RL2=1"&&"TR2=1"时进入捕获模式。通过对控制寄存器T2CON的外部使能标志位EXEN2的置位和清0,又可以有分为如下两种工作模式:

<1>EXEN2=0:

此时定时器2作为一个16位的定时器/计数器(由定时器/计数器选择位C/T2位选择)使用,实验已通过。

<2>EXEN2=1:

此时定时器在前者的基础上,增加一个特性,即允许接受外部输入T2CON的负跳变,此负跳变使定时器2中的TH2和TL2中的值存入陷阱寄存器RCAP2H和RCAP2L中,并将外部标志位EXF2置位,引起中断。该中断与前者中的中断同时存在并共用同一中断程序(在中断中可检测TF2和T2EX位确定是哪一个引起的中断)。除此之外该模式下,当中断是T2EX位引发的时,虽然引发了中断,但是由于不是溢出,并且计数器没有停止计数,因此,此时TH2和TL2不用重新装载值。


实验证明在此模式下可以实现:用溢出中断输出方波,用线接入T2EX(P1^1),在T2EX的中断中使蜂鸣器响起来,理论和实践一样,蜂鸣器响的频率是方波的两倍(因为它只捕捉负跳变)


2、自动重装模式(递增/递减计数器)*

16位自动重装模式中,定时器2可通过C/T2位配置为定时器/计数器,根据外部使能标志位EXEN2的置位和清0,可分为两种情况:

<1>EXEN2=0时

定时器2为16位自动重装的普通定时器,由陷阱寄存器提供重装的值,只需要预设一下即可,可用于定时精度要求高,定时时间长(16位)的情况。

<2>EXEN2=1时,根据递减计数使能位DCEN的置位和清0可分为两种情况:

A1、T2MOD=0x00(DCEN=0;默认情况);

与上一种情况相比,此时16位自动重新装载可由外部T2EX的负跳变,和溢出任意一种触发,并都能产生中断。

A2、T2MOD=0x01(DCEN=1);

此时允许T2EX控制计数的方向;T2EX=0时,重装的值为0FF和0FF,递减计数与陷阱寄存器预存值相等时,置位TF2产生中断。T2EX=1时;自动重装值为陷阱寄存器中的值,溢出时置位TF2产生中断。


3、波特率发生器模式                                                                                                                                            T2CON的TCLK和RCLK位为0(默认)时,串行口发送和接受的波特率由定时器1提供;置位为1时,由定时器2提供。可以一个通过定时器1,一个通过定时器2,这样可以获得发送和接受时不同的波特率。


注意的地方: 定时器2作为定时器时,递增频率为晶振频率的12分频,而定时器2作为波特率发生器时,它的递增频率为晶振频率的2分频。


模式1和模式3的波特率=(振荡器频率/32)  *  (65535-N)

定时器2为计数模式时,外部时钟信号由T2(P1^0)引脚进入。


定时器2作为波特率发生器的时候,TH2溢出并不会置位TF2,所以此时可以不用禁止定时器2中断,若是EXEN2位被置位时,可以将T2EX作为附加的外部中断。


定时器2作为波特率发生器的时候,不要对TH2和TL2读写,可以读陷阱寄存器,但是也不要写。当对定时器2的陷阱寄存器进行访问时,应关闭定时器(TR2清0)。


4、可编程时钟输出

52系列单片机,可设定定时器/计数器2通过T2(p1^0)引脚输出时钟。

P1^0除了可以作为普通I/O口外,还可以作为定时器2的外部计数输入和时钟信号输出。

C/T2=0并且T2MOD的T2OE位为1时,可将定时器2选为时钟信号发生器,自动装初值。设置公式:

时钟信号输出频率=(振荡器频率/4)* (65535-N)

在时钟输出模式下,计数器溢出不会产生中断请求。这种功能相当于定时器2可同时作为波特率发生器和时钟发生器。


**因为此时外部中断并没有被暂用,若是在设置上不冲突的话可能同时还可以响应T2EX引入的外部信号,这个只是猜想,还没有用实验证明过,哈哈***


知识点三,单片机对于外来脉冲信号具有计数功能,但是有要求:

计数脉冲的最高频率=振荡器的频率/24

并且为了确保给定电平在电平变化之前能被采样一次,则这个电平至少要维持一个机器周期。

关键字:C52  单片机  定时器2 引用地址:C52单片机定时器2介绍

上一篇:C51单片机定时器/计数器中断功能详细分析(二)
下一篇:单片机成长之路(51基础篇) - 020 51单片机寄存器功能一览表

推荐阅读最新更新时间:2024-11-18 22:59

【STC单片机学习】第七课:单片机控制静态/动态数码管
1.7.1.什么是数码管 1.7.1.1、几方面看数码管 (1)外观 (2)作用:数码管是显示器件,用来显示数字的:工业场合用的比较多! (3)分类:单个(1位)、联排(2位、4位、8位) 1.7.1.2、工作原理 (1)亮灭原理(其实就是内部的照明LED) 一个数码管里面有8个LED。 (2)显示数字(甚至文字)原理:利用内部的LED的亮和灭让外部的组成数字的笔画显示或者不显示,人看到的就是不同的数字。和点灯很相似!例如下面:显示2、8 1.7.1.3、共阳极和共阴极数码管 (1)驱动方法的差异 必须清楚一个数码管内部的8颗LED是独立驱动的。如果8颗LED的正极接在一起接到VCC上(负极分别接到单
[单片机]
【STC<font color='red'>单片机</font>学习】第七课:<font color='red'>单片机</font>控制静态/动态数码管
ST STM8AF5286汽车8位微控制器的开发方案
    STM8AF526x/8x/Ax和STM8AF6269/8x/Ax汽车8位微控制器提供32KB~128KB非易失性存储器和集成式真数据EEPROM。STM8AF52系列具有CAN接口。   STM8A产品系列的所有器件均具有下列优势:更低的系统成本、高性能与稳定性、短开发周期和长产品使用寿命。   利用写入/擦除周期高达300k的集成式真数据EEPROM、高系统集成度、内部时钟振荡器、看门狗和掉电复位削减了系统成本。   24MHz CPU时钟频率下20MIPS的速率和增强型特性(包括稳定的I/O、带独立时钟源的独立看门狗和时钟安全系统)可确保器件性能。   利用通用系列产品架构范围内的应用可扩展性以及兼容
[汽车电子]
MSP430单片机模式IIC协议C语言程序
#include msp430x22x4.h #define I2C_SDA(operation) operation(3,1) #define I2C_SCL(operation) operation(3,2) #define PORT_SET(port,bit) P##port##OUT|=(1 bit) #define PORT_CLR(port,bit) P##port##OUT&=~(1 bit) #define SET_GPIO_MODE(port,bit) P##port##SEL&=~(1 bit) #define SET_OUTPUT_MODE(port,bit) P##
[单片机]
基于AT89C51单片机的电动车无线遥控系统
   摘要: 采用AT 89C51 单片机作为控制核心, 通过红外遥控方式实现无线遥控。系统主要包括红外遥控收发电路、信号处理电路和电机控制电路等, 由控制软件实现对小车电机的快速启动、制动和反转等自动遥控功能。   本系统以单片机AT89C51 为电动车的控制核心, 利用红外遥控器配以红外接收头及直流电机的正反转控制电路来实现电动车的运动控制。系统由红外线遥控器, 红外线接收模块, 电动机驱动模块, 显示及声光指示模块, 方向控制模块等几部分组成。系统流程如图1, 原理框图如图2. 图1 原理流程图 图2 系统框图 1 红外遥控系统   通用红外遥控系统由发射和接收两大部分组成, 应用编/ 解码专用集
[汽车电子]
基于AT89C51<font color='red'>单片机</font>的电动车无线遥控系统
单片机名词解释
总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。 地址总线: 它是传送由CPU发出的用于选择要访问的器件或部件的地址。 数据总线: 它是用来传送微型机系统内的各种类型的数据。 汇编: 是能完成一定任务的机器指令的集合。 二进制数: 只有0和1两个数码,基数为二。 16进制数: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。 指令: 是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。 存储器: 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。 暂存器: 用
[单片机]
<font color='red'>单片机</font>名词解释
基于51单片机的8个LED流水灯的设计
本设计旨在实现8个LED流水灯的设计。 原理图: 参考代码: #include reg52.h #include intrins.h #define uint unsigned int uint temp; void Delay500ms() //延时0.5秒函数 //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i); } void main() { P1=0xfe;
[单片机]
基于51<font color='red'>单片机</font>的8个LED流水灯的设计
51单片机-无源蜂鸣器题目
1.初学者的坑 上一讲的代码单片机一上电无源蜂鸣器就不停鸣叫比较吵,那么我们有没有办法让它规定响多久就可以停止不叫了呢。首先我们知道要想让无源蜂鸣器持续响,那么P1.6就要以一定的时间间隔(也可叫一定频率)不停的高低电平切换。 复习了前两讲的内容之后,我们动手自己写一个让无源蜂鸣器响一小段时间然后又不响一段时间,接着又响一小段时间的循环。这就类似于点亮一盏灯一段时间,熄灭一盏灯一段时间的循环。 这时初学者开始得意自己学过LED闪烁,于是就自己给自己出了道题目,让蜂鸣器响一下之后,保持不响的状态1秒钟,之后又响一下,又保持1秒不响这样循环下去,于是他们在while(1)里面这样写 代码下进去发现蜂鸣器没响,只是听到隔1
[单片机]
51<font color='red'>单片机</font>-无源蜂鸣器题目
HOLTEK新推出 HT67F488/HT67F489 A/D with LCD Flash MCU
 Holtek新推出的HT67F488 / HT67F489系列,具有A/D及LCD功能的标准型Flash MCU。除具有多样化功能外,并规划与三星S3F9488相同之脚位。适用于各种小家电、居家医疗健康器材等产品。 本系列MCU,包含有4K / 8K Word Flash程序内存、256Byte数据存储器、64Byte Data EEPROM及8 Level Stack等核心规格;同时兼具实用的外围电路,例如12位的高速模拟/数字转换器,用以撷取外界环境的讯号如温度湿度等;同时内建省电型LCD Driver,可支持多达160点LCD Panel及UART接口做为通讯使用;此外全系列MCU采用Holtek全新设计的Time
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved