第5章定时计数器原理及应用
0 0 模式0 l3位计数器,TLi只用低5位。
0 1 模式1 16位计数器。
10
模式2பைடு நூலகம்
8位自动重装计数器。仅TLi作为计数器,而THi的 值在计数中不变。TLi溢出时,THi中的值自动装 入TLi中。
11
模式3 TO分成2个独立的8位计数器。
(2) :功能选择位。当=0时,定时器/计数器被设置为定时器工 作方式;计数脉冲由内部提供,计数周期等于机器周期。 当=1时,定时器/计数器设置为计数器工作方式,计数脉冲 为外部引脚T0或T1引入的外部脉冲信号。
5.1 定时/计数器的结构和工作原理
5.1.1 单片机定时/计数器的结构
8051单片机内部有两个16位的可编程定时/计 数器,称为定时器0(用T0表示)和定时器1 (用Tl表示),可以编程选择其作为定时器 用或作为计数器用。此外,工作方式、定时 时间、计数值、启动、中断请求等都可以由 程序设定,其逻辑结构框图如图5-1所示。
(3)GATE:门控位。用来控制定时器/计数器的启动操作方式。 当GATE=O时,只能利用控制位TR0或TR1来控制定时器 /计数器的启停。TRi位置1时,启动定时器/计数器; TRi位为0时,定时器/计数器停止工作。
当GATE=1时,定时器/计数器的启动要由外部中断引脚和TRi 位共同控制。只有当外部中断引脚或为高时,软件控制位 TR0或TR1置l才允许外中断启动对应的定时器工作。
对外部输入信号的占空比没有特别的限制,但必须保
证输入信号的高电平与低电平的持续时间在一个机器 周期以上。
当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定的工作方式独立工作,不再 占用CPU的操作时间,只有在计数器计满溢出 时才可能中断CPU当前的操作
5.2 定时器/计数器的控制
单片机中的定时/计数器可以有两种用途,那么我们怎 样才能让它们工作于我们所需要的用途呢?这就需 要向有关寄存器写入一些控制命令字。在启动定时/ 计数器工作之前,CPU必须将一些命令(称为控制 字)写入定时/计数器中,这个过程称为定时/计数 器的初始化。定时/计数器的初始化通过定时/计数 器的方式寄存器TMOD和控制寄存器TCON完成。 下面介绍与定时器/计数器工作有关的寄存器。
图5-2 工作原理图(TX代表T1或T0)
1.定时工作方式 当定时/计数器设置为定时工作方式时,计数器对内部 机器周期计数,计数脉冲输入信号由内部时钟提供, 每过一个机器周期,计数器增1,直至计满溢出。定 时器的定时时间与系统的振荡频率紧密相关,因 MCS-51单片机的一个机器周期由12个振荡脉冲组成, 所以,计数器的计数频率为振荡器频率的l/12。如果 单片机系统采用fOSC=12 MHz晶振,则计数器的计 数频率fcont=fOSC×l/12为1MHz,计数器计数脉冲 的周期等于机器周期,即:
2.计数工作方式
当定时/计数器设置为计数工作方式时,计数器对来自输 入引脚T0(P3.4)和T1(P3.5)的外部信号计数,
外部脉冲的下降沿将触发计数。在每个机器周期的 S5P2期间采样引脚输入电平,若前一个机器周期采 样值为1,后一个机器周期采样值为0,则计数器加1。 新的计数值是在检测到输入引脚电平发生1到0的负跳 变后,于下一个机器周期的S3P1期间装入计数器中 的,可见,检测一个由1到0的负跳变需要两个机器周 期,所以,最高检测频率为振荡频率的1/24。计数器
第5章 定时/计数器原理及应用
在实时控制系统中,常常需要有实时时钟以实现定时 或延时控制,也常需要有计数功能以实现对外界事 件进行计数。MCS-5l单片机内有两个定时器/计数 器(Timer/Counter)T0和T1;MCS-52子系统中除 这两个定时器外,还有一个定时器/计数器T2; 80C552中还包括用于看门狗的8位定时器T3;后者 的功能比前者强。本章主要介绍MCS-5l的两个定时 器结构、原理、工作方式及其应用。
8051定时/计数器由定时器0、定时器1、定时 器方式寄存器TMOD和定时器控制寄存器 TCON组成。
定时器0、定时器1是16位加法计数器,分别由两 个8位专用寄存器组成:定时器0由TH0和TL0 组成,定时器1由TH1和TL1组成。TL0、TL1、 TH0、TH1的访问地址依次为8AH8DH,每个 寄存器均可单独访问。定时器0或定时器1用作 计数器时,对芯片引脚T0(P3.4)或T1(P3.5) 上输入的脉冲计数,每输入一个脉冲,加法计 数器加1;其用作定时器时,对内部机器周期 脉冲计数,由于机器周期是定值,故计数值确 定时,时间也随之确定。
其中TMOD、TCON与定时器0、定时器1间通过 内部总线及逻辑电路连接,TMOD用于设置定 时器的工作方式,TCON用于控制定时器的启 动与停止。
5.1.2定时/计数器工作原理
MCS-5l单片机的两个定时器/计数器均有两 种工作方式,即定时工作方式和计数工作方 式。这两种工作方式由TMOD的D6位和D2位 选择,即位,其中D6位选择T1的工作方式, D2位选择T0的工作方式。工作原理见图5-2。
1.定时/计数器方式寄存器TMOD
TMOD为定时器0、定时器1的工作方式寄存器, 其格式如下:
TMOD的低4位为定时器0的方式字段,高4位 为定时器1的方式字段,它们的含义完全相同。
(1) M1和M0:方式选择位。2位可形成4种编 码,对应于4种操作方式。定义如下:
Ml M0 操作模式 功 能 筒 述
TMOD不能位寻址,只能用字节指令设置高4位定义定时器1, 低4位定义定时器0定时器工作方式。TMOD的低4位用于定 义定时器T0,高4位用于定义定时器Tl。系统复位时TMOD 所有位均置0。
Tcont=l/fcont=l/(fOSC×l/12)=12/fOSC。 式中 fOSC为单片机振荡器的频率;fcont为计数脉冲的
频率。
这是最短的定时周期,适当选择定时器的初值 可获取各种定时时间。MCS-5l单片机的定 时器/计数器工作于定时方式时,其定时时 间由计数初值和所选择的计数器的长度(如8 位、13位或l6位)来确定。