收藏 分销(赏)

第4章-定时器与计数器.ppt

上传人:人****来 文档编号:7516106 上传时间:2025-01-07 格式:PPT 页数:30 大小:526KB
下载 相关 举报
第4章-定时器与计数器.ppt_第1页
第1页 / 共30页
第4章-定时器与计数器.ppt_第2页
第2页 / 共30页
第4章-定时器与计数器.ppt_第3页
第3页 / 共30页
第4章-定时器与计数器.ppt_第4页
第4页 / 共30页
第4章-定时器与计数器.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 定时器,/,计数器,4.1,定时器,/,计数器,T0,和,T1,4.1.1,定时器,/,计数器,T0,和,T1,的结构及功能,4.1.2,定时器,/,计数器,T0,和,T1,的功能寄存器,4.1.3,定时器,/,计数器,T0,和,T1,的工作方式,4.1.4,定时器,/,计数器,T0,和,T1,应用举例,4.2,定时器,/,计数器,T2,4.2.1,定时器,/,计数器,T2,的控制寄存器,4.2.1,定时器,/,计数器,T2,的操作模式,对于定时器,/,计数器来说,不管是独立的定时器芯片还是单

2、片机内的定时器,大都具有以下特点:,定时器,/,计数器有多种工作方式,可以是,计数方式,,也可以是,定时方式,。,定时器,/,计数器的,计数值,是,可变,的,计数的最大值也是有限的,这取决于计数器的位数。计数的最大值也就限定了定时时间的最大值。,在到达设定的定时或计数值时发出,中断申请,,以便实现定时控制。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的结构及功能,定时器,/,计数器,T0,、,T1,是由加法计数器、,TMOD,寄存器和,TCON,寄存器等组成,其结构如下:,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的结

3、构及功能,T0,和,T1,的结构,定时器,/,计数器的,T0,和,T1,的核心是,16,位加法计数器,,图中用特殊功能寄存器,TH0,、,TL0,及,TH1,、,TL1,表示,它们分别为,T0,加法计数器和,T1,加法计数器的高,8,位和低,8,位。,作,计数器,用时,加法计数器对芯片引脚,T0,(P3.4),或,T1,(P3.5),上的输入脉冲计数。每输入一个脉冲,加法计数器增加,1,。加法计数器,溢出时,可向,CPU,发出,中断请求,信号。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的结构及功能,T0,和,T1,的结构,作,定时器,用时,加法计数器对单

4、片机内部,机器周期,脉冲,Tcy,计数。由于机器周期是定值,所以对,Tcy,的计数就相当于定时,如,Tcy=1s,,计数值,100,,相当于定时,100s,。,加法计数器的初值可以由程序设定,设置的初值不同,计数值或定时时间就不同。在定时器,/,计数器的工作过程中,加法计数器的内容可用程序读回,CPU,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的功能寄存器,定时器,/,计数器方式控制字,TMOD,定时器,/,计数器,T0,、,T1,均有,4,种工作方式,可通过方式控制字,TMOD,进行设置,各位定义如下:,TMOD,的低四位用于,T0,,高四位用于,T

5、1,。位为定时或计数功能选择位,位为“,1,”,为计数方式;位为“,0,”,为定时方式。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的功能寄存器,定时器,/,计数器方式控制字,TMOD,M1,、,M0,:定时器,/,计数器工作方式选择位,其值与工作方式对应关系如下表所示。,4.1,定时器,/,计数器,T0,和,T1,M1,M0,工作方式,方 式 说 明,0,0,0,13,位定时器,/,计数器,0,1,1,16,位定时器,/,计数器,1,0,2,具有自动重装初值功能的,8,位定时器,/,计数器,1,1,3,两个,8,位定时器,/,计数器,(T0),定时器,/

6、,计数器,T0,、,T1,的功能寄存器,定时器,/,计数器方式控制字,TMOD,GATE,:门控位,用于控制定时器,/,计数器的启动是否受外部中断请求信号的影响。如果,GATE=1,,定时器,/,计数器,0,的启动受芯片引脚,INT0(P3.2),控制,定时器,/,计数器,1,的启动受芯片引脚,INT1(P3.3),控制;如果,GATE=0,,则定时器,/,计数器的启动与引脚,INT0,、,INT1,无关。,一般情况下,GATE,端为,0,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的功能寄存器,定时器,/,计数器控制寄存器,TCON,TCON,控制寄存

