第五章定时器/计数器
5.1概述
51单片机中有两个16位的的定时器/计数器,分别是定时器/计数器0(T0)和定时器/计数器1(T1)
1.基本结构
T0和T1实际上是2个可以连续加1的计数器,对外部事件进行计数时作为计数器,对内部的机器周期进行计数时作为定时器
TH1,TL1为T1的计数器,TH0.TL0为 T0的计数器,分别构成两个16位加法计数器。
2.可编程定时器/计数器
T0和T1有计数和定时两种工作方式,由TMOD中的T0和T1决定。
T0和T1有工作模式0~3.由TMOD中的M1和M0决定
当to或t1加1计满溢出时,tf0或tf1置一,作为溢出中断。
3.定时器
T0或T1用作定时器时,视作对单片机机器周期计数的计数器,为时钟频率的1/12,既若时钟频率为12MHZ,每接收一个计数脉冲的时间为1us。
4.计数器
T0或T1用作计数器时,对应的输入端为p3.4(p3.5)。电平触发。
5.初值
计数器只有在发生溢出时才发出中断请求,因此在确定定时时间或计数值后,需要给定时器/计数器赋初值。
设定时器/计数器的最大计数值为M,系统需要的计数值为N或需要的定时时间为t、开始计数的初值X的计算方法如下。
①计数器工作方式时,初值为X=M-N。
②定时器工作方式时,初值为X=M-t/T。(T=12/晶振频率)、
M=2^所用计数器位数
5.2定时器/计数器的控制
定时器/计数器有4种工作模式,2种工作方式。由TMOD 进行设置。
TMOD
定时器/计数器工作模式寄存器TMOD的字节地址为89H,它不能位寻址,只能字节寻址,在设置时由用户一次编程写入。TMOD各位的定义如图5-2所示,
[其高4位用于控制T1,低四位控制T0]
1.工作模式控制位M1M0
4种不同的二进制组合(00,01,10,11),分别对应4种工作模式,分别为模式0(13位)、模式1(16位人模式2(自动重装初值8位)及模式3(两个独立8位)
模式3中,T0和T1的工作方式不同,模式3中,T0占用了一部分T1,因此模式三只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。、
2.工作方式选择位C/_T
c/_t=0,为定时器模式.外部事件
c/_t=1,为计数器模式.内部时钟
3.GATE
GATE=1时,T0或T1控制工作,int0(int1)控制
GATE=0时,不受T0或T1影响。GATE控制
5.2.2 TCON(88H)
可字节寻址,也可位寻址。
TF0、TF1(第5、7位)分别是T0、T1的溢出标志位,溢出时该位置1,并申请中断,在中断响应后自动清 0。
TR0、TR1(第4、6位)分别为T0、T1的运行控制位,通过编程将该位置1后,定时器/计数器即开始工作,在系统复位时清 0。
TCON 的低4位与中断有关,IE控制中断请求,IT控制中断触发类型。
工作模式详情
1.模式0
定时器/计数器在工作模式0中为13位计数器,M1M0为00时,选择高TH0(TH1)8位和TL0(TH1)低五位,当低五位溢出时,向高8位进位。溢出时,TF0(TF1)置位
(1)定时时间 2^13=8192
t=2^13-初值/时钟周期x12
(2)计数次数
X=2^13-N,(N为需要的计数值,X为计数初值)
5-1