历史上的今天
返回首页

历史上的今天

今天是:2025年04月26日(星期六)

2020年04月26日 | STC89C52系列单片机内部资源——定时器和计数器

2020-04-26 来源:eefocus

CPU时序的有关知识

振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)

状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。

机器周期:机器周期也就是CPU完成一个基本操作所需要的时间。1个机器周期含6个状态周期,12个振荡周期。机器周期=1/单片机的时钟频率。


时钟频率:外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频。比如说你用的是12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ,当你使用12MHZ的外部晶振的时候。机器周期=1/1M=1us。


指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。


在学习定时器之前需要明白的

51单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。51单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1。有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1的工作可以交给定时器/计数器处理。CPU转而处理一些复杂的事情。同时可以实现精确定时作用。


定时/计数器的工作原理

定时/计数器实质上是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。


51单片机定时器结构

定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器THx和TLx组成。

定时/计数器的控制

51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。


工作方式寄存器TMOD

工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

GATE是门控位:


GATE=0时,用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;

GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0/1引脚为高电平这一条件。

C/T :定时/计数模式选择位。C/T =0为定时模式;C/T =1为计数模式。


M1M0:工作方式设置位。定时/计数器有四种工作方式。

控制寄存器TCON

TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:

TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。

TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。

TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。

TR0(TCON.4):T0运行控制位,其功能与TR1类同。


定时/计数器的工作方式

方式0

方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

定时器模式时有:N=t/ Tcy 

计数初值计算的公式为:X=2^13-N。

定时器的初值还可以采用计数个数直接取补法获得。

计数模式时,计数脉冲是T0引脚上的外部脉冲。

门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同制。当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。 


方式1

方式1的计数位数是16位,由TL0作为低8位,TH0作为高8位,组成了16位加1计数器 。

计数个数与计数初值的关系为:X=2^16-N


方式2 

方式2为自动重装初值的8位计数方式。 

计数个数与计数初值的关系为:X=2^8-N 


工作方式2特别适合于用作较精确的脉冲信号发生器。


方式3

方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。

工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。


使用定时器,该做哪些工作

初始化程序应完成如下工作:


对TMOD赋值,以确定T0和T1的工作方式。

计算初值,并将其写入TH0、TL0或TH1、TL1。

涉及到中断方式时,则对EA赋值,开放定时器中断。

使TR0或TR1置位,启动定时/计数器定时或计数。

推荐阅读

史海拾趣

智浦欣(Chipstar)公司的发展小趣事

在2010年4月的上海张江高科技园区,一群志同道合的工程师和创业者聚集在一起,共同创立了上海智浦欣微电子有限公司。他们怀揣着对模拟及数模混合IC技术的深厚理解和热爱,立志要在消费类电子市场占据一席之地。起初,公司面临着资金紧张、技术挑战和市场压力等多重困难,但团队成员凭借对技术的执着和对市场的敏锐洞察,逐步攻克难题,研发出了几款性能优越的音频放大器和电源管理产品,为公司赢得了初步的市场认可。

e2v technologies公司的发展小趣事

2016年,e2v被Teledyne Technologies公司收购,成为Teledyne e2v。这一合并不仅为e2v带来了更多的资源和支持,也为其开启了新的发展篇章。Teledyne e2v在继续保持其在图像传感器领域的领先地位的同时,也积极拓展新的市场和应用领域,为电子行业的发展贡献更多的力量。

Consolidated Wire公司的发展小趣事

面对不断变化的市场需求和技术趋势,Consolidated Wire公司始终保持创新精神。公司不断研发新产品、新技术,满足客户的多样化需求。同时,公司还注重与其他行业的合作与交流,通过跨界合作推动产品创新和技术升级。这种创新驱动的发展模式使得Consolidated Wire公司能够持续保持竞争优势,实现持续稳健的发展。

BCD Semi(Diodes)公司的发展小趣事

