《定时器及应用举例》PPT课件.ppt

上传人:wuy****n92 文档编号:55135428 上传时间:2022-10-30 格式:PPT 页数:91 大小:501.50KB
返回 下载 相关 举报
《定时器及应用举例》PPT课件.ppt_第1页
第1页 / 共91页
《定时器及应用举例》PPT课件.ppt_第2页
第2页 / 共91页
点击查看更多>>
资源描述

《《定时器及应用举例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《定时器及应用举例》PPT课件.ppt(91页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、6.1 6.1 定时器概述定时器概述6.2 6.2 定时器的控制定时器的控制 6.3 6.3 定时器的四种模式及应用定时器的四种模式及应用 6.4 6.4 思考题与习题思考题与习题第六章第六章 定时器及应用定时器及应用6.1 6.1 定时器概述定时器概述6.1.1 89C516.1.1 89C51定时器结构定时器结构6.1.2 89C516.1.2 89C51定时器功能定时器功能6.1.1 89C516.1.1 89C51定时器结构定时器结构l89C5189C51定时器的结构如定时器的结构如 图图6-1 6-1 所示。所示。l有两个有两个1616位的定时器位的定时器/计数器,即定时器计数器,即

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

3、能寄存器TMODTMOD和和TCONTCON所控制。所控制。l定时器工作不占用定时器工作不占用CPUCPU时间,除非定时器时间,除非定时器/计数器计数器溢出,才能中断溢出,才能中断CPUCPU的当前操作。的当前操作。l每个定时器每个定时器/计数器还有四种工作模式。其中模计数器还有四种工作模式。其中模式式0-20-2对对T0T0和和T1T1是一样的,模式是一样的,模式3 3对两者不同。对两者不同。定时工作方式定时工作方式定时器计数定时器计数89C5189C51片内振荡器输出经片内振荡器输出经1212分分频后的脉冲,即每个机器周期使定时器(频后的脉冲,即每个机器周期使定时器(T0T0或或T1T1)

4、的数值加)的数值加1 1直至计满溢出。直至计满溢出。当当89C51采用采用12MHz晶振时,一个机器晶振时,一个机器周期为周期为1s,计数频率为,计数频率为1MHz。计数工作方式计数工作方式l通过引脚通过引脚T0()和()和T1()对()对外部脉冲外部脉冲信号信号计数计数。当输入脉冲信号产生由当输入脉冲信号产生由1至至0的下降沿时定时器的值的下降沿时定时器的值加加1。lCPU检测一个检测一个1至至0的跳变需要两个机器周期,故最的跳变需要两个机器周期,故最高计数频率为振荡频率的高计数频率为振荡频率的1/24。l为了确保某个电平在变化之前被采样一次,要求电为了确保某个电平在变化之前被采样一次,要求

5、电平保持时间至少是一个完整的机器周期。平保持时间至少是一个完整的机器周期。l对输入脉冲信号的基本要求如对输入脉冲信号的基本要求如 图图6-2所示。所示。图图6-2 对输入脉冲宽度的要求对输入脉冲宽度的要求6.2 6.2 定时器的控制定时器的控制 l6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMOD TMODl6.2.2 6.2.2 控制器寄存器控制器寄存器 TCON TCON6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMOD TMODlTMODTMOD用于控制用于控制T0T0和和T1T1的工作模式。的工作模式。lTMODTMOD不能位寻址,只能用字节设置定时器的工作模不

6、能位寻址,只能用字节设置定时器的工作模式,低半字节设置式,低半字节设置T0T0,高半字节设置,高半字节设置T1T1。l89C5189C51系统复位时,系统复位时,TMODTMOD的所有位被清的所有位被清0 0。lTMODTMOD各位的定义格式如各位的定义格式如 图图6-3 6-3 所示。所示。lTMODTMOD各位的功能:各位的功能:lTMODTMOD各位定义及具体的意义归纳如各位定义及具体的意义归纳如 图图6-46-4所示所示。GATE C/T M1 M0 GATEM1C/TM0定时器定时器T1定时器定时器T0TMOD(89H)D7 D6 D5 D4 D3 D2 D1 D0图图6-3 工作模

7、式寄存器工作模式寄存器TMOD的位定义的位定义图图6-4 TMOD各位定义及具体的意义各位定义及具体的意义TMOD各位的功能各位的功能 M1M1和和M0M0操作模式控制位。操作模式控制位。两位可形成四种编码,对应于四种模式。两位可形成四种编码,对应于四种模式。见见 表表6-16-1。表表6-1 M1,M0控制的四种工作模式控制的四种工作模式 C/T C/T计数器计数器/定时器方式选择位。定时器方式选择位。C/T=0C/T=0,设置为,设置为定时方式定时方式。定时器计数。定时器计数89C5189C51片内脉冲,即对机器周期计片内脉冲,即对机器周期计数。数。C/T=1 C/T=1,设置为,设置为计

8、数方式计数方式。计数器的。计数器的输入输入来自来自T0T0()()或或T1T1()端的()端的外部脉外部脉冲冲 。TMOD各位的功能各位的功能 GATE GATE门控位。门控位。GATE=0 GATE=0,只要用软件使只要用软件使TR0TR0(或(或TR1TR1)置)置1 1就可以就可以启动定时器,而不管启动定时器,而不管INT0INT0(或(或INT1INT1)的)的电平是高还是低。电平是高还是低。GATE=1GATE=1,只有只有INT0INT0(或(或INT1INT1)引脚为高电平且由)引脚为高电平且由软件使软件使TR0TR0(或(或TR1TR1)置)置1 1时,才能启动时,才能启动定时

9、器工作。定时器工作。TMOD各位的功能各位的功能6.2.2 控制器寄存器控制器寄存器 TCONlTCONTCON除可字节寻址外,各位还可位寻址除可字节寻址外,各位还可位寻址。l89C5189C51系统复位时,系统复位时,TCONTCON的所有位被清的所有位被清0 0。lTCONTCON各位的定义格式如各位的定义格式如 图图6-56-5所示。所示。lTCONTCON各位的功能:各位的功能:lTCONTCON各位定义及具体的意义归纳如各位定义及具体的意义归纳如 图图6-66-6所示。所示。TF1 TR1 TF0 TR0 IE1IE0IT1IT0TCON(88H)8FH 8EH 8DH 8CH 8B

10、H 8AH 89H 88H图图6-5 控制寄存器控制寄存器TCON的位定义的位定义图图6-6 TCON各位定义及具体的意义各位定义及具体的意义TCON各位的功能各位的功能 TF1 TF1(TCON.7)T1TCON.7)T1溢出标志位。溢出标志位。当当T1T1溢出溢出时,由硬件自动使中断触发器时,由硬件自动使中断触发器TF1TF1置置1 1,并,并CPUCPU申请中断。申请中断。当当CPUCPU响应中断进入中断服务程序后响应中断进入中断服务程序后,TF1TF1由被硬件由被硬件自动清自动清0 0。TF1TF1也可以用也可以用软件清软件清0 0。TF0 TF0(TCON.5)T0TCON.5)T0

