【MCS-51】内部定时和计数器

发布时间:2023-04-23  

51单片机是一款广泛应用于嵌入式系统开发的微处理器,内部集成了多个定时器和计数器模块,可以方便地进行时间相关的操作。本文将介绍51单片机内部定时和计数器的基本原理和使用方法。

一、定时器基本原理

1. 定时器的作用

定时器是一种用于测量时间间隔的计数器,可以根据设定的参数自动进行计数,并在到达指定值时触发相应的中断或外部事件。在嵌入式系统中,定时器常用于实现精确的时间控制、周期性任务调度等功能。


2. 定时器的结构

51单片机内部共有4个定时器/计数器模块,分别为Timer0、Timer1、Timer2和Timer3。其中,Timer0和Timer1是8位计数器,可通过软件配置为定时器或计数器模式;Timer2和Timer3是16位计数器,只能作为计数器使用。

每个定时器都由一个计数器寄存器和若干控制寄存器组成,其中,THx和TLx为定时器x的计数器寄存器高低字节,TLx即TMRxL;TCON为定时器控制寄存器,包含各种中断触发标志和控制位;TMOD为定时器模式寄存器,用于设置定时器的工作模式和计数方式;IE和IP为中断使能和优先级寄存器,用于配置定时器相关的中断处理。此外,部分型号的51单片机还支持定时器和计数器的外部输入和输出。


3. 定时器的工作原理

定时器的计数是基于晶振频率的,其计数速度由晶振频率和分频系数共同决定。在定时器工作时,需要设置计数器初始值、计数方向、工作模式和分频系数等参数,具体步骤如下:

(1)设置定时器模式:通过TMOD寄存器设置定时器工作模式和计数方式。对于8位定时器,可选择“模式0”、“模式1”、“模式2”或“模式3”四种模式,其中“模式0”为常规计数器模式,“模式1”和“模式2”为定时器模式,而“模式3”既可作为计数器也可作为定时器使用。对于16位定时器,只有“模式1”和“模式2”两种模式可选。

(2)设置计数方向:通过TCON寄存器设置计数器的计数方向。定时器可以设置为向上计数或向下计数,这决定了计数器从初始值到最大值(或最小值)的过程中计数值是递增还是递减。

(3)设置分频系数:通过定时器控制寄存器TCON和TMOD设置分频系数。定时器可以选择不分频、1/12分频、1/4分频、1/16分频等多种分频系数,以满足不同应用需求。

(4)设置计数器初始值:通过THx和TLx寄存器设置计数器的初始值。定时器在启动时会从初始值开始计数,当计数值达到最大值或最小值时,定时器会自动重新从初始值开始计数。

(5)启动定时器:设置好各项参数后,通过软件使能定时器开始计数。当计数器的值达到设置的定时时间后,定时器会自动触发中断或外部事件。


二、定时器的应用

1. 定时器作为系统定时器

通过定时器周期性地产生中断信号,可以实现系统定时和时间戳等功能。例如,在智能家居系统中,可以使用定时器控制各种设备的开关,并记录设备的操作日志和使用情况;在工业控制系统中,定时器可以用于检测传感器数据并执行相应的动作等。

2. 定时器作为脉宽调制模块

定时器还可以配合PWM模块实现对电机等设备的精确控制。通过定时器产生固定频率的方波信号,然后使用PWM模块将其转化为可调节占空比的脉冲信号,从而实现对电机速度和输出功率的控制。

3. 定时器作为脉冲计数器

通过定时器和计数器模块,可以实现对输入信号的脉冲数量进行计数和测量。例如,在旋转轴位置和速度测量中,可以使用定时器和计数器模块分别获取输入信号的周期和脉冲数量,从而计算出轴的转速和角度等信息。


三、计数器基本原理

1. 计数器的作用

