第6章 定时器及应用_第1页
第6章 定时器及应用_第2页
第6章 定时器及应用_第3页
第6章 定时器及应用_第4页
第6章 定时器及应用_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、了解定时器了解定时器/计数器的结构与工作原理。计数器的结构与工作原理。掌握定时器掌握定时器/计数器的计数器的四种工作方式四种工作方式的特点的特点及及应用应用。第六章第六章 定时器及应用定时器及应用6.1 6.1 定时器概述定时器概述一、一、 89C5189C51定时器结构定时器结构二、二、 89C5189C51定时器功能定时器功能一、一、 89C5189C51定时器结构定时器结构l 89C5189C51定时器的结构如定时器的结构如 图图6-1 6-1 所示。所示。l 有两个有两个1616位的定时器位的定时器/ /计数器,即定时器计数器,即定时器0 0(T0T0)和)和定时器定时器1 1(T1T

2、1)。它们实际上都是)。它们实际上都是1616位加位加1 1计数器。计数器。l T0T0由两个由两个8 8位特殊功能寄存器位特殊功能寄存器TH0TH0和和TL0TL0构成;构成;T1T1由由TH1TH1和和TL1TL1构成。构成。图图6-1 89C51定定时时器器结结构构二、二、 80518051定时器功能定时器功能l 每个定时器都可由软件设置为每个定时器都可由软件设置为 定时工作方式定时工作方式或或 计数工作方式计数工作方式及其他灵活多样的可控功能方式。及其他灵活多样的可控功能方式。这些功能由特殊功能寄存器这些功能由特殊功能寄存器TMODTMOD和和TCONTCON所控制。所控制。定时工作方

3、式定时工作方式定时器计数定时器计数89C5189C51片内振荡器输出经片内振荡器输出经1212分分频后的脉冲,即每个机器周期使定时器(频后的脉冲,即每个机器周期使定时器(T0T0或或T1T1)的数值加)的数值加1 1直至计满溢出。直至计满溢出。当当89C51采用采用12MHz晶振时,一个机器晶振时,一个机器周期为周期为1s,计数频率为,计数频率为1MHz。计数工作方式计数工作方式l通过引脚通过引脚T0(P3.4)和)和T1(P3.5)对外部)对外部脉冲信号计数。当输入脉冲信号产生由脉冲信号计数。当输入脉冲信号产生由1至至0的下降沿时定时器的值加的下降沿时定时器的值加1。lCPU检测一个检测一个

4、1至至0的跳变需要两个机器周期,的跳变需要两个机器周期,故最高计数频率为振荡频率的故最高计数频率为振荡频率的1/24。l为了确保某个电平在变化之前被采样一次,为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周要求电平保持时间至少是一个完整的机器周期。期。二、二、 80518051定时器功能定时器功能l 定时器工作不占用定时器工作不占用CPUCPU时间,除非定时器时间,除非定时器/ /计数计数器溢出,才能中断器溢出,才能中断CPUCPU的当前操作。的当前操作。l 每个定时器每个定时器/ /计数器还有四种工作模式。其中模计数器还有四种工作模式。其中模式式0-20-2对对T

5、0T0和和T1T1是一样的,模式是一样的,模式3 3对两者不同。对两者不同。6.2 6.2 定时器的控制定时器的控制 l 一、一、 工作模式寄存器工作模式寄存器 TMODTMODl 二、二、 控制器寄存器控制器寄存器 TCONTCON一、一、 工作模式寄存器工作模式寄存器 TMODTMODlTMODTMOD用于控制用于控制T0T0和和T1T1的工作模式。的工作模式。lTMODTMOD不能位寻址,只能用字节设置定时器的不能位寻址,只能用字节设置定时器的工作模式,低半字节设置工作模式,低半字节设置T0T0,高半字节设置,高半字节设置T1T1。GATE C/ T M1 M0 GATEM1C/ TM0

6、定时器定时器T1定时器定时器T0TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0图图6-3 工作模式寄存器工作模式寄存器TMOD的位定义的位定义图图6-4 TMOD各位定义及具体的意义各位定义及具体的意义TMOD各位的功能各位的功能 M1M1和和M0M0操作模式控制位。操作模式控制位。 两位可形成四种编码,对应于四种模式。两位可形成四种编码,对应于四种模式。见见 表表6-16-1。表表6-1 M1,M0控制的四种工作模式控制的四种工作模式M1 M0工工作作模模式式功功能能描描述述0 0模模式式 013 位位计计数数器器0 1模模式式 116 位位计计数数器器1 0模模式式 2

