定时器-计数器-精品课件_第1页
定时器-计数器-精品课件_第2页
定时器-计数器-精品课件_第3页
定时器-计数器-精品课件_第4页
定时器-计数器-精品课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、定时器-计数器-2022/9/161第1页,共34页,2022年,5月20日,0点46分,星期三本章主要内容定时器/计数器的结构与控制定时器/计数器的4种工作方式定时器/计数器的应用举例2022/9/162第2页,共34页,2022年,5月20日,0点46分,星期三6.1.1 89S51定时器/计数器的结构89S51单片机内部有两个16-bit的定时器/计数器T1和T0,受特殊功能寄存器TMOD和TCON的控制,是16-bit加1计数器。结构如图6.1所示:2022/9/163第3页,共34页,2022年,5月20日,0点46分,星期三 定时器工作模式单片机芯片内振荡器输出经12分频后的脉冲加

2、计数,即每个机器周期使定时器/计数器(T0或T1)的数值加1直至计满溢出。2022/9/164第4页,共34页,2022年,5月20日,0点46分,星期三 计数器工作模式通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时定时器/计数器的值加1。CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。输入信号波形如下图所示。2022/9/165第5页,共34页,2022年,5月20日,0点46分,星期三 对输入脉冲宽度的要求2022/9/166第

3、6页,共34页,2022年,5月20日,0点46分,星期三6.1.2 定时器/计数器的控制工作方式控制寄存器TMOD特殊功能寄存器TMOD是89S51单片机的定时器/计数器工作方式控制寄存器,用于选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能位寻址,其格式如图6.2所示。2022/9/167第7页,共34页,2022年,5月20日,0点46分,星期三TMOD各位定义及具体的意义2022/9/168第8页,共34页,2022年,5月20日,0点46分,星期三2022/9/169第9页,共34页,2022年,5月20日,0点46分,星期三6.1.2 定时器/计数器的控制定时器/计数

4、器控制寄存器TCOM特殊功能寄存器TMOD的字节地址为88H,可位寻址。TCON的格式如图6.3所示 。2022/9/1610第10页,共34页,2022年,5月20日,0点46分,星期三 控制寄存器TCOM各位定义TCON中的低4-bit与外部中断有关,已在本书第5章中介绍 。TF1、TF0计数溢出标志位 当计数器作加1计数而产生溢出时,该位被单片机内部硬件电路自动置“1”。使用查询方式时,此位作为状态位供CPU查询,但应该注意的是,当CPU查询有效后,应采用软件指令及时将该位清“0”。使用中断方式时,此位作为中断请求标志位,CPU进入中断服务程序后,该位由单片机内部硬件电路自动清“0” 2

5、022/9/1611第11页,共34页,2022年,5月20日,0点46分,星期三 控制寄存器TCOM各位定义TR1、TR0加1计数运行控制位当TR1=1时,启动定时器/计数器T1进行加1计数;TR1=0时,停止定时器/计数器T1的计数。TR0=1时,启动定时器/计数器T0进行加1计数;TR0=0时,停止定时器/计数器T0的计数。TR1、TR0可以由软件置“1”和清“0”。 2022/9/1612第12页,共34页,2022年,5月20日,0点46分,星期三6.2 定时器/计数器的4种工作方式 工作方式1工作方式2工作方式3工作方式02022/9/1613第13页,共34页,2022年,5月2

6、0日,0点46分,星期三6.2.1 工作方式 1 当M1、M0为01时,定时器/计数器工作于工作方式1,等效逻辑结构图如图6.4所示(以定时器/计数器T1为例,所以 TMOD.5、TMOD.4=01)。2022/9/1614第14页,共34页,2022年,5月20日,0点46分,星期三6.2.1 工作方式 11. 两种工作模式的选择 定时器工作模式( ) 计数器工作模式( )2. 软件控制和硬件控制的选择 软件控制(当GATE=0时 ) 软件和硬件联合控制(当GATE=1时 )2022/9/1615第15页,共34页,2022年,5月20日,0点46分,星期三6.2.2 工作方式 2 当M1、

