历史上的今天
返回首页

历史上的今天

今天是:2025年01月13日(星期一)

正在发生

2020年01月13日 | C52单片机定时器2介绍

2020-01-13 来源:eefocus

定时器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

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

推荐阅读

史海拾趣

旌芯半导体(GN)公司的发展小趣事

机顶盒,全称数字视频变换盒(Set Top Box,简称STB),是连接电视机与外部信号源的关键设备。它不仅能接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,还能将这些信号转换成适合电视机播放的格式,极大地丰富了电视节目的选择,提升了观看体验。

从技术层面看,机顶盒具备强大的媒体处理能力和交互功能。它能接收高清乃至4K的超高清电视节目,并通过内置的解码器将数字信号转换为电视可识别的视频和音频流,实现细腻的画面和震撼的音效。此外,机顶盒还支持数据广播、电子节目指南(EPG)、因特网接入、视频点播等多种增值服务,使电视机成为了一个互动的智能终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。智能化技术如人工智能(AI)的集成,使机顶盒具备了语音助手、智能推荐等功能,为用户提供了更为便捷、智能的使用体验。同时,云计算和边缘计算技术的应用,也进一步提升了内容分发和管理的效率。

综上所述,机顶盒作为连接电视与外部世界的桥梁,不仅是现代家庭娱乐不可或缺的一部分,也是推动数字电视技术发展的重要力量。随着技术的持续进步和市场需求的不断增长,机顶盒的未来将更加丰富多彩,为用户提供更加优质、便捷的观影体验。

CONTRINEX公司的发展小趣事

2015年,Contrinex正式进入中国市场,成立了全新的中国子公司。这一重要举措不仅进一步拓宽了公司的业务范围,也为中国客户提供了更加便捷和高效的服务。在中国市场,Contrinex凭借其电感式、光电式、安全光幕和RFID系统的工业级传感器产品,赢得了众多客户的青睐和信赖。

GHz Technology ( Microsemi )公司的发展小趣事

2015年,Contrinex正式进入中国市场,成立了全新的中国子公司。这一重要举措不仅进一步拓宽了公司的业务范围,也为中国客户提供了更加便捷和高效的服务。在中国市场,Contrinex凭借其电感式、光电式、安全光幕和RFID系统的工业级传感器产品,赢得了众多客户的青睐和信赖。

Aimtec公司的发展小趣事

作为一家注重品质的企业,Aimtec公司深知质量管理体系的重要性。因此,公司投入大量资源,建立了完善的质量管理体系,并通过了ISO 9001:2015等国际质量管理体系认证。这些认证不仅证明了Aimtec公司在质量管理方面的实力,也为公司的业务拓展提供了有力的保障。通过持续的质量改进和创新,Aimtec的产品在行业中赢得了良好的口碑。

Excellence Optoelectronics Inc公司的发展小趣事

在电子行业的早期,Excellence Optoelectronics Inc公司(简称EOI)就致力于LED技术的研发。公司创始人凭借对光电技术的深刻理解和对市场趋势的敏锐洞察,带领团队成功研发出了一系列高性能、高亮度的LED产品。这些产品不仅满足了市场对高品质LED的需求,还为公司赢得了良好的口碑。随着技术的不断进步,EOI不断推出创新产品,逐渐在LED市场中占据了重要地位。

BAHCO公司的发展小趣事

随着市场的不断变化和消费者需求的多样化,BAHCO也在不断调整和优化产品线。除了传统的五金工具外,BAHCO还积极开发新的产品领域,如电动工具、测量仪器等。这些新产品的推出不仅丰富了公司的产品线,也满足了不同消费者的需求。同时,BAHCO还注重产品的环保性能和可持续性发展,致力于为消费者提供更加环保、高效的产品解决方案。

问答坊 | AI 解惑

[求助] 逆变器仿真有什么软件比较好?

逆变器仿真有什么软件比较好?…

查看全部问答>

关于下载内核大小的问题

在wince下我用一个叫USBD.EXE的东西下载内核(这个东西不知道怎么来的,我到现在这个公司就已经有这个东西了,其他人也不知) 每次下载内核的时候都是在PB下打开命令行工具:Build OS->Open Release Directory,然后输入USBD这个命令,就直接下载了 ...…

查看全部问答>

求教:vxWorks应用程序如何能让系统重启?

vxWorks应用程序如何能让系统重启?…

查看全部问答>

哥们有一个wince的开发项目有有兴趣的朋友可以联系我,我把需求发过去。哥们不白用兄弟们的。有偿服务project911@163.com

哥们有一个wince的开发项目有有兴趣的朋友可以联系我,我把需求发过去。哥们不白用兄弟们的。有偿服务project911@163.com…

查看全部问答>

2407和2812选哪个?

项目可以用2407完成,是不是就没有必要用2812呢?两者之间的差别大吗?比如成本方面?…

查看全部问答>

L297+298资料并驱动步进电机

本帖最后由 paulhyde 于 2014-9-15 03:31 编辑 方便大家驱动步进电机!!!  …

查看全部问答>

购入一块ARM7开发板,求指导

完全新手,一点点琢磨,问模拟量输入是什么?怎么理解?…

查看全部问答>

超高频RFID一体机-周计划

嗯,上传周计划吧,时间很紧呐! Beaglebone外围电路设计周计划模板超高频RFID一体机试用者ID:lyzhangxiang     周计划周论坛提交内容9.27-10.3      (第一周)1、ti-sdk-am335x-evm文档熟悉便于开发,并 ...…

查看全部问答>

做了个小东西,来晒室内的温度

貌似我的强迫症啊越来越严重了,我想知道当室温度达到多少时我才需要开空调,当室温多少时我感觉不冷不热 于是做了这个,把这些数据都量化了 用STC12C5628AD+DS18B20+1602+键盘 键盘是用来设置报警温度的,但没蜂鸣器(有的话也响的烦,还是没 ...…

查看全部问答>