7、自自动动再再装装入入 8 位位计计数数器器1 1模模式式 3定定时时器器 0:分分成成二二个个 8 位位计计数数器器 定定时时器器 1:停停止止计计数数 C/T C/T计数器计数器/ /定时器方式选择位。定时器方式选择位。 C/T=0C/T=0,设置为,设置为定时方式定时方式。定时器计数。定时器计数80518051片内脉冲,即对机器周期计片内脉冲,即对机器周期计数。数。 C/T=1C/T=1,设置为,设置为计数方式计数方式。计数器的输入。计数器的输入来自来自T0T0(P3.4P3.4)或)或T1T1(P3.5P3.5)端)端的外部脉冲的外部脉冲 。 TMOD各位的功能各位的功能 GATE GA

8、TE门控位。门控位。 GATE=0GATE=0,只要用软件使只要用软件使TR0TR0(或(或TR1TR1)置)置1 1就可以就可以启动定时器,而不管启动定时器,而不管INT0INT0(或(或INT1INT1)的)的电平是高还是低。电平是高还是低。 GATE=1GATE=1,只有只有INT0INT0(或(或INT1INT1)引脚为高电平且由)引脚为高电平且由软件使软件使TR0TR0(或(或TR1TR1)置)置1 1时,才能启动时,才能启动定时器工作。定时器工作。TMOD各位的功能各位的功能二、二、 控制器寄存器控制器寄存器 TCONl TCONTCON除可字节寻址外,各位还可位寻址除可字节寻址外

9、,各位还可位寻址。l 80518051系统复位时,系统复位时,TCONTCON的所有位被清的所有位被清0 0。 TF1 TR1 TF0 TR0 IE1IE0IT1IT0TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H图图6-6 TCON各位定义及具体的意义各位定义及具体的意义TCON各位的功能各位的功能 TF1 TF1(TCON.7) T1TCON.7) T1溢出标志位。溢出标志位。 当当T1T1溢出溢出时,由硬件自动使中断触发器时,由硬件自动使中断触发器TF1TF1置置1 1,并,并CPUCPU申请中断。申请中断。 当当CPUCPU响应中断进入中断服务程序后

10、响应中断进入中断服务程序后,TF1TF1由被硬件由被硬件自动清自动清0 0。TF1TF1也可以用也可以用软件清软件清0 0。 TF0 TF0 (TCON.5)T0TCON.5)T0溢出标志位。溢出标志位。 其功能和操作情况同其功能和操作情况同TF1TF1。 TR1(TCON.6)T1 TR1(TCON.6)T1运行控制位。运行控制位。 可通过软件置可通过软件置1 1(TR1=1TR1=1)或清)或清0 0(TR1=0TR1=0)来)来启启动动或或 关闭关闭 T1T1。 在程序中用指令在程序中用指令“SETB TR1SETB TR1”使使TR1TR1位置位置1 1,定时器定时器T1T1便开始计数

11、。便开始计数。 TR0(TCON.4)T0 TR0(TCON.4)T0运行控制位。运行控制位。 其功能和操作情况同其功能和操作情况同TR1TR1。TCON各位的功能各位的功能一、一、 模式模式 1 及其应用及其应用6.3 定时器的四种模式及应用定时器的四种模式及应用l 该模式对应的是一个该模式对应的是一个1616位的定时器位的定时器/ /计数器计数器。l 用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为: t=(2t=(21616T0T0初值初值) )振荡周期振荡周期1212l 用于计数工作方式时,计数长度最大为:用于计数工作方式时,计数长度最大为: 2 21616=65536=

12、65536(个外部脉冲)(个外部脉冲)l例例6-16-1:用定时器:用定时器T1T1产生一个产生一个50Hz50Hz的方波,由的方波,由 P1.1 P1.1输出。,使用程输出。,使用程序查询方式,序查询方式,fosc=12MHzfosc=12MHz。解:解: 方波周期方波周期T=1/50=0.02s =20msT=1/50=0.02s =20ms 用用T1T1定时定时10ms10ms 计数初值计数初值X X为:为: X=2X=21616121210101000/121000/12 =65536 =6553610000=55536=D8F0H10000=55536=D8F0H MOV TMOD,

13、#10H ; T1模式模式1,定时,定时 SETB TR1 ; 启动启动T1LOOP:MOV TH1,#0D8H ; 装入装入T1计数初值计数初值 MOV TL1,#0F0H JNB TF1,$ ;T1没有溢出等待没有溢出等待 CLR TF1 ; 产生溢出,清标志位产生溢出,清标志位 CPL P1.1 ; p1.1取反输出取反输出 SJMP LOOP ;循环循环 ORG 0000H LJMP MAIN ORG 001BH LJMP CTT1 ORG 0030HMain: MOV SP,#4FH MOV TH1,#0D8H MOV TL1,#0F0H MOV TMOD,#10H MOV R0,#

14、100 SETB EA SETB ET1 SETB TR1 SJMP $CTT1:MOV TH1,#0D8H MOV TL1,#0F0H DJNZ R0,L1 CPL P1.1 MOV R0,#100 L1: RETI END 二、二、 模式模式 2 及其应用及其应用l T0T0在模式在模式 2 2 的逻辑电路结构如的逻辑电路结构如 图图6-86-8所示。(所示。(T1T1相同)相同)l TL0TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志位TF0TF0置置1 1,而且还自,而且还自动把动把TH0TH0中的内容重新装载到中的内容重新装载到TL0TL0中。中。l TL0TL