7、M0为10时,定时器/计数器工作于工作方式2,等效逻辑结构图如图6.4所示(以定时器/计数器T1为例,所以 TMOD.5、TMOD.4=10)。2022/9/1616第16页,共34页,2022年,5月20日,0点46分,星期三6.2.2 工作方式 21. 工作方式2时,16-bit的定时器/计数器T1被拆分为两个8-bit寄存器TH1和TL1,其中,TL1为加1计数器,TH1作为TL1的初值预置寄存器,并始终保持为初值常数。当TL1加1计数溢出时,溢出标志位TF1被硬件电路自动置“1”,同时,自动将TH1中的初值送给TL1,使TL1从初值开始重新加计数。 2. 工作方式2可以省去用户程序中重

8、装初值的指令执行时间,可以相当精确地定时。2022/9/1617第17页,共34页,2022年,5月20日,0点46分,星期三6.2.3 工作方式 3工作方式3是为了增加1个附加的8-bit定时器/计数器而设置的,从而使89S51具有3个定时器/计数器。工作方式3只适用于定时器/计数器T0,定时器/计数器T1不能工作在工作方式3 。2022/9/1618第18页,共34页,2022年,5月20日,0点46分,星期三 工作方式3下的T0 当TMOD.1、TMOD.0=11时,T0的工作方式被选为工作方式3,这时各引脚与T0的逻辑关系如图6.7所示。 2022/9/1619第19页,共34页,20

9、22年,5月20日,0点46分,星期三(a) TL0作为8-bit定时器/计数器(b) TH0作为8-bit定时器图6.7 T0工作方式3时的逻辑结构框图2022/9/1620第20页,共34页,2022年,5月20日,0点46分,星期三 T0工作方式3时T1的各种工作方式 1. 一般情况下,当T1用作串行口波特率发生器时,T0才工作于工作方式3。2. T0处于工作方式3时,T1可设置为工作方式0、工作方式1、工作方式2,用来作为串行口的波特率发生器,以确定串行通信的速率 。 2022/9/1621第21页,共34页,2022年,5月20日,0点46分,星期三 图6.8 T0工作方式3时T1为

10、工作方式0的工作示意图2022/9/1622第22页,共34页,2022年,5月20日,0点46分,星期三图6.9 T0工作方式3时T1为工作方式1的工作示意图2022/9/1623第23页,共34页,2022年,5月20日,0点46分,星期三图6.10 T0工作方式3时T1为工作方式2的工作示意图2022/9/1624第24页,共34页,2022年,5月20日,0点46分,星期三6.2.4 工作方式 0 当M1、M0为00时,定时器/计数器工作于工作方式1,等效逻辑结构图如图6.11所示(以定时器/计数器T1为例,所以 TMOD.5、TMOD.4=00)。2022/9/1625第25页,共3

11、4页,2022年,5月20日,0点46分,星期三 工作方式 0工作方式0与工作方式1的差别仅仅在于计数器的模不同,工作方式1为16-bit加1计数器,而工作方式0为13-bit加1计数器,由TL1的低5-bit和TH1的8-bit构成,当TL1的低5-bit计数溢出时,向TH1进位,TH1计数溢出时,将TCON中的溢出标志位置“1”。由于工作方式0是为了兼容MCS-48系列的单片机而设计的,并且其计数初值的计算比较复杂,所以在实际应用中,一般不使用工作方式0,而采用工作方式1。2022/9/1626第26页,共34页,2022年,5月20日,0点46分,星期三6.3 定时器/计数器的应用举例脉

12、冲信号的产生脉冲宽度的测量 2022/9/1627第27页,共34页,2022年,5月20日,0点46分,星期三6.3.1 脉冲信号的产生例6.1 设单片机的晶振频率为=12MHz,要求在P1.0引脚上输出周期为2ms的方波。分析:不妨设T1处于定时器工作模式,工作方式1。周期为2ms的方波要求定时间隔为1ms,每次定时1ms时间到,就将P1.0取反。定时器的计数信号频率为/12=1MHz,计数周期为12/=1s,也就是说,每个机器周期定时器就计数加1,而1ms=1000s,需计数次数为1000/(12/)=1000。由于加1计数器是向上计数,为了得到1000个计数之后的定时器溢出,必须给加1

