全面解析单片机定时计数器
扫描二维码
随时随地手机看文章
单片机定时器通过晶振频率来产生精准的计数脉冲,从而实现微秒级别的时间控制。 单片机定时器依托于一个稳定的计数器,该计数器与单片机上的晶振部件相连。晶振经过12分频后,为单片机提供稳定且精准的1MHZ脉冲。由于晶振的频率极为准确,因此单片机计数脉冲之间的时间间隔也极为精确,达到1微秒级别。若晶振的内部工作频率为12MHZ,则其时钟脉冲频率相应地设定为合适值,以确保定时器的稳定性和准确性。
值得注意的是,单片机中的定时器和计数器实质上是同一个电子元件。计数器不仅记录外部事件,还通过脉冲计数实现内部时间测量。 它们接受的外部脉冲信号会在输入时发生从1到0的负跳变,从而自动增加计数器的值。这种特性不仅使计数器能够测量外部事件,还通过计数这些脉冲的个数来实现单片机内部的时间测量。
▍ 8051系列结构
8051系列单片机配备了两个16位的定时器/计数器,分别命名为T0和T1。8051系列提供16位定时器/计数器,具备广泛的应用场景。 而8052系列单片机在此基础上又增加了一个定时器/计数器T2,共计三个。这些定时器/计数器均具备定时和事件计数功能,广泛应用于时间控制、延时、外部时间计数及检测等多样化场合。
每种模式提供不同的计数架构,适应不同的计数和定时需求。 除了定时器和计数器的两种基本工作方式外,每个定时器/计数器还具备4种不同的工作模式。在模式0、1和2下,T0和T1的工作方式是相似的,然而在模式3时,两者的操作则有所不同。
▍ 模式详细描述
各种工作模式的具体操作流程和溢出处理如下:
工作模式0:TL0的低5位与TH0的全部8位共同组成一个13位的定时器/计数器。一旦启动,预置的初值(时间常数)将从TL0开始累加。
工作模式1:与模式0类似,但TL0与TH0一起构成一个16位的定时器/计数器。
工作模式2:称为自动再装入预置数模式,溢出后硬件会自动清零并重新开始操作。
工作模式3:特殊于T1,将TL0和TH0划分给不同的计数器。
03定时器/计数器的应用参数▍ 定时/计数范围
不同模式下定时/计数器的最大计数能力分别为:
模式0和1:13位和16位计数器,最大计数次数为8192和65536次。
模式2和3:8位计数器,最大计数次数为256次。
▍ 预置数计算
利用预置数来实现期望的计数操作,并通过公式进行调整。 预置数的计算公式为:预置数 = 最大值 - 需要计数的次数。
04定时器控制与初始化▍ 控制寄存器
TMOD和TCON寄存器为精确的定时器控制提供支持。 8051单片机提供了两个关键的特殊功能寄存器,即可实现对定时器/计数器的精确控制。
011. 单片机定时计数器概述单片机启动后,定时计数器默认处于关闭状态。为了使其正常工作,需要修改某些特殊功能寄存器的值。这些与定时计数器相关的特殊功能寄存器包括:TMOD、THx、TLx以及TCON。
单片机启动后,我们需要对这些寄存器进行配置。通过这些寄存器,我们可以设定定时计数器的工作模式,选择使用定时器或计数器功能,并进行工作模式的设置。此外,单片机提供了一些寄存器用于控制定时计数器的启停和中断响应。
022. 特殊功能寄存器2.1 △ TMOD寄存器
TMOD寄存器是用于配置定时计数器工作模式的特殊功能寄存器。通过修改TMOD寄存器的值,可以设定定时计数器的工作方式,包括定时器或计数器的选择、工作模式等。
特殊功能寄存器TMOD,位于片内RAM的高128字节区域,具体地址为89H,其默认值为00H。该寄存器的每一位都有其特定的含义:
GATE:门控位,主要作用是决定定时计数器的启动是否受外部中断的影响。当其为0时,定时计数器的启动不受外部中断影响。
C/T:这是定时或计数方式的选择位。当其为0时,选择的是定时器模式;而当其为1时,则选择计数器模式。
M1、M0:这两位共同构成了工作方式选择位,用于设定定时计数器的工作模式。
值得注意的是,TMOD寄存器的高4位专门用于控制定时计数器1,而其低4位则用于控制定时计数器0。此外,定时计数器通常有3种常用的工作方式,这些工作方式与M1M0的组合关系如下:
TCON寄存器,同样位于片内RAM的高128字节区域,具体地址为88H,其默认值为00H。该寄存器在定时计数器的控制中扮演着重要角色,它主要用于设定外部中断的触发方式。通过TCON寄存器的设置,我们可以决定是采用电平触发还是边沿触发方式来响应外部中断。此外,TCON寄存器还提供了对定时计数器启动、停止以及清零的控制功能。
在“TCON寄存器”这一段中,我们介绍了该寄存器在定时计数器控制中的关键作用,以及它如何设定外部中断的触发方式。通过TCON寄存器的精心配置,我们可以灵活地选择电平触发或边沿触发来响应外部中断,从而实现对系统行为的精确控制。同时,该寄存器还提供了对定时计数器的启动、停止和清零等操作的便捷控制。
在“51Z2 中断系统特殊功能寄存器”这一节中,我们提及了TCON寄存器。该寄存器的低四位专注于外部中断的控制,而其高四位则负责定时计数器的管理。具体来说,这些高四位分别代表以下含义:
TF1:表示定时计数器1的溢出标志,当定时计数器1溢出时,该位被单片机置为1。
TR1:作为定时计数器1的启动控制位,将其设置为1将启动定时计数器1。
TF0:同样地,它标志着定时计数器0的溢出状态,一旦定时或计数达到预设值,该位将被单片机置位。
TR0:则是定时计数器0的启动控制位,通过将其设置为1,可以启动定时计数器0。
以定时计数器0为例,当TR0被设置为1时,模块将开始其工作。一旦达到预设的定时时间或计数值,TF0位将被单片机自动置为1,从而实现对定时或计数操作的精确控制。
定时器的功能与重要性定时器在单片机中扮演着至关重要的角色,其功能丰富多样。通过定时器,我们可以实现精确的时间控制,无论是短暂的延时还是复杂的定时任务,都能轻松应对。此外, 定时器还广泛应用于实时监控、数据采样以及事件触发等场景,为单片机的智能化和高效化提供了有力支持。
◉ 定时器的功能
定时器在计时系统中的作用不可忽视,它能让程序能够定时执行特定操作。此外,通过定时器,我们可以摆脱长时间的Delay,从而提升 CPU的运行效率和处理速度。定时器还可以作为 计数器使用,进行各类计数任务。
◉ 提升CPU效率
定时器通过替代长时间延时提升CPU效率,使CPU得以执行更多关键任务,从而提高系统的整体响应速度和执行能力。
定时器的工作模式◉ 工作模式介绍
T0和T1定时器都具备四种不同的工作模式。 模式0:提供13位定时器/计数器功能。 模式1:这是最常用的模式,提供16位定时器/计数器功能。 模式2:采用8位自动重装模式。 模式3:将定时器划分为两个独立的8位计数器进行工作。计数器功能上限为65535,每当接收到一个脉冲,计数器便增加1。一旦数值超过这一上限,计数器会向中断系统发出中断请求。
单片机包含两种时钟:系统时钟和外部时钟。当外部引脚提供时钟时,单片机便作为计数器使用。 系统时钟在单片机中应用最为广泛,其重要性不言而喻。在89C52型号单片机上,系统时钟的晶振周期为12MHz,经过分频处理后,输出周期达到1微秒。此外,C/T引脚可用于切换定时器和计数器模式,给0时为定时器模式,给1时则为计数器模式。
◉ 中断系统概述
关于中断系统,CPU会优先处理高优先级的中断,高优先级中断能够打断低优先级中断的处理。在89C52中,共有八个中断源,包括外部中断0、定时器0中断等,以及四个中断优先级。
◉ 寄存器的功能
寄存器作为连接软硬件的桥梁,在单片机中扮演着重要角色。它不仅用于存储和读取数据,还能控制电路的连接方式。然而,要完全理解这些内容,数字电路和模拟电路的知识是必不可少的。因此,在学习过程中可能会感到困难重重,但请坚持下去, 掌握这些基础概念将为后续的学习奠定坚实基础。