7、器各位定义如下:,TR0(TR1),:,T0(T1),运行控制位,。当,TR0(TR1)=1,时启动,T0(T1),;,TR0(TR1)=0,时关闭,T0(T1),。该位由软件进行设置。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的功能寄存器,定时器,/,计数器控制寄存器,TCON,TCON,控制寄存器各位定义如下:,TF0(TF1),:,T0(T1),定时器,/,计数器,溢出中断,标志位。当,T0(T1),计数溢出时,由硬件置位,并在允许中断的情况下,向,CPU,发出中断请求信号,,CPU,响应中断转向中断服务程序时,由硬件自动将该位清零(也可用软件清除

8、)。,TCON,的低四位与外部中断有关。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,当,M1M0=00,时,定时器,/,计数器工作于方式,0,下,构成,13,位,定时器,/,计数器(,8,位计数器带,32,分频的预分频器)。其逻辑结构如下图所示。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,THx,是,高,8,位,加法计数器,,TLx,是,低,5,位,加法计数器,,TLx,的高,3,位未用。,TLx,加法计数溢出时向,THx,进位,,THx,加法计数溢出时置位,

9、TFx,,最大计数值为,2,13,。可用程序将,0,8191(2,13,-1),的某一数送入,THx,、,TLx,作为初值。,THx,、,TLx,从初值开始加法计数,直至溢出。所以初值不同,定时时间或计数值不同。,必须注意的是:加法计数器,THx,溢出后,必须用程序重新对,THx,、,TLx,设置初值,否则下一次,THx,、,TLx,将从,0,开始重新计数。(,重写初值,),4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,如果,C/T=1,,图中开关,S1,自动地接到下面,定时器,/,计数器工作在,计数状态,,加法计数器对,Tx,(

10、,x=1,2,),引脚上的外部脉冲进行计数。,计数值,由下式确定:,式中:,N,为计数值,,x,是,THx,、,TLx,的,初值,。,x,值为,8191,时计数值最小,其值为,1,;当,x,值为,0,时计数值最大,其值为,8192,,即计数范围为,1,8192,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,定时器,/,计数器是在每个机器周期的,S5P2,期间采样,Tx,脚的输入信号,若前一个机器周期的采样值为“,1,”,下一个机器周期的采样值为“,0,”,则计数器当前值加,1,。,由于识别一个高电平到低电平的跳变需两个机器周期

11、,所以对外部计数脉冲的频率应小于,f,osc,/24,,且高电平与低电平的延续时间均不得小于,1,个机器周期。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,当,C/T=0,时为,定时方式,,开关,S1,自动地接到上面,加法计数器对机器周期脉冲,Tcy,计数,每个机器周期,TLx,加,1,。,定时时间,由下式确定:,式中:,Tcy,为单片机的机器周期。如果振荡频率,f,osc,=12MHz,,则,Tcy=1s,,定时范围为,1,8192s,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工

12、作方式,工作方式,0,定时器,/,计数器的启动或停止由,TRx,控制。,当,GATE,为“,0,”时,只要用软件置,TRx=1,,开关,S2,闭合,定时器,/,计数器就开始工作;当,TRx=0,时,,S2,打开,定时器,/,计数器停止工作。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,0,当,GATE=1,时为,门控方式,。此时,仅当,TRx=1,且,INTx,引脚上出现高电平,(,即无外部中断请求信号,),,,S2,才闭合,定时器,/,计数器开始工作。如果,INTx,引脚上出现低电平,(,即有外部中断请求信号,),,则停止工作。所

13、以,门控方式下,定时器,/,计数器的启动受外部中断请求的影响,可用来测量,INTx,引脚上出现,正脉冲,的,宽度,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,1,当,M1M0=01,时,定时器,/,计数器工作于方式,1,下,构成,16,位,定时器,/,计数器。其逻辑结构图如下所示。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,1,THx,、,TLx,都是,8,位加法计数器。在方式,1,时,计数器的,计数值,由下式确定:,所以计数范围为,1,65536,。,定时器的,定

14、时时间,由下式确定:,如果,f,osc,=12MHz,,则,T,cy,=1s,,定时范围为,1,65536 s,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,2,当,M1M0=10,时,定时器,/,计数器工作于方式,2,下,为,自动重装,初值的,8,位,定时器,/,计数器。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,2,在方式,2,下,,TLx,作为,8,位加法计数器使用,,THx,作为初值寄存器使用,,THx,、,TLx,的初值由程序设定。当,TLx,计数溢出,时,

15、不仅置为,TFx,,而且自动发出重装信号,使三态门打开,将,THx,中的初值自动送至,TLx,,并从初值开始重新计数。,重装初值后,,THx,中的值保持不变,除非用程序重新给,THx,赋值。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,2,在方式,2,时,计数器的,计数值,由下式确定:,所以计数范围为,1,256,。,定时器的,定时时间,由下式确定:,如果,f,osc,=12MHz,,则,T,cy,=1s,,定时范围为,1,256 s,。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式