BCD Semi(Diodes)公司自成立以来,一直致力于模拟半导体产品的设计和制造。在某一时期,公司研发团队成功突破了某项关键技术,开发出了具有更高性能、更低功耗的新型模拟器件。这一技术突破使得BCD Semi的产品在市场上更具竞争力,赢得了众多客户的青睐。随着产品升级的不断推进,公司逐渐在模拟半导体领域树立了良好的口碑。

C.K Magma公司的发展小趣事

在追求经济效益的同时,C.K Magma公司也积极履行社会责任。他们注重绿色发展和可持续经营,通过采用环保材料和工艺、优化生产过程等方式,降低产品对环境的影响。此外,公司还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展提供了有力保障。

这五个故事展示了C.K Magma公司在电子行业中的发展历程和取得的成就。通过技术突破、市场拓展、国际合作、创新产品和绿色发展等方面的努力,公司逐渐在行业中崭露头角,成为了一家具有影响力和竞争力的企业。

宇阳科技(EYANG)公司的发展小趣事

在MLCC领域取得显著成就的同时,宇阳科技也在积极拓展其他业务领域。公司利用在MLCC领域积累的技术和经验,成功研发了多款新型电子元器件,并为移动通信、计算机及外设、数字视听产品等领域提供元器件方案设计、选型和配套综合服务。此外,宇阳科技还积极进军移动手机市场,通过参股、合作等方式,成功涉足移动手机软件及硬件设计、制造和销售等领域。

问答坊 | AI 解惑

怎样在ALLEGRO里面将铜皮显示为一个外框

怎样在ALLEGRO里面将铜皮显示为一个外框…

查看全部问答>

单片机读写多路U盘

单片机对存储设备的读写对USB存储设备的读写需要对存储体的格式有一定了解。当前USB存储体多数为FAT16和FAT32格式,还有极少数的使用FAT12格式。FAT16多见于优盘,而FAT32多见于移动硬盘。这里简价介绍优盘普遍采用的一种文件格式:FAT16。对于只有 ...…

查看全部问答>

多模光纤是否可以用单模光电转换器?

本人在做一监控系统时,由于本监控点是用在吊集装箱用的吊车上面的,用光纤传输。由于光纤是甲方布置的,距离大约300米,所用光纤后来知道是多模光纤,由于前面我们也不知道是多模光纤,我们就装了单模全双工光电转换器,在调试时图像数据都很好, ...…

查看全部问答>

优盘文件系统(FOR C)

优盘上的数据按照其不同的特点和作用大致可分为5 部分:MBR 区、DBR 区、FAT 区、FDT 区和DATA 区。…

查看全部问答>

请问如何修改Wince的开机界面,改成和手机的功能菜单一样,要怎么办?

请问如何修改Wince的开机界面,改成和手机的功能菜单一样,要怎么办?…

查看全部问答>

急寻电路方面人才

    北京用友科技股份有限公司急寻电路方面的人才,工作地点在上海浦东阿尔卡特,希望有意向的朋友联系本人,因项目很急,急需人才,年前面试,年后上班,只要面试成功,薪资我们可以商量,有意向的直接回帖或者加QQ1294703115 &nbs ...…

查看全部问答>

矩阵键盘的疑问

wince里编写矩阵键盘驱动。(7行*6列)矩阵键盘,引出13根线,6列的引线连接的GPIO设成外部中断口,7行的引线连接的GPIO方向为out输出口。 采用“行扫”的方式的话我想是不是要这样操作: 1. 等待键盘按下时,6列引线接口设成eint外部中断状态;7 ...…

查看全部问答>

关于BitBlt函数的问题

WinCE在32位色模式下使用BitBlt函数时会卡死,进了API就出不来了,这是怎么回事? 同样的代码在16位色模式下没有问题。…

查看全部问答>

DSP集成开发环境:CCS及DSP_BIOS的原理

DSP集成开发环境:CCS及DSP_BIOS的原理 …

查看全部问答>