定时器工作原理
定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。
图定时器/计数器结构框图
TL0、TL1、TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0()或T1()上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。
定时器工作原理
定时器工作原理
通电延时型。只要在定时的时间段内(即1分钟)定时器一直得电,则常开触电就会闭合,只要定时器不断电常开触电就会一直闭合。定时器断电则常开触电断开
1,定时器/计数器的结构与功能
主要介绍定时器0(T0)和定时器1(T1)的结构与功能。图是定时器/计数器的结构框图。由图可知,定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。
1
0
3
自动再装入8位计数器
1
1
4
定时器0:分成两个8位计数器定时器1:停止计数
【例】设置定时器1工作于方式1,定时工作方式与外部中断无关,则M1=0,M0=1,GATE=0,因此,高4位应为0001;定时器0未用,低4位可随意置数,但低两位不可为11(因方式3时,定时器1停止计数),一般将其设为0000。因此,指令形式为:
定时器/计数器1
定时器/计数器0
位序
D7
D6
D5
D4
D3
D2
D1
D0
位标志
GATE
C/
M1
M0
GATE
C/
M1
M0
其中,低4位用于T0,高4位用于T1的。
GATE:门控位。
GATE=0,只要用软件使TR0(或TR1)置1就能启动定时器/计数器0(或定时器/计数器1);
GATE=1,只有在(或)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器/计数器0(或定时器/计数器1)工作。
MOV?TMOD,#10H
定时器/计数器工作方式与程序设计
通过对特殊功能寄存器TMOD中的设置M1、M0两位的设置来选择四种工作方式,定时器/计数器0、1和2的工来自方式相同,方式3的设置差别较大。
工作方式0
工作方式寄存器TMOD中的M1M0为:00。定时器/计数器T0工作在方式0时,16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13位定时器/计数器。当TL0的低5位计满溢出时,向TH0进位,TH0溢出时,对中断标志位TF0置位,向CPU申请中断。定时器/计数器0方式0的逻辑结构如图所示。
TR0(或TR1)=1,启动定时器/计数器0(或定时器/计数器1)工作。
可由软件置1(或清0)来启动(或关闭)定时器/计数器,使定时器/计数器开始计数。用指令SETB(或CLR)使运行控制位置1(或清0)。
工作方式寄存器TMOD
TMOD用于控制定时器/计数器的工作方式。字节地址为89H,不可位寻址,只能用字节设置其内容。其格式如下:
TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。
计数功能
计数方式时,T的功能是计来自T0T1的外部脉冲信号的个数。
输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。
脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。
定时方式
定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。
每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。
定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。
1.工作在定时方式
C/=0,定时器对机器周期计数。定时器在工作前,应先对13位的计数器赋值,开始计数时,在初值的基础上进行减1计数。
定时时间的计算公式为:
定时时间=(213–计数初值)×晶振周期×12
或定时时间=(213–计数初值)×机器周期
若晶振频率为12MHz,则最短定时时间为
[213-(213-1)]×(1/12)×10-6×12=1μs
定时器/计数器控制寄存器
与对定时器/计数器有关的控制寄存器共有4个:TMOD、TCON、IE、IP。IE、IP已在中断一节中介绍,这里不再赘述。
定时器/计数器控制寄存器TCON
特殊功能寄存器TCON用于控制定时器的操作及对定时器中断的控制。其各位定义格式如下。其中D0~D3位与外部中断有关,已在中断系统一节中介绍。
TF0和TF1:定时器/计数器溢出标志位。当定时器/计数器0(或定时器/计数器1)溢出时,由硬件自动使TF0(或TF1)置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。
TR0和TR1:定时器/计数起运行控制位。
TR0(或TR1)=0,停止定时器/计数器0(或定时器/计数器1)工作。
不管GATE处于什么状态,只要TR0(或TR1)=0定时器/计数器便停止工作。
C/:定时器/计数器工作方式选择位。
C/=0,为定时工作方式;
C/=1,为计数工作方式。
M0、M1:工作方式选择位,确定4种工作方式。如表所示。
表定时器/计数器工作方式选择
M1
M0
工作方式
功能说明
0
0
1
13位计数器
0
1
2
16位计数器
最长定时时间为
(213-0)×(1/12)×10-6×12=8 192 μs
2.工作在计数方式
C/=1,13位计数器对外部输入信号进行加1计数。
利用由0变为1时,开始计数,由1变为0时,停止计数,可以测量在端出现的正脉冲的宽度。计数值的范围是1~213=8192 (个外部脉冲)。