11、溢出标志位。溢出标志位。其功能和操作情况同其功能和操作情况同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便开始计数。便开始计数。TR0(TCON.4)T0 TR0(TCON.4)T0运行控制位。运行控制位。其功能和操作情况同其功能和操作情况同TR1TR1。TCON各位的功能各位的功能 IE1IE1,

12、IT1IT1,IE0IE0,TCON.0)TCON.0)外部中断外部中断INT1INT1,INT0INT0请求及请求方式控制位。前一请求及请求方式控制位。前一章已经讲过。章已经讲过。TCON各位的功能各位的功能6.3 定时器的四种模式及应用定时器的四种模式及应用 l 模式模式 0 0 及其应用及其应用l 模式模式 1 1 及其应用及其应用l 模式模式 2 2 及其应用及其应用l 模式模式 3 3 及其应用及其应用l 综合应用举例综合应用举例6.3.1 模式模式 0 及其应用及其应用一、模式一、模式 0 0 的逻辑电路结构的逻辑电路结构二、模式二、模式 0 0 工作特点工作特点三、模式三、模式

13、0 0 的应用举例的应用举例一、模式一、模式 0 的逻辑电路结构的逻辑电路结构T0T0在模式在模式 0 0 的逻辑电路结构如图所示。的逻辑电路结构如图所示。(T1T1相同)相同)T0(或(或T1)模式)模式0结构结构13位计数器位计数器二、模式二、模式 0 工作特点工作特点l在这种模式下,在这种模式下,1616位寄存器(位寄存器(TH0TH0和和TL0TL0)只)只用了用了1313位。其中位。其中TL0TL0的高的高3 3位未用位未用,其余,其余5 5位位为整个为整个1313位的低位的低5 5为,为,TH0TH0占高占高8 8位。当位。当TL0TL0的的低低5 5位溢出时,向位溢出时,向TH0

