单片机学习笔记——MCS-51单片机的定时器/计数器

定时/计数器的结构

单片机为了能够精确地控制时间,定时器是不可缺少的。MCS-51芯片内部具有两个16位的定时器。

定时/计数器的结构如图6-1所示,定时/计数器TO由特殊功能寄存器TH0、TL0构成,定时/计数器T1由特殊功能寄存器TH1、TL1构成。

定时/计数器具有两种工作模式、4种工作方式(方式0、方式1、方式2和方式3),属于增计数器。

TMOD用于选择定时/计数器T0、T1的工作模式和工作方式。

TCON用于控制T0、T1的启动和停止计数,同时包含了 T0、T1的状态。

T0、T1不论是工作在定时器模式还是计数器模式,都是对脉冲信号进行计数,只是计数信号的来源不同。

计数器模式是对加在T0 (P3.4)和T1 (P3.5)两个引脚上的外部脉冲进行计数(见图6-1 )。定时器工作模式是对单片机的时钟振荡器信号经片内12分频后的内部脉冲信号计数。由于时钟频率是定值,所以可根据计数值计算出定时时间。

计数器的起始计数都是从计数器初值开始的。单片机复位时计数器的初值为0,也可通过指令给计数器装入一个新的初值。

工作方式控制寄存器TMOD

用于选择定时/计数器的工作模式和工作方式,字节地址为89H,不能位寻址,格式如图6-2所示。

8位分为两组,高4位控制T1,低4位控制T0

TMOD各位的功能如表6-1所示。

定时/计数器控制寄存器TCON

字节地址为88H,可位寻址,位地址为88H〜8FH,格式如图6-3所示。

  1. TF1、TF0——计数溢出标志位
    当计数器计数溢出时,该位置“1”。使用査询方式时,此位作为状态位供CPU查询,但应注意查询有效后,应使用软件及时将该位清“0”。使用中断方式时,此位作为中断请求标志位,;进入中断服务程序后由硬件自动清“0” O
  2. TR1、TR0—— 计数运行控制位
    TR1位(或TR0位)=1,启动定时/计数器工作的必要条件。
    TR1位(或TR0位)=0,停止定时/计数器工作。
    该位可由软件置“1"或清“0” 。

定时/计数器的4种工作方式

方式0及应用

方式0的工作原理

Ml、M0=00时,被设置为工作方式0,等效逻辑结构框图如图6-4所示(以定时/计数器T1 为例,TMOD.5、TMOD.4=00)。

方式0是13位计数器,由TLx (x=O,l)低5位和THx高8位构成。TLx低5位溢出则向THx进位,THx计数溢出则把TCON中的溢出标志位TFx置“ 1 ”。

图6-2电C/〒位控制的电子开关决定了定时/计数器的两种工作模式。

  1. C/〒=0,电子开关打在上面位置,T1 (或T0)为定时器工作模式,把时钟振荡器12分频后的脉塑乍为计数信号。
  2. C/〒=1,电子开关打在下面位置,T1 (或T0)为计数器工作模式,计数脉冲为P3.4(或P3.5)引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1

GATE位状态决定定时/计数器的运行控制取决于TRx 一个条件还是TRx和INTx(x=0,l)引脚状态两个条件。

  1. GATE=0, A点(见图6-4)电位恒为1,B点电位仅取决于TRx状态。TRx=1, B点为高电平,控制端控制电子开关闭合,允许T1 (或T0)对脉冲计数。TRx=0,B点为低电平,电子开关断开,禁止T1 (或T0)计数。
  2. GATE=1, B点电位由INTx(x=0,l)的输入电平和TRx的状态这两个条件来确定。当TRx=1,且INTx = 1时,B点才为1,控制端控制电子开关闭合,允许T1 (或TO)计数。故这种情况下计数器是否计数是由TRx和函肢两个条件来共同控制的。

方式0的应用

方式0与方式1基本相同,只是计数位数不同。方式0初值计算复杂,一般不用方式0,而用方式1。

猜你喜欢

转载自www.cnblogs.com/lihello/p/12941822.html