(本科)第7章 定时器计数器ppt课件.ppt
《(本科)第7章 定时器计数器ppt课件.ppt》由会员分享,可在线阅读,更多相关《(本科)第7章 定时器计数器ppt课件.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第第7章章 定时器计数器定时器计数器2 2 第第7章章 定时器定时器/计数器的工计数器的工 作原理及应用作原理及应用 23 3AT89S52单片机片内集成有单片机片内集成有3个定时器个定时器/计数器计数器T0、T1和和T2,可以满,可以满足计数或定时的需要。足计数或定时的需要。本章首先介绍与本章首先介绍与AT89S51兼容的兼容的T0、T1定时器定时器/计数器的结构及工作计数器的结构及工作原理。原理。而而AT89S52增加的定时器增加的定时器/计数器计数器T2的功能较强,内部结构及工的功能较强,内部结构及工作原理比作原理比T0、T1稍显复杂,因此将其与稍显复杂,因此将其与T0、T1
2、分开,在本章后面单独分开,在本章后面单独介绍。介绍。34 47.1 定时器定时器/计数器计数器T0与与T1的结构的结构AT89S51定时器定时器/计数器结构计数器结构见见图图 7-1,定时器,定时器/计数器计数器T0由特殊功能寄由特殊功能寄存器存器TH0、TL0构成,构成,T1由特殊功能寄存器由特殊功能寄存器TH1、TL1构成。构成。图图7-1 定时器定时器/计数器结构框图计数器结构框图5 5两个定时器两个定时器/计数器都具有计数器都具有定时器定时器和和计数器计数器2种工作模式种工作模式(定时器模式和(定时器模式和计数器模式),计数器模式),4种工作方式种工作方式(方式(方式0、方式、方式1、
3、方式、方式2和方式和方式3)。定时器)。定时器/计数器属于计数器属于增增1计数器。计数器。图图7-1中的特殊功能寄存器中的特殊功能寄存器TMOD用于选择定时器用于选择定时器/计数器计数器T0、T1的工作的工作模式和工作方式。特殊功能寄存器模式和工作方式。特殊功能寄存器TCON用于控制用于控制T0、T1的启动和停止计的启动和停止计数,同时包含了数,同时包含了T0、T1的状态。的状态。T0、T1不论是工作在定时器模式还是计数不论是工作在定时器模式还是计数器模式,实质都是对脉冲信号进行计数,只不过是计数信号的来源不同。器模式,实质都是对脉冲信号进行计数,只不过是计数信号的来源不同。 计数器工作模式计
4、数器工作模式是对加在是对加在T0(P3.4)和)和T1(P3.5)两个引脚上的外部脉)两个引脚上的外部脉冲进行计数(见后面的冲进行计数(见后面的图图7-4);而);而定时器工作模式定时器工作模式是对系统的时钟振荡器是对系统的时钟振荡器信号经片内信号经片内12分频后的内部脉冲信号计数。分频后的内部脉冲信号计数。6 6由于时钟频率是固定值,由于时钟频率是固定值,12分频后的脉冲信号周期也为固定值,所以可分频后的脉冲信号周期也为固定值,所以可根据对内部脉冲信号的计数值计算出定时时间。根据对内部脉冲信号的计数值计算出定时时间。 计数器的起始计数都是从计数器的初值开始。计数器的起始计数都是从计数器的初值
5、开始。AT89S52单片机复位时计单片机复位时计数器的初值为数器的初值为0,也可用指令给计数器装入一个新的初值,从新的初值开始,也可用指令给计数器装入一个新的初值,从新的初值开始计数。定时器计数。定时器/计数器属于计数器属于增增1计数器计数器。7.1.1 工作方式控制寄存器工作方式控制寄存器TMODTMOD用于选择定时器用于选择定时器/计数器的工作模式和工作方式,计数器的工作模式和工作方式,字节地址字节地址为为89H,不能位寻址,格式,不能位寻址,格式见见图图7-2。7 7 8位分两组,位分两组,高高4位位控制控制T1,低低4位位控制控制T0。TMOD各位各位说明说明如下如下。(1)GATE门
6、控位门控位 GATE=0,定时器是否计数,由控制位,定时器是否计数,由控制位TRx(x = 0,1)来控制。)来控制。7图图7-2 寄存器寄存器TMOD格式格式8 8 GATE=1,定时器是否计数,由外中断引脚,定时器是否计数,由外中断引脚INTx* 上的电平与运行上的电平与运行控制位控制位TRx共同控制。共同控制。(2)M1、M0工作方式选择位工作方式选择位 M1、M0 4种编码,对应于种编码,对应于4种种工作方式的选择,工作方式的选择,见见表表7-1。表表7-1M1、M0工作方式选择工作方式选择8M1 M0工 作 方 式0 0方式0,为13位定时器/计数器0 1方式1,为16位定时器/计数
7、器1 0方式2,8位的常数自动重新装入的定时器/计数器1 1方式3,仅适用于T0,此时T0分成两个8位计数器, T1停止计数9 9(3)C/T* 计数器模式和定时器计数器模式和定时器模式选择位模式选择位 C/T*=0,定时器模式,对系统时钟,定时器模式,对系统时钟12分频后的脉冲进行计数。分频后的脉冲进行计数。 C/T*=1,计数器模式,计数器对外部输入引脚,计数器模式,计数器对外部输入引脚T0(P3.4)或)或T1(P3.5)的外部脉冲(负跳变)计数。)的外部脉冲(负跳变)计数。7.1.2 定时器定时器/计数器控制寄存器计数器控制寄存器TCON TCON字节地址字节地址88H,位地址为,位地
8、址为88H8FH。格式。格式见见图图7-3。 9图图7-3 TCON格式格式1010第第6章已介绍与外中断有关的章已介绍与外中断有关的低低4位位。这里仅介绍。这里仅介绍高高4位位功能。功能。(1)TF1、TF0计数溢出标志位计数溢出标志位 当计数器计数溢出时,该位置当计数器计数溢出时,该位置“1”。使用查询方式时,此位可供。使用查询方式时,此位可供CPU查询,但应注意查询后,用软件及时将该位清查询,但应注意查询后,用软件及时将该位清“0”。使用中断方式时。使用中断方式时,作为中断请求标志位,进入中断服务程序后由硬件自动清,作为中断请求标志位,进入中断服务程序后由硬件自动清“0”。(2)TR1、
9、TR0计数运行控制位计数运行控制位 TR1位(或位(或TR0)=1,启动计数器计数的必要条件。,启动计数器计数的必要条件。 TR1位(或位(或TR0)=0,停止计数器计数。,停止计数器计数。该位可由软件置该位可由软件置“1”或清或清“0”。7.2 定时器定时器/计数器的计数器的4种工作方式种工作方式分别介绍如下。分别介绍如下。1011117.2.1 方式方式0 当当M1、M0=00,设置为方式,设置为方式0,定时器,定时器/计数器等效逻辑结构计数器等效逻辑结构见见图图7-4(以以T1为例,为例,TMOD.5、TMOD.4 = 00)。)。11图图7-4 定时器定时器/计数器方式计数器方式0的逻
10、辑结构框图的逻辑结构框图1212 方式方式0为为1313位计数器位计数器,由,由TLx(x = 0,1)的)的低低5位位和和THx的的高高8位位构成构成。TLx低低5位溢出则向位溢出则向THx进位,进位,THx计数溢出则把计数溢出则把TCON中的溢出标志位中的溢出标志位TFx置置“1”。 图图7-2中,中,C/T*位位控制电子开关决定控制电子开关决定2种工作模式。种工作模式。 (1)C/T*=0,电子开关打在上面,电子开关打在上面,T1(或(或T0)为定时器工作模式,系)为定时器工作模式,系统时钟统时钟12分频后的脉冲分频后的脉冲作为计数信号。作为计数信号。 (2)C/T*=1,电子开关打在下
11、面,电子开关打在下面,T1(或(或T0)为计数器工作模式,对)为计数器工作模式,对P3.5(或(或P3.4)引脚上的外部输入脉冲引脚上的外部输入脉冲计数,当引脚上发生负跳变时,计计数,当引脚上发生负跳变时,计数器加数器加1。 GATE位位状态决定定时器状态决定定时器/计数器运行控制取决于计数器运行控制取决于TRx一个条件一个条件,还是,还是取决于取决于TRx和和INTx*引脚状态两个条件。引脚状态两个条件。121313(1) GATE=0时,时,A点(见点(见图图7-4)电位恒为)电位恒为1,B点电位仅取决于点电位仅取决于TRx状态。状态。TRx=1,B点为高电平,控制端控制电子开关闭合,允许
12、点为高电平,控制端控制电子开关闭合,允许T1(或(或T0)对脉冲计数。)对脉冲计数。TRx=0,B点为低电平,电子开关断开,禁止点为低电平,电子开关断开,禁止T1(或(或T0)计数。计数。(2) GATE=1时,时,B点电位由点电位由INTx*(x = 0,1)的电平和)的电平和TRx的状态的状态两个条件来确定。当两个条件来确定。当TRx=1,且,且INTx* =1时,时,B点才为点才为1,电子开关闭合,电子开关闭合,允许允许T1(或(或T0)计数。故这种情况下计数器是否计数是由)计数。故这种情况下计数器是否计数是由TRx和和INTx*两两个条件来共同控制的。个条件来共同控制的。7.2.2 方
13、式方式1 当当M1、M0=01时,工作于方式时,工作于方式1,等效电路逻辑结构,等效电路逻辑结构见见图图7-5。141414图图7-5 方式方式1的逻辑结构框图的逻辑结构框图方式方式1和和方式方式0差别差别仅仅在于计数器的位数不同,方式仅仅在于计数器的位数不同,方式1为为16位计数器,由位计数器,由THx高高8位和位和TLx低低8位构成(位构成(x = 0,1),方式),方式0则为则为13位计数器,有关控制位计数器,有关控制状态位含义(状态位含义(GATE、C/T* 、TFx、TRx)与方式)与方式0相同。相同。15157.2.3 7.2.3 方式方式2 2 方式方式0和方式和方式1最大特点是
14、计数溢出后,计数器为全最大特点是计数溢出后,计数器为全0。因此在循环定时。因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题,这会影响定时或循环计数应用时就存在用指令反复装入计数初值的问题,这会影响定时精度,方式精度,方式2就是为解决此问题而设置的。就是为解决此问题而设置的。 当当M1、M0=10时,工作方式时,工作方式2,等效逻辑结构,等效逻辑结构见见图图7-6(以(以T1为例,为例,x=1)。)。 工作方式工作方式2为为自动恢复初值(初值自动装入)自动恢复初值(初值自动装入)的的8位定时器位定时器/计数器,计数器,TLx(x=0,1)作为常数缓冲器,当)作为常数缓冲器,当TL
15、x计数溢出时,在溢出标志计数溢出时,在溢出标志TFx置置“1”的同时,还自动将的同时,还自动将THx中的初值送至中的初值送至TLx,使,使TLx从初值开始重新计数。定从初值开始重新计数。定时器时器/计数器方式计数器方式2工作过程工作过程见见图图7-7。15161616图图7-67-6 方式方式2逻辑结构框图逻辑结构框图171717图图7-7 方式方式2工作过程工作过程方式方式2可省去用户软件中重装初值的指令执行时间,简化定时初值的计算可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可相当精确地定时。方法,可相当精确地定时。18187.2.4 方式方式3 方式方式3是为增加一个附
16、加的是为增加一个附加的8位定时器位定时器/计数器而设置的,从而使计数器而设置的,从而使AT89S52具有具有3个定时器个定时器/计数器。计数器。方式方式3只适用于只适用于T0,T1不能工作在方不能工作在方式式3。T1方式方式3时相当于时相当于TR1 = 0,停止计数(此时,停止计数(此时T1可作为串口波特率可作为串口波特率产生器)。产生器)。1工作方式工作方式3下的下的T0 当当TMOD的低的低2位为位为11时,时,T0被选为方式被选为方式3,各引脚与,各引脚与T0的逻辑关系的逻辑关系见见图图7-8。 T0分为两个独立的分为两个独立的8位计数器位计数器TL0和和TH0,TL0使用使用T0的状态
17、控制位的状态控制位C/T* 、GATE、TR0 ,而,而TH0被固定为一个被固定为一个8位定时器位定时器(不能作为外部(不能作为外部计数模式),并使用定时器计数模式),并使用定时器T1的状态控制位的状态控制位TR1,同时占用定时器,同时占用定时器T1的的中断请求源中断请求源TF1。181919 图图7-8 T0方式方式3的逻辑结构框图的逻辑结构框图20202T0工作在方式工作在方式3时时T1的各种工作方式的各种工作方式 一般情况下,当一般情况下,当T1用作串口波特率发生器时,用作串口波特率发生器时,T0才工作在方式才工作在方式3。T0方式方式3时,时,T1可为方式可为方式0、1、2,作为串口波
18、特率发生器,或不需要中,作为串口波特率发生器,或不需要中断的场合。断的场合。2121(1)T1工作在方式工作在方式0 T1的控制字中的控制字中M1、M0 = 00时,时,T1工作在方式工作在方式0,工作示意图如,工作示意图如图图7-9所示。所示。(2)T1工作在方式工作在方式1 当当T1的控制字中的控制字中M1、M0 = 01时,时,T1工作在方式工作在方式1,工作示意,工作示意见见图图7-10。21图图7-9 T0方式方式3时时T1为方式为方式0工作示意图工作示意图2222(3)T1工作在方式工作在方式2 当当T1控制字中控制字中M1、M0 = 10时,时,T1为方式为方式2,工作示意如,工
19、作示意如图图7-11所示。所示。22图图7-10 T0方式方式3时时T1为方式为方式1工作示意图工作示意图 图图7-11 T0方式方式3时时T1为方式为方式2工作示意图工作示意图2323(4)T1设置在方式设置在方式3 T0方式方式3时,再把时,再把T1也设置成方式也设置成方式3,此时,此时T1停止计数。停止计数。7.3 计数器模式计数器模式对外部输入的计数信号的要求对外部输入的计数信号的要求 计数器模式时,计数脉冲来自外部输入引脚计数器模式时,计数脉冲来自外部输入引脚T0或或T1。当输入信号产生负。当输入信号产生负跳变时,计数值增跳变时,计数值增1。每个机器周期。每个机器周期S5P2期间,都
20、对外部输入引脚期间,都对外部输入引脚T0或或T1进行采样。如在第进行采样。如在第1个机器周期中采得值为个机器周期中采得值为1,而在下一个机器周期中采得,而在下一个机器周期中采得的值为的值为0,则在紧跟着的再下一个机器周期,则在紧跟着的再下一个机器周期S3P1期间,计数器加期间,计数器加1。 由于确认一次负跳变要花由于确认一次负跳变要花2个机器周期,即个机器周期,即24个振荡周期,因此个振荡周期,因此外部输外部输入的计数脉冲的入的计数脉冲的最高频率最高频率为系统振荡器频率为系统振荡器频率1/24。 232424 如选用如选用6MHz晶体晶体,允许输入脉冲频率最高为,允许输入脉冲频率最高为250k
21、Hz。如选用。如选用12MHz频频率晶体,则可输入最高频率率晶体,则可输入最高频率500kHz外部脉冲。对外输入信号占空比没有限外部脉冲。对外输入信号占空比没有限制,但为确保某一给定电平在变化前能被采样制,但为确保某一给定电平在变化前能被采样1次,则次,则该该电平至少保持电平至少保持1个个机器周期机器周期。故对外部输入信号要求。故对外部输入信号要求见见图图7-12,图中,图中Tcy为机器周期。为机器周期。 图图7-12 对外部计数输入信号的要求对外部计数输入信号的要求2525257.4 7.4 定时器定时器/ /计数器计数器T1T1、T0T0的的编程和应用的的编程和应用 4种工作方式中,方式种
22、工作方式中,方式0与方式与方式1基本相同,只是计数位数不同。方式基本相同,只是计数位数不同。方式0为为13位,方式位,方式1为为16位。由于方式位。由于方式0是为兼容是为兼容MCS-48而设,计数初值计算而设,计数初值计算复杂,所以在实际应用中,一般不用方式复杂,所以在实际应用中,一般不用方式0,常采用方式,常采用方式1。7.4.1 P17.4.1 P1口控制口控制8 8只只LEDLED每每0.5s0.5s闪亮一次闪亮一次 【例【例7-17-1】在在AT89S51AT89S51的的P1P1口上接有口上接有8 8只只LEDLED,原理电路见,原理电路见图图7-137-13。采用采用T0T0方式方
23、式1 1的定时中断方式,使的定时中断方式,使P1P1口外接的口外接的8 8只只LEDLED每每0.5s0.5s闪亮一次闪亮一次。262626图图7-13 方式方式1定时中断控制定时中断控制LED闪亮闪亮2727(1)设置)设置TMOD寄存器寄存器 T0工作在方式工作在方式1,应使,应使TMOD寄存器的寄存器的M1、M0=01;应设置;应设置C/T*=0,为定,为定时器模式;对时器模式;对T0的的运行控制仅由运行控制仅由TR0来控制来控制,应使相应的,应使相应的GATE位为位为0。定时。定时器器T1不使用,各相关位均设为不使用,各相关位均设为0。所以,。所以,TMOD寄存器应初始化为寄存器应初始
24、化为0 x01。(2)计算定时器)计算定时器T0的计数初值的计数初值 设定时时间设定时时间5ms(即(即5 000s),设),设T0计数计数初值为初值为X,假设晶振的频率为,假设晶振的频率为11.059 2MHz,则定时时间为:,则定时时间为: 272828 定时时间定时时间=(216X)12/晶振频率晶振频率 则则 5 000=(216 X) 12/11.059 2 得得 X = 60 928 转换成十六进制转换成十六进制:0 xee00,其中,其中0 xee装入装入TH0,0 x00装入装入TL0。(3)设置)设置IE寄存器寄存器 本例由于采用定时器本例由于采用定时器T0中断,因此需将中断
25、,因此需将IE寄存器中的寄存器中的EA、ET0位置位置1。2929(4)启动和停止定时器)启动和停止定时器T0 将定时器控制寄存器将定时器控制寄存器TCON中的中的TR0=1,则启动定时器,则启动定时器T0;TR0=0,则,则停止定时器停止定时器T0定时。定时。参考程序:参考程序:#includechar i=100;void main ()TMOD=0 x01;/定时器定时器T0为为方式方式1TH0=0 xee;/设置定时器初值设置定时器初值TL0=0 x00;293030P1=0 x00;/P1口口8个个LED点亮点亮EA=1;/总中断开总中断开ET0=1;/开开T0中断中断TR0=1;/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第7章 定时器计数器ppt课件 本科 定时器 计数器 ppt 课件
限制150内