14、TH0进位;进位;TH0TH0溢出时,向溢出时,向中断标志中断标志TF0TF0进位(硬件置位进位(硬件置位TF0TF0),并申请),并申请中断。中断。l定时时间为:定时时间为:t=(2 t=(21313T0T0初值初值)振荡周期振荡周期12126.3.2 模式模式 1 及其应用及其应用一、模式一、模式 1 1 的逻辑电路结构的逻辑电路结构二、模式二、模式 1 1 工作特点工作特点三、模式三、模式 1 1 的应用举例的应用举例一、模式一、模式 1 的逻辑电路结构的逻辑电路结构T0T0在模式在模式 1 1 的逻辑电路结构如的逻辑电路结构如 图图6-76-7所示。所示。(T1T1相同)相同)图图6-

15、7 T0(或(或T1)模式)模式1结构结构16位计数器位计数器二、模式二、模式 1 工作特点工作特点l该模式对应的是一个该模式对应的是一个1616位的定时器位的定时器/计数器计数器。l用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(2t=(21616T0T0初值初值)振荡周期振荡周期1212l用于计数工作方式时,计数长度最大为:用于计数工作方式时,计数长度最大为:2 21616=65536=65536(个外部脉冲)(个外部脉冲)三、模式三、模式 1 的应用举例的应用举例(例(例6-16-1)l例例6-16-1:用定时器:用定时器T1T1产生一个产生一个50Hz50Hz的的

16、方波,由方波,由 输出。使用程序查询方式,输出。使用程序查询方式,fosc=12MHzfosc=12MHz。三、模式三、模式 1 的应用举例的应用举例(例(例6-16-1)解:解:方波周期方波周期T=1/50=0.02s=20msT=1/50=0.02s=20ms 用用T1T1定时定时10ms10ms 计数初值计数初值X X为:为:X=X=2 2161612101000/1212101000/12 =65536 =6553610000=55536=D8F0H10000=55536=D8F0H(TH1)=D8H (TL1)=F0HGATE C/T M1 M0 GATEM1C/TM0定时器定时器T

17、1定时器定时器T0TMOD(89H)D7 D6 D5 D4 D3 D2 D1 D0图图6-3 工作模式寄存器工作模式寄存器TMOD的位定义的位定义10000000三、模式三、模式 1 的应用举例的应用举例(例(例6-46-4)源程序清单:源程序清单:MOV TMOD,#10H ;设置;设置T1为模式为模式1 SETB TR1 ;启动定时;启动定时LOOP:MOV TL1,#0D8H ;送初值;送初值 MOV TH1,#0F0H JNB TF1,$;查询定时时间到否;查询定时时间到否 CLR TF1 ;产生溢出,清标志位产生溢出,清标志位 CPL P1.1 ;取反;取反 SJMP LOOP ;重

18、复循环;重复循环6.3.3 模式模式 2 及其应用及其应用一、模式一、模式 2 2 的逻辑电路结构的逻辑电路结构二、模式二、模式 2 2 工作特点工作特点三、模式三、模式 2 2 的应用举例的应用举例一、模式一、模式 2 的逻辑电路结构的逻辑电路结构lT0T0在模式在模式 2 2 的逻辑电路结构如的逻辑电路结构如 图图6-86-8所示。(所示。(T1T1相同)相同)lTL0TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志位TF0TF0置置1 1,而且还自,而且还自动把动把TH0TH0中的内容重新装载到中的内容重新装载到TL0TL0中。中。lTL0TL0用作用作8 8位计数器

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

20、度最大为:2 28 8=256=256(个外部脉冲)(个外部脉冲)l该模式可省去软件中重装常数的语句,并可产生相该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,当精确的定时时间,适合于作串行口波特率适合于作串行口波特率发生器。发生器。三、模式三、模式 2 的应用举例的应用举例(例(例6-26-2)l例例6-26-2:当引脚上的电平发生负跳变:当引脚上的电平发生负跳变时,时,从从输出一个输出一个500s500s的同步脉冲。的同步脉冲。请编程序实现该功能。查询方式,请编程序实现该功能。查询方式,fosc=6MHzfosc=6MHz。三、模式三、模式 2 的应用举例的应用举例(例(例6

21、-26-2)解:解:(1 1)模式选择)模式选择 选选T0T0为模式为模式2 2,外部事件计数方式。,外部事件计数方式。当引脚上的电平发生负跳变时,当引脚上的电平发生负跳变时,T0T0计数器加计数器加1 1,溢出标志,溢出标志TF0TF0置置1 1;然后改变;然后改变T0T0为为500s500s定时工作方式,并使定时工作方式,并使输出由输出由1 1变为变为0 0。T0T0定时到产生溢出,使输出恢复高电平,定时到产生溢出,使输出恢复高电平,T0T0又恢复外部又恢复外部事件计数方式。事件计数方式。如如 图图6-96-9 所示。所示。图图6-9 功能描述功能描述三、模式三、模式 2 的应用举例的应用

22、举例(例(例6-26-2)(2 2)计算初值)计算初值l T0工作在外部事件计数方式工作在外部事件计数方式,当计数到,当计数到28-1时,时,再加再加1计数器就会溢出。设计数初值为计数器就会溢出。设计数初值为X,当再出,当再出现一次外部事件时,计数器溢出。现一次外部事件时,计数器溢出。则则:X+1=28 X=28 1=11111111B=0FFHl T0工作在定时工作方式工作在定时工作方式,设晶振频率为,设晶振频率为6MHz,500s相当于相当于250个机器周期。因此,初值个机器周期。因此,初值X为为 (28X)2s=500s X=6=06H三、模式三、模式 2 的应用举例的应用举例(例(例6

23、-26-2)(3 3)程序清单)程序清单START:MOV TMOD,#06H ;设置;设置T0为模式为模式2,外部计数方式外部计数方式 MOV TL0,#0FFH ;T0计数器初值计数器初值 MOV TH0,#0FFH SETB TR0 ;启动;启动T0计数计数 LOOP1:JBC TF0,PTFO1 ;查询;查询T0溢出标志,溢出标志,;TF0=1时转,且清时转,且清TF0=0 SJMP LOOP1 ;三、模式三、模式 2 的应用举例的应用举例(例(例6-26-2)PTFO1:CLR TR0 ;停止计数;停止计数 MOV TMOD,#02H ;设置;设置T0为模式为模式2,定时方式,定时方

24、式 MOV TL0,#06H ;送初值,定时;送初值,定时500s MOV TH0,#06H清清0 SETB TR0 ;启动定时;启动定时500s LOOP2:JBC TF0,PTFO2 ;查询;查询T0溢出标志,溢出标志,;TF0=1时转,且清时转,且清TF0=0 ;(第一个(第一个500s到否?)到否?)SJMP LOOP2 ;等待中断,虚拟主程序;等待中断,虚拟主程序 PTFO2:SETB P1.0 ;置置1 CLR TR0 ;停止计数;停止计数 SJMP START三、模式三、模式 2 的应用举例的应用举例(例(例6-36-3)l例例6-36-3:利用定时器:利用定时器T1T1的模式的

25、模式2 2对外对外部信号计数。要求每计满部信号计数。要求每计满100100次,将次,将 端取反。端取反。三、模式三、模式 2 的应用举例的应用举例(例(例6-36-3)解:解:(1)选择模式)选择模式 外部信号由外部信号由T1()引脚输入,每发生一次负跳变()引脚输入,每发生一次负跳变计数器加计数器加1,每输入,每输入100个脉冲,计数器发生溢出个脉冲,计数器发生溢出中断,中断服务程序将取反一次。中断,中断服务程序将取反一次。l T1计数工作方式模式计数工作方式模式2的模式字为的模式字为(TMOD)=60H。T0不用时,不用时,TMOD的低的低4位可任取,但不能进入模位可任取,但不能进入模式式

26、3,一般取,一般取0。三、模式三、模式 2 的应用举例的应用举例(例(例6-36-3)(2)计算)计算T1的计数初值的计数初值 X=2X=28 8 100=156=9CH100=156=9CH 因此因此:TL1:TL1的初值为的初值为9CH9CH,重装初值寄存器重装初值寄存器TH1=9CHTH1=9CH。三、模式三、模式 2 的应用举例的应用举例(例(例6-36-3)(3)程序清单)程序清单 MAIN:MOV TMOD,#60H ;设置;设置T1为模式为模式2,外部计数方式外部计数方式 MOV TL1,#9CH ;T1计数器初值计数器初值 MOV TH1,#9CH MOV IE,#88H ;定

27、时器开中断定时器开中断 SETB TR1 ;启动;启动T1计数计数 HERE:SJMP HERE ;等待中断;等待中断 ORG 001BH ;中断服务程序入口;中断服务程序入口 RETI6.3.4 模式模式 3 及其应用及其应用一、模式一、模式 3 3 的逻辑电路结构的逻辑电路结构二、模式二、模式 3 3 的应用举例的应用举例一、模式一、模式 3 的逻辑电路结构的逻辑电路结构l工作模式工作模式3 3对对T0T0和和T1T1大不相同。大不相同。1 1、T0T0模式模式3 3的逻辑电路结构的逻辑电路结构2 2、T0T0模式模式3 3下下T1T1的逻辑电路结构的逻辑电路结构1、T0模式3的逻辑电路结

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

29、)。位)。图图6-10 T0模式模式3结构结构1、T0模式3的逻辑电路结构l它占用了定时器它占用了定时器T1T1的控制位的控制位TR1TR1和和T1T1的中断标志的中断标志TF1TF1,其启动和关闭仅受,其启动和关闭仅受TR1TR1的控制。的控制。lTH0TH0只可用作只可用作简单的内部定时功能简单的内部定时功能。2、T0模式3下T1的逻辑电路结构l定时器定时器T1T1无工作模式无工作模式3 3状态。在状态。在T0T0用作模式用作模式3 3时,时,T1T1仍可设置为模式仍可设置为模式0 02 2。lT0T0模式模式3 3下下T1T1的逻辑电路结构的逻辑电路结构如如 图图6-12 6-12 所示

30、。所示。l由于由于TR1和和TF1被定时器被定时器T0占用,计数器开关占用,计数器开关K已被接通,此时,仅用已被接通,此时,仅用T1控制位,控制位,C/T切换其定切换其定时或计数器工作方式就可使时或计数器工作方式就可使T1运行。当计数器运行。当计数器溢出时,只能将输出送入串行口或用于不需要中溢出时,只能将输出送入串行口或用于不需要中断的场合。一般作波特率发生器断的场合。一般作波特率发生器图图6-11 T0模式模式3时时T1结构结构二、模式二、模式 3 的应用举例的应用举例(例(例6-46-4)l例例6-76-7:设某用户系统已使用了两个:设某用户系统已使用了两个外部中断源,并置定时器外部中断源

31、,并置定时器T1T1工作在工作在模式模式2 2,作串行口波特率发生器用。,作串行口波特率发生器用。现要求再增加一个外部中断源,并现要求再增加一个外部中断源,并由引脚输出一个由引脚输出一个5kHz5kHz的方波。的方波。Fosc=12MHz.Fosc=12MHz.二、模式二、模式 3 的应用举例的应用举例(例(例6-46-4)解:解:(1)工作模式)工作模式l 可设置可设置T0T0工作在模式工作在模式3 3计数器方式计数器方式,把,把T0T0的引脚的引脚作附加的外部中断输入端,作附加的外部中断输入端,TL0TL0的计数初值为的计数初值为FFHFFH,当检测到当检测到T0T0引脚电平出现由引脚电平

32、出现由1 1至至0 0的负跳变时,的负跳变时,TL0TL0产生溢出,申请中断。产生溢出,申请中断。l T0T0模式模式3 3下,下,TL0TL0作计数用,而作计数用,而TH0TH0用作用作8 8位的定位的定时器时器,定时控制引脚输出,定时控制引脚输出5kHz5kHz的方波信号。的方波信号。二、模式二、模式 3 的应用举例的应用举例(例(例6-46-4)(2)计算初值)计算初值lTL0TL0的计数初值为的计数初值为FFHFFH。lTH0TH0的计数初值的计数初值X X为:为:方波周期方波周期T=1/(5kHz)=0.2ms=200sT=1/(5kHz)=0.2ms=200s 用用TH0TH0作定

33、时作定时100s100s时,时,X=256-100 12/12=156X=256-100 12/12=156二、模式二、模式 3 的应用举例的应用举例(例(例6-46-4)(3)程序清单)程序清单 MOV TMOD,#27H ;T0为模式为模式3,计数方式计数方式 ;T1为模式为模式2,定时方式,定时方式 MOV TL0,#0FFH ;TL0计数初值计数初值 MOV TH0,#156 ;TH0计数初值计数初值 MOV TL1,#data ;data是根据波特率是根据波特率 ;要求设置的常数(初值);要求设置的常数(初值)MOV TH1,#data MOV TCON,#55H ;外中断;外中断0

34、,外中断,外中断1边沿触发,边沿触发,;启动;启动T0,T1 MOV IE,#9FH ;开放全部开放全部中断中断 二、模式二、模式 3 的应用举例的应用举例(例(例6-46-4)TL0溢出中断服务程序(由溢出中断服务程序(由000BH转来)转来)TL0INT:MOV TL0,#0FFH ;TL0重赋初值重赋初值 (中断处理)(中断处理)RETI TH0溢出溢出 TH0溢出中断服务程序(由溢出中断服务程序(由001BH转来)转来)TH0INT:MOV TH0,#156 ;TH0重赋初值重赋初值 取反输出取反输出 RETI串行口及外部中断串行口及外部中断0,外部中断,外部中断1的服务程序略。的服务

35、程序略。6.3.5 综合应用举例综合应用举例(例(例6-46-4)l例例6-86-8:设时钟频率为:设时钟频率为6MHz6MHz。编写利。编写利用用T0T0产生产生1s1s定时的程序。定时的程序。6.3.5 综合应用举例综合应用举例(例(例6-56-5)解:解:(1)定时器)定时器T0工作模式的确定工作模式的确定模式模式0 0最长可定时最长可定时16.384ms;16.384ms;模式模式1 1最长可定时最长可定时131.072ms;131.072ms;模式模式2 2最长可定时最长可定时512s;512s;定时定时1s,可选用模式,可选用模式1,每隔,每隔100ms中断一中断一 次,中断次,中

36、断10次为次为1s。6.3.5 综合应用举例综合应用举例(例(例6-56-5)(2)求计数器初值)求计数器初值X (216X)12/(6 106)=10010-3 s X=15536=3CB0H 因此:因此:(TL0)=0B0H (TH0)=3CH6.3.5 综合应用举例综合应用举例(例(例6-56-5)(3)实现方法实现方法 对于中断对于中断10次计数,可使次计数,可使T0工作在计数方工作在计数方式,也可用循环程序的方法实现。式,也可用循环程序的方法实现。本例采本例采用循环程序法。用循环程序法。6.3.5 综合应用举例综合应用举例(例(例6-56-5)(4)源程序清单)源程序清单 ORG 0

37、000H AJMP MAIN ;上电,转向主程序上电,转向主程序 ORG 000BH ;T0的中断服务程序入口地址的中断服务程序入口地址 AJMP SERVE ;转向中断服务程序;转向中断服务程序 ORG 2000H ;主程序;主程序6.3.5 综合应用举例综合应用举例(例(例6-56-5)MAIN:MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV B,#0AH ;设循环次数;设循环次数 MOV TMOD,#01H ;设置;设置T0工作于模式工作于模式1 MOV TL0,#0B0H ;装计数值低;装计数值低8位位 MOV TH0,#3CH ;装计数值高;装计数值高8位位 SETB TR

38、0 ;启动定时;启动定时 SETB ET0 ;T0开中断开中断 SETB EA ;CPU开中断开中断 SJMP$;等待中断;等待中断6.3.5 综合应用举例综合应用举例(例(例6-56-5)SERVE:MOV TL0,#0B0H ;重新赋初值;重新赋初值 MOV TH0,#3CH DJNZ B,LOOP ;B-1不为不为0,继续定时,继续定时 CLR TR0 ;1s定时到,停止定时到,停止T0工作工作LOOP:RETI ;中断返回;中断返回 END6.3.5 综合应用举例综合应用举例(例(例6-66-6)l例例6-66-6:设计实时时钟程序。时钟:设计实时时钟程序。时钟 就是以秒、分、时为单位

39、进行计就是以秒、分、时为单位进行计时。用定时器与中断的联合应用时。用定时器与中断的联合应用。6.3.5 综合应用举例综合应用举例(例(例6-66-6)解:解:(1)实现时钟计时的基本方法)实现时钟计时的基本方法 计算计数初值。计算计数初值。时钟计时的最小单位是秒,但使用单片机定时器时钟计时的最小单位是秒,但使用单片机定时器/计数器进行定时,即使按方式计数器进行定时,即使按方式1工作,其最大定时工作,其最大定时时间也只能达时间也只能达131ms。因此,可把定时器的定时。因此,可把定时器的定时时间定为时间定为100ms,计数溢出,计数溢出10次即得到时钟计时次即得到时钟计时的最小单位的最小单位秒;

40、而秒;而10次计数可用软件方法实现。次计数可用软件方法实现。6.3.5 综合应用举例综合应用举例(例(例6-66-6)假定使用定时器假定使用定时器T0,以工作模式,以工作模式1进行进行100ms的定的定时。如时。如fosc=6MHz,则计数初值,则计数初值X为:为:(216X)12/(6 106)=10010-3 s X=15536=3CB0H因此因此:(TL0)=0B0H (TH0)=3CH6.3.5 综合应用举例综合应用举例(例(例6-66-6)采用定时方式进行溢出次数的累计,计满采用定时方式进行溢出次数的累计,计满10次即得到秒计时。次即得到秒计时。6.3.5 综合应用举例综合应用举例(

41、例(例6-66-6)从秒到分和从分到时的计时是通过累计和从秒到分和从分到时的计时是通过累计和数值比较实现的。数值比较实现的。6.3.5 综合应用举例综合应用举例(例(例6-66-6)时钟显示即及显示缓冲区部分在这里略,时钟显示即及显示缓冲区部分在这里略,可自行设计。可自行设计。6.3.5 综合应用举例综合应用举例(例(例6-66-6)(2)程序流程及程序清单)程序流程及程序清单 主程序(主程序(MAIN)的主要功能)的主要功能 是进行定时器是进行定时器T1的初始化编程并启动的初始化编程并启动T1,然后通过反复调用显示子程序,等待然后通过反复调用显示子程序,等待100ms定时中定时中断的到来。其

42、流程如断的到来。其流程如 图图6-13所示。所示。6.3.5 综合应用举例综合应用举例(例(例6-66-6)(2)程序流程及程序清单)程序流程及程序清单 中断服务程序(中断服务程序(PITO)的主要功能)的主要功能 是进行计时操作。程序开始先判断计数溢出是进行计时操作。程序开始先判断计数溢出时候满了时候满了10次,不满表明还没达到最小计时单位次,不满表明还没达到最小计时单位秒,中断返回;如满秒,中断返回;如满10次则表示已达到最小计时单次则表示已达到最小计时单位位秒,程序继续向下运行,进行计时操作。秒,程序继续向下运行,进行计时操作。要求满要求满1秒则秒则“秒位秒位”32H单元内容加单元内容加

43、1,满,满60s则则“分位分位”31H单元内容加单元内容加1,满,满60min则则“时时位位”30H单元内容加单元内容加1,满,满24h则则30H,31H,332H单元内容全部清单元内容全部清0。中断服务程序流程如。中断服务程序流程如 图图6-14所所示。示。设设T1为模式为模式1设中断次数设中断次数清计时单元清计时单元开中断开中断启动启动T1调用显示子程序调用显示子程序等待定时中断等待定时中断图图6-13 时钟主程序流程时钟主程序流程保护现场赋计数初值到1s?(32H)加1(32H)=60?(32H)清0(31H)加1(31H)=60?(31H)清0(30H)加1(30H)=24?(30H)

44、清0恢复现场返回入口入口NNNNYYYY图6-14 中断服务程序流程图 源程序如下:源程序如下:ORG 0000H AJMP MAIN ;上电,转向主程序上电,转向主程序 ORG 001BH ;T1的中断服务程序入口地址的中断服务程序入口地址 AJMP SERVE ;转向中断服务程序;转向中断服务程序 6.3.5 综合应用举例综合应用举例(例(例6-66-6)ORG 2000H ;主程序;主程序MAIN:MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV TMOD,#10H ;设置;设置T1工作于模式工作于模式1 MOV 20H,#0AH ;设循环次数;设循环次数 CLR A MOV 3

45、0H,A ;时单元清;时单元清0 MOV 31H,A ;分单元清;分单元清0 MOV 32H,A ;秒单元清;秒单元清0 6.3.5 综合应用举例综合应用举例(例(例6-66-6)SETB ET1 ;T1开中断开中断 SETB EA ;CPU开中断开中断 MOV TL1,#0B0H ;装计数值低;装计数值低8位位 MOV TH1,#3CH ;装计数值高;装计数值高8位位 SETB TR1 ;启动定时;启动定时 SJMP$;等待中断(可反复调用显示子程序);等待中断(可反复调用显示子程序)6.3.5 综合应用举例综合应用举例(例(例6-66-6)SERVE:PUSH PSW ;保护现场保护现场

46、PUSH ACC MOV TL1,#0B0H ;重新赋初值;重新赋初值 MOV TH1,#3CH DJNZ 20H,RETUNT ;1s未到,返回未到,返回 MOV 20H,#0AH ;重置中断次数;重置中断次数 6.3.5 综合应用举例综合应用举例(例(例6-66-6)MOV A,#01H ADD A,32H ;“秒位秒位”加加1 DA A ;转换为;转换为BCD码码 MOV 32H,A CJNE A,#60H,RETUNT ;未满;未满60s,返回,返回 MOV 32H,#00H ;计满;计满60s,“秒位秒位”清清0 6.3.5 综合应用举例综合应用举例(例(例6-66-6)MOV A,

47、#01H ADD A,31H ;“分位分位”加加1 DA A ;转换为;转换为BCD码码 MOV 31H,A CJNE A,#60H,RETUNT ;未满;未满60min,返回,返回 MOV 31H,#00H ;计满;计满60min,“分位分位”清清0 6.3.5 综合应用举例综合应用举例(例(例6-66-6)MOV A,#01H ADD A,30H ;“时位时位”加加1 DA A ;转换为;转换为BCD码码 MOV 30H,A CJNE A,#24H,RETUNT ;未满;未满24h,返回,返回 MOV 30H,#00H ;计满;计满24h,“时位时位”清清0RETUNT:POP ACC ;

48、恢复现场;恢复现场 POP PSW RETI ;中断返回;中断返回 END 例例 6-9结束结束6.3.5 综合应用举例综合应用举例(例(例6-66-6)定时定时/计数器应用计数器应用1.计算计数初值计算计数初值X假设晶振为假设晶振为12 MHz,所以机器周期,所以机器周期Tcy为为1S。计数次数计数次数Nt/Tcy 10103/110610000X2nN=*H2.求求T0的方式控制字的方式控制字TMOD M1M0=01,GATE=0,C/T=0,可取方式控制,可取方式控制字为字为01H;初始化程序应完成如下工作:初始化程序应完成如下工作:对对TMOD赋值,以确定赋值,以确定T0和和T1的工作

49、方式。的工作方式。计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数器定时或计数。计数。6.4 6.4 思考题与习题思考题与习题1 1、定时器模式、定时器模式2 2有什么特点?适用于什么应用场合?有什么特点?适用于什么应用场合?2 2、单片机用内部定时方法产生频率为、单片机用内部定时方法产生频率为100KHz100KHz等宽距等宽距形波,假定单片机的晶振频率为形波,假定单片机的晶振频率为12MHz12MHz。请编程实。请编程实现。现。3 3

50、、89C5189C51定时器有哪几种工作模式?有何区别?定时器有哪几种工作模式?有何区别?6.4 6.4 思考题与习题思考题与习题4 4、89C5189C51单片机内部设有几个定时器单片机内部设有几个定时器/计数器?它计数器?它们是由哪些特殊功能寄存器组成?们是由哪些特殊功能寄存器组成?5 5、定时器用作定时器时,其定时时间与哪些因素、定时器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制有关?作计数器时,对外界计数频率有何限制?6 6、简述定时器四种工作模式的特点,如何选择和、简述定时器四种工作模式的特点,如何选择和设定?设定?6.4 6.4 思考题与习题思考题与习

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