计数器是一种用于统计脉冲数量的电路模块,可以通过外部信号触发计数器进行累加,并在达到设定值时产生中断或其他事件。在嵌入式系统中,计数器常用于频率计数、编码器测量、信号采集等应用场合。

2. 计数器的结构

51单片机内部的计数器与定时器类似,由一个计数器寄存器和多个控制寄存器组成。其中,Timer0和Timer1可配置为计数器模式,Timer2和Timer3仅支持计数器模式。计数器的工作原理与定时器相似,不同之处在于计数器只有计数功能,没有定时功能。

3. 计数器的工作原理

计数器的主要功能是统计输入信号的脉冲数量,计数器的计数速度由外部信号的频率和分频系数共同决定。在使用计数器时,需要设置计数器的初始值、计数方向、计数模式和中断使能等参数,具体步骤如下:

(1)设置计数模式:通过TMOD寄存器将计数器模式位设置为“1”或“2”,即可将Timer0或Timer1配置为计数器模式。

(2)设置计数方向:通过TCON寄存器设置计数器的计数方向,可以选择向上计数或向下计数。

(3)设置分频系数:通过TCON和TMOD寄存器设置计数器的分频系数,以适应不同的输入信号频率。

(4)设置计数器初始值:通过THx和TLx寄存器设置计数器的初始值,即计数器从何处开始计数。

(5)使能中断:通过IP和IE寄存器设置计数器相关的中断优先级及中断使能位,以处理计数器溢出等异常情况。

(6)启动计数器:设置好各项参数后,通过软件使能计数器开始计数。当计数器达到设定值时,会产生中断或其他事件。


四、计数器的应用

1. 频率计数器

计数器可用于测量外部信号的频率和周期,通过统计输入信号的脉冲数量并根据分频系数计算出外部信号的周期和频率。例如,在音频应用中,可以使用计数器测量声音信号的频率,并将其转化为数字信号进行处理和控制。

2. 编码器测量

编码器是一种用于测量旋转角度和线性位移的装置,常用于机器人控制、电机控制等领域。通过与编码器相连的计数器,可以实现对编码器输出信号的计数和累加,从而测量出设备的旋转角度和速度、线性位移等信息。

3. 信号采集

在数据采集系统中,计数器常用于检测外部信号的触发情况和采样时间。通过设置计数器的计数模式和计数频率,可以实现高精度的信号采集和时间戳记录等功能。

总之,51单片机内部的定时器和计数器模块提供了非常便利的时间管理和计数功能。在实际应用中,需要根据具体需求选择合适的定时器或计数器模块,并正确配置各项参数和中断处理,以实现精确的时间控制和数据统计。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    MCS-51单片机最大的时序定时单位是多少;  MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O......
    零基础:学51单片机定时器;   我们学单片机是首先学的就是 led 闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机......
    51单片机定时/计数器详解(工作原理及模式、应用);51单片机是基础入门的一个单片机,还是应用最广泛的一种。本文主要介绍51单片机定时/计数器,首先介绍了51单片机定时/计数器的工作原理,其次......
    确定定时器的工作方式及功能选择。单片机复位时TMOD全被被清零。下面介绍各位在不同值下的含义:   GATE --门控制位。   GATE = 0,定时器/计数器启动与停止仅受TCON寄存器中TRn(n = 0, 1)来控......
    运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机......
    单片机的定时器;TMOD:定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。 D7 D6 D5 D4 D3 D2 D1 D0 GATE......
    /O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机......
    80C51单片机的定时计数器的结构和工作原理;单片机怎么学,先从哪入手开始学,怎么开始入门 无论是对于新手还是已经在行内的朋友,学习单片机技术,实战动手能力十分重要,如果......
    8052定时器2的用法;学了51单片机之后,开发板上的CPU是STC89S52RC的,就是说52单片机,里面比51的多了一个定时器2看了很多书,就是没怎么理解,于是乎决定看AT89S52的数......
    :      MCS-51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SPR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH。SFR中有11个寄......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>