16、,工作方式,3,当,M1M0=11,时,定时器,/,计数器工作于方式,3,下,构成,两个,8,位,定时器,/,计数器。其逻辑结构图如下所示。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,3,工作方式,3,只适用于,T0,。当,T0,工作于方式,3,时,,TH0,和,TL0,被分为,2,个独立的定时器,/,计数器。其中,TL0,既可以是定时器,也可以是计数器;,TH0,只能用于定时器使用,并且占用了,T1,的两个控制信号,TR1,和,TF1,。在这种情况下,,T1,虽然仍可工作于方式,0,、,1,、,2,,但是不能采用中断方式。此时通

17、常将,T1,用作串行口的波特率发生器。,由于,T1,无方式,3,,若强行将其设置为工作方式,3,,相当于令其停止工作。,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器,T0,、,T1,的四种工作方式,工作方式,3,在方式,3,下,定时器,/,计数器的定时、计数范围和定时,/,计数值的确定与方式,2,相同。,计数值,确定如下:,所以计数范围为,1,256,。,定时器的,定时时间,可由下式确定:,4.1,定时器,/,计数器,T0,和,T1,定时器,/,计数器的启动和使用,初始化。包括工作方式字,TMOD,设定、初值设定。,启动定时器(置位,TRx,)。,溢出处理(,TFx=1,)。

18、,中断方式,或,查询方式,。,在中断方式下,,CPU,响应中断时会由硬件自动复位,TFx,,查询方式下需要用,软件复位,。,注意,:为实现“,定时处理,”某任务或事件,,CPU,响应中断后应该重写定时器初值,否则定时器将由,0,值开始计数。,4.1,定时器,/,计数器,T0,和,T1,例,4-1,:设单片机系统时钟为,12MHz,,试编程从,I/O,端口,P1.2,输出,周期为,5ms,的方波(,脉冲序列,)。,分析,:当系统时钟为,12MHz,时,若选用,T0,工作于,方式,0,下,则最大定时时间为,2,13,=8192,s,,满足周期,5ms,的要求;同样,若,T0,也可,工作于方式,1,

19、下,则最大定时时间为,2,16,=65536,s,,亦可满足周期,5ms,的要求。,方波脉宽,为,2.5ms=2500,s,,工作于方式,1,时有:,可知:定时器,T0,初值为,5692,,方式,0,下用到了,TH0,的,8,位和,TL0,的低,5,位,即:,TH0=0B1H,,,TL0=1CH,。,4.1,定时器,/,计数器,T0,和,T1,例,4-1,:,C51,程序如下。,#include,sbit p1_2=P12;,void main(),TMOD=0 x00;,TH0=0 xb1;,TL0=0 x1c;,TR0=1;,while(1);,while(TF0=0);/,等待定时器,0

20、,溢出(程序,查询方式,),TF0=0;,p1_2=!p1_2;,TH0=0 xb1;/,重写定时器初值,TL0=0c1c;,4.1,定时器,/,计数器,T0,和,T1,例,4-2,:利用定时器,T0,测量脉冲宽度,。设脉冲从,P3.2,引脚输入,单片机系统时钟为,12MHz,。要求将该脉冲宽度值存入变量,pul_width,中。,分析:,当定时器工作于,方式,0,时,利用门控位,GATE,可以测量外部脉冲宽度。,方法:,令,GATE=1,,然后软件,置位,TR0,(或,TR1,),这时当,INT0,(或,INT1,)为“,1,”时(外部脉冲上升沿),就会自动启动定时器;当,INT0,(或,I

21、NT1,)为“,0,”时(外部脉冲下降沿),会关闭定时器。因此,此时定时器的计数值就等同于外部输入脉冲的宽度。,4.1,定时器,/,计数器,T0,和,T1,例,4-2,:,C51,程序如下。,#include,sbit p3_2=P32;,unsigned int pul_width;,void main(),unsigned char a;,TMOD=0 x09;/T0,工作于方式,1,,,GATE,为,1,while(p3_2=1);/,等待,INT0,为,1,,以检测一个完整正脉冲,while(1);,TH0=0 x00;/,初值为,0,TL0=0 x00;,TR0=1;/,设置,TR0,为,1,while(p3_2=0);/,等待,INT0,上升沿,while(p3_2=1);/,等待,INT0,下降沿,此时为完整正脉冲,TR0=0;/,关闭定时器,T0,a=TH0;/,计数结果的高,8,位存入中间变量,pul_width=a*256+TL0;/,计算脉宽并送变量,pul_width,4.1,定时器,/,计数器,T0,和,T1,

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服