15、0用作用作8 8位计数器,位计数器,TH0TH0用以保存初值。用以保存初值。图图6-8 T0(或(或T1)模式)模式2结构结构8位计数器位计数器l 该模式把该模式把TL0(TL1)TL0(TL1)配置成一个可以自动重装载的配置成一个可以自动重装载的8 8位定时器位定时器/ /计数器。计数器。l 在程序初始化时,在程序初始化时,TL0TL0和和TH0TH0由软件赋予相同的初值。由软件赋予相同的初值。l 用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(2t=(28 8TH0TH0初值初值) )振荡周期振荡周期1212l 用于计数工作方式时,计数长度最大为:用于计数工作方式时,

16、计数长度最大为:2 28 8=256=256(个外部脉冲)(个外部脉冲)l 该模式可省去软件中重装常数的语句,并可产生相该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。当精确的定时时间,适合于作串行口波特率发生器。l例例6-36-3:利用定时器:利用定时器T1T1的模式的模式2 2对外对外部信号计数。要求设计满部信号计数。要求设计满100100次,次,将将 P1.0P1.0端取反。端取反。解:解:(1)选择模式)选择模式 外部信号由外部信号由T1(P3.5)引脚输入,每发生一次负)引脚输入,每发生一次负跳变计数器加跳变计数器加1,每输入,每输入100个

17、脉冲,计数器发生个脉冲,计数器发生溢出中断,中断服务程序将溢出中断,中断服务程序将P1.0取反一次。取反一次。l T1计数工作方式模式计数工作方式模式2的模式字为的模式字为(TMOD)=60H。 T0不用时,不用时,TMOD的低的低4位可任取,但不能进入模位可任取,但不能进入模式式3,一般取,一般取0。(2)计算)计算T1的计数初值的计数初值 X= 2X= 28 8 100=156=9CH100=156=9CH 因此因此:TL1:TL1的初值为的初值为9CH9CH, 重装初值寄存器重装初值寄存器TH1=9CHTH1=9CH。(3)程序清单)程序清单 MAIN: MOV TMOD,#60H ;设

18、置;设置T1为模式为模式2,外部计数方式外部计数方式 MOV TL1,#9CH ;T1计数器初值计数器初值 MOV TH1,#9CH MOV IE,#88H ; 定时器开中断定时器开中断 SETB TR1 ;启动;启动T1计数计数 HERE:SJMP HERE ;等待中断;等待中断 ORG 001BH ;中断服务程序入口;中断服务程序入口 CPL P1.0 RETI 三、模式三、模式 3 及应用及应用l 工作模式工作模式3 3对对T0T0和和T1T1大不相同。大不相同。图图6-10 T0模式模式3结构结构1、T0模式3的逻辑电路结构l T0T0模式模式3 3的逻辑电路结构如的逻辑电路结构如 图

19、图6-106-10所示。所示。l T0T0设置为模式设置为模式3 3,TL0TL0和和TH0TH0被分成两个相互独立的被分成两个相互独立的8 8位计数器。位计数器。l TL0TL0用原用原T0T0的各控制位、引脚和中断源,即的各控制位、引脚和中断源,即C/TC/T,GATEGATE,TR0TR0,TF0TF0,T0T0(P3.4P3.4)引脚,)引脚,INT0INT0(P3.2P3.2)引脚。引脚。l TL0TL0可工作在定时器方式和计数器方式。其功能和可工作在定时器方式和计数器方式。其功能和操作与模式操作与模式0 0、模式、模式1 1相同(只是相同(只是8 8位)。位)。1、T0模式3的逻辑

20、电路结构l 它占用了定时器它占用了定时器T1T1的控制位的控制位TR1TR1和和T1T1的中断标志的中断标志TF1TF1,其启动和关闭仅受其启动和关闭仅受TR1TR1的控制。的控制。l TH0TH0只可用作简单的内部定时功能。只可用作简单的内部定时功能。2、T0模式3下T1的逻辑电路结构l 定时器定时器T1T1无工作模式无工作模式3 3状态。在状态。在T0T0用作模式用作模式3 3时,时,T1T1仍可设仍可设置为模式置为模式0 02 2。l T0T0模式模式3 3下下T1T1的逻辑电路结构如的逻辑电路结构如 图图6-12 6-12 所示。所示。图图6-11 T0模式模式3时时T1结构结构l一般作波特率发生器一般作波特率发生器四、四、 综合应用举例综合应用举例(例(例6-56-5)l例例6-56-5:设时钟频率为:设时钟频率为6MHz6MHz。编写。编写利用利用T0T0产生产生1s1s定时的程序。定时的程序。 ORG 0000H LJMP MAIN ; ORG 0

温馨提示

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

评论

0/150

提交评论