13、计数器赋初值655361000=64536=FC18H,在C51语言中相当于1000。2022/9/1628第28页,共34页,2022年,5月20日,0点46分,星期三 汇编语言程序设计(采用中断方式 )ORG0000H; 复位入口AJMPSTARTORG001BH; T1溢出中断入口AJMPT1INTORG0030HSTART:MOVSP,#60H; 系统初始化MOVTMOD,#10H; 设置T1工作于定时工作方式1MOVTH1,#0FCH; 设置加1计数器的计数初值高字节MOVTL1,#18H; 设置加1计数器的计数初值低字节SETBTR1; 启动T1开始定时SETBET1; 开T1溢出

14、中断SETBEA; 开总允许中断MAIN:AJMPMAIN; 主程序(等待T1溢出中断)T1INT:CPLP1.0; T1溢出中断服务程序MOVTH1,#0FCH; T1重赋初值MOVTL1,#18HRETI2022/9/1629第29页,共34页,2022年,5月20日,0点46分,星期三6.3.2 脉冲宽度的测量例6.2 测量输入到单片机P3.3引脚上的周期性脉冲信号的脉冲宽度。分析:由前面的介绍可知,当GATE=1时,是一种采用软件和硬件联合控制的方法来实现计数器运行与否的控制。下面以T1为例,若GATE=1,则只有当TR1=1且=1时,T1计数。利用GATE的这一功能,可测量引脚,也就

15、是P3.3引脚上的周期性脉冲信号的脉冲宽度,其方法如图6.12所示。2022/9/1630第30页,共34页,2022年,5月20日,0点46分,星期三供参考的汇编语言源程序如下:ORG0000H; 复位入口AJMPMAINORG0030HMAIN:MOVSP,#60H; 系统初始化MOVTMOD,#90H; 设置T1工作于定时工作方式1,且GATE=1MOVTH1, #00H; T1从0开始作加1计数MOVTL1, #00HCLRTR1JBP3.3, $; 等待P3.3引脚的第一个下降沿JNBP3.3, $; 等待P3.3引脚的第一个上升沿SETBTR1; 启动T1开始定时JBP3.3, $

16、; P3.3引脚电平为高电平时,CPU等待CLR TR1; P3.3引脚电平变为低电平时停止T1的工作LCALL Display; 调用显示子程序,显示测量结果即脉冲宽度 2022/9/1631第31页,共34页,2022年,5月20日,0点46分,星期三思考题与习题 定时器/计数器处于定时器工作模式时,其计数脉冲由谁提供?定时时间与哪些因素有关?定时器/计数器处于计数器工作模式时,对外部计数脉冲频率有何限制?如果采用的晶振频率为6MHz,在定时器/计数器的工作方式0、工作方式1、工作方式2下,其最大的定时时间分别是多少?判断下列说法是否正确。 特殊功能寄存器SCON,与定时器/计数器的控制无

17、关。 特殊功能寄存器TCON,与定时器/计数器的控制无关。 特殊功能寄存器IE,与定时器/计数器的控制无关。 特殊功能寄存器TMOD,与定时器/计数器的控制无关。 利用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时器工作模式。定时1ms后,又转为计数器工作模式,如此循环不止。假定89S51单片机的晶振频率为6MHz,请使用工作方式1实现,要求编写相应的程序。2022/9/1632第32页,共34页,2022年,5月20日,0点46分,星期三思考题与习题 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?请编写程序,要求使用定时器/计数器T0,采用工作方式2定时,在P1.0引脚上输出周期为400s,占空比为101的矩形脉冲。一个定时器的定时时间有限,如何实现两个定时器的串行定时,来达到较长时间定时的目的?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论