单片微机的定时器计数器原理及应用

上传人:夏** 文档编号:590279055 上传时间:2024-09-13 格式:PPT 页数:65 大小:1.77MB
返回 下载 相关 举报
单片微机的定时器计数器原理及应用_第1页
第1页 / 共65页
单片微机的定时器计数器原理及应用_第2页
第2页 / 共65页
单片微机的定时器计数器原理及应用_第3页
第3页 / 共65页
单片微机的定时器计数器原理及应用_第4页
第4页 / 共65页
单片微机的定时器计数器原理及应用_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《单片微机的定时器计数器原理及应用》由会员分享,可在线阅读,更多相关《单片微机的定时器计数器原理及应用(65页珍藏版)》请在金锄头文库上搜索。

1、 单片微机的定时器单片微机的定时器/计数器计数器原理及应用原理及应用实验五实验五定时器定时器、分别接两个发光二极管,、分别接两个发光二极管,INT0脚接脚接一按键做开关,按一次开关,则启动,一按键做开关,按一次开关,则启动,两个发光管一亮一灭,亮灭时间均为两个发光管一亮一灭,亮灭时间均为1秒;再按一次开关,则关闭,即两个秒;再按一次开关,则关闭,即两个发光管都灭。发光管都灭。实验六实验六定时器、计数器定时器、计数器口输出周期为口输出周期为2S的方波,的方波,T1口为脉冲输入口为脉冲输入端,记录输入的脉冲个数,脉冲个数由端,记录输入的脉冲个数,脉冲个数由P1口所接的口所接的8个数码管显示,设一按

2、键作为开个数码管显示,设一按键作为开关控制系统运行。关控制系统运行。6.1概述概述6.2定时器定时器/计数器计数器T0、T16.3定时器定时器/计数器计数器T26.4监视定时器(看门狗)监视定时器(看门狗)T36.5定时器定时器/计数器的应用编程计数器的应用编程定时或计数方法:定时或计数方法:1硬件法:硬件法: 定时功能完全由硬件电路完成,不占用定时功能完全由硬件电路完成,不占用CPU时间。时间。2软件法:软件法:软件定时是执行一段循环程序来进行时间延时。软件定时是执行一段循环程序来进行时间延时。3可编程定时器计数器:可编程定时器计数器:通过软件编程来实现定时时间的改通过软件编程来实现定时时间

3、的改变,通过中断或查询方法来完成定时功能或计数功能。变,通过中断或查询方法来完成定时功能或计数功能。6-1 概述概述定时器资源:定时器资源:80C51包含有包含有两个两个16位的定时器计数器:位的定时器计数器:T0和和T1;80C52包含有包含有三个三个16位的定时器计数器:位的定时器计数器:T0、T1、T2在在80C51系列的部分产品(如系列的部分产品(如Philips公司的公司的80C552)中,还)中,还包含有作看门狗的包含有作看门狗的8位位定时器定时器T3。定定时时器器计计数数器器的的核核心心是是一一个个加加1计计数数器器其其基本功能是计数加基本功能是计数加1。计数计数 是对单片微机的

4、是对单片微机的T0、T1(或(或T2)引脚)引脚上输入的一个上输入的一个1到到0的跳变进行计数增的跳变进行计数增l。定时定时 是对单片微机内部的机器周期进行计是对单片微机内部的机器周期进行计数,从而得到定时。数,从而得到定时。波特率发生器波特率发生器 80C51的定时器的定时器/计数器还可计数器还可用作串行接口的波特率发生器。用作串行接口的波特率发生器。T0、T1的内部结构简图:的内部结构简图:6.2 6.2 定时器计数器定时器计数器T0T0、T1T1图图61定时器定时器/计数器计数器T0、T1的内部结构框图的内部结构框图T0、T1的方式寄存器的方式寄存器TMOD6.2.1与定时器计数器与定时

5、器计数器T0、T1有关的特殊功能有关的特殊功能寄存器寄存器-TMOD、TCON、TH、TL、IE、IPD7D6 D5D4D3D2D1D0GATE C/TM1M0GATE C/TM1M0T1T0GATE门控位门控位图图62CT:功能选择位功能选择位定时时钟脉冲:定时时钟脉冲:1/12fosc最高计数频率:最高计数频率:1/24foscM1、M0:工作方式选择位。工作方式选择位。M1M0工作方式工作方式计数器配置计数器配置00方式方式013位计数器位计数器01方式方式116位计数器位计数器10方式方式2自动重装载的自动重装载的8位计数器位计数器11方式方式3T0分为两个分为两个8位计数器,位计数器

6、,T1停止计数停止计数定时器计数器定时器计数器T0、T1的控制寄存器的控制寄存器TCON位地址位地址8FH8FH8EH8EH8DH8DH8CH8CH8BH8BH8AH8AH89H89H88H88H位名称位名称TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0功能功能T1T1中断中断标志标志启动启动T1T0T0中断中断标志标志启动启动T2中断中断标志标志触发触发方式方式中断中断标志标志触发触发方式方式T0、T1的数据寄存器的数据寄存器TH1、TL1,TH0、TL0定时器定时器/计数器中断计数器中断中断允许寄存器中断允许寄存器IE中断矢量中断矢量中断优

7、先级寄存器中断优先级寄存器IPT0:有有4种种工作方式可选(方式工作方式可选(方式0,1,2,3)T1:有有3种种工作方式可选(方式工作方式可选(方式0,1,2) 方式方式0-130-13位定时器位定时器/ /计数器计数器( (M10、M00) ) 最大计数值最大计数值213=8192,当当fosc=12MHZ时时,Tmax=8192S6.2.2 6.2.2 定时器计数器定时器计数器T0T0、T1 T1 的工作方式的工作方式B=TRx(GATE+INTx)方式方式1-16位定时器位定时器/计数器计数器(M10、M01) 最大计数值最大计数值216=65535,当当fosc=12MHZ时,时,T

8、max=65535S方式方式2-8位定时器位定时器/计数器自动重装载计数器自动重装载(M11、M00) 优点:定时初值可自动恢复优点:定时初值可自动恢复,TH中存放初值中存放初值;缺点:计数范围小,缺点:计数范围小,最大计数值为最大计数值为28=256适用于需要重复定时适用于需要重复定时,而定时范围不大的应用场合,而定时范围不大的应用场合,比如:比如:作为串行口作为串行口波特率发生器波特率发生器使用使用方式方式3-仅仅T0有此方式,有此方式,T1无方式无方式3中断矢量中断矢量000BH中断矢量中断矢量001BHT0T0方式方式3 3下的下的T0T0 在方式在方式3 3情况下情况下, ,T0T0

9、被拆成二个独立的被拆成二个独立的8 8位计数器位计数器TH0TH0、TL0TL0。 TL0 TL0:8 8位定时位定时/ /计数器计数器,使用,使用T0T0原有的控制寄存器资原有的控制寄存器资源源:TF0,TR0,GATE,C/T,INT0:TF0,TR0,GATE,C/T,INT0,中断矢量等;,中断矢量等; TH0 TH0:8 8位定时器位定时器,占用,占用T1T1的中断溢出标志的中断溢出标志TF1,TF1,运行控运行控制开关制开关TR1,TR1,中断矢量中断矢量001BH,只能对片内机器周期脉冲计数只能对片内机器周期脉冲计数 T0 T0方式方式3 3情况下的情况下的T1T1 T1 T1由

10、于其由于其TF1TF1、TR1TR1被被T0T0的的TH0TH0占用,计数器溢出时,只占用,计数器溢出时,只能将输出信号送至串行口,即能将输出信号送至串行口,即用作串行口波特率发生器用作串行口波特率发生器。定时器定时器/ /计数器计数器T0T0方式方式3 3时,时,T1T1的逻辑结构图的逻辑结构图80C52中的中的T2:16位位功能:功能:自动重装载和捕获能力自动重装载和捕获能力相关寄存器相关寄存器:8位计数器位计数器TL2、TH2,控制寄存器控制寄存器T2CON,模式寄存器模式寄存器T2MOD,捕获寄存器捕获寄存器RCAP2L(低字节)和(低字节)和RCAP2H(高字节)。(高字节)。计数脉

11、冲源计数脉冲源:两个:两个-内部机器周期及内部机器周期及T2(P10)端输入的外部计数脉冲。)端输入的外部计数脉冲。工作方式工作方式:3种种-自动重装载、捕获和波特率发生器方式自动重装载、捕获和波特率发生器方式引脚引脚T2是外部计数脉冲输入端是外部计数脉冲输入端引脚引脚T2EX是外部控制信号输入端。是外部控制信号输入端。6.3 6.3 定时器计数器定时器计数器T2T2控制寄存器控制寄存器 T2CON位地址位地址 CFHCEHCDHCCHCBHCAHC9HC8H位功能位功能 TF2EXF2RCLKTCLK EXEN2TR2C/T2CP/RL26.3.1 T26.3.1 T2中的特殊功能寄存器中的

12、特殊功能寄存器TF2T2 T2 溢出标志,溢出标志, T2 T2溢出时置位并申请中断,软件清除。溢出时置位并申请中断,软件清除。在波特率发生器方式下,即在波特率发生器方式下,即RCLK1或或TCLK1时,定时器溢时,定时器溢出不对出不对TF2TF2置位。置位。EXF2T2外部标志,外部标志,EXF2要靠软件来清除要靠软件来清除当当EXEN21,且,且T2EX引脚上出现负跳变而造成捕获或重装载引脚上出现负跳变而造成捕获或重装载时时EXF2置位,申请中断。若已允许置位,申请中断。若已允许T2中断,中断,CPU将响应中断,将响应中断,转向中断服务程序。转向中断服务程序。RCLK:接收时钟标志,软件置

13、位或清除:接收时钟标志,软件置位或清除用以选择用以选择T2或或T1作串行口接收波特率发生器。作串行口接收波特率发生器。RCLK1时,用时,用T2溢出脉冲作为串行口的接收时钟;溢出脉冲作为串行口的接收时钟;RCLK0时,用时,用T1的溢出脉冲作接收时钟。的溢出脉冲作接收时钟。TCLK:发送时钟标志,软件置位或清除发送时钟标志,软件置位或清除用以选择用以选择T2或或T1作串行口发送波特率发生器。作串行口发送波特率发生器。TCLKl时,用时,用T2溢出脉冲作为串行口的发送时钟;溢出脉冲作为串行口的发送时钟;TCLK0时,用时,用T1的溢出脉冲作发送时钟。的溢出脉冲作发送时钟。EXEN2:T2T2外部

14、允许标志,外部允许标志,软件设置或清除软件设置或清除允许或禁止用外部信号来触发捕获或重装载操作。允许或禁止用外部信号来触发捕获或重装载操作。EXEN2l时,若时,若T2未用作串行口的波特率发生器,则在未用作串行口的波特率发生器,则在T2EX端出现的信号负跳变时,将造成端出现的信号负跳变时,将造成T2捕获或重装载,并捕获或重装载,并置置EXF2标志为标志为1,请求中断。,请求中断。EXEN20时,时,T2EX端的外部信号不起作用端的外部信号不起作用TR2:T2T2运行控制位。软件设置或清除运行控制位。软件设置或清除C/T2:T2的定时器方式或计数器方式选择位。的定时器方式或计数器方式选择位。C/

15、T20时,定时器工作方式。计数脉冲的频率为时,定时器工作方式。计数脉冲的频率为1/12fosc C/T21时,计数器工作方式,下降沿触发。计数脉冲自时,计数器工作方式,下降沿触发。计数脉冲自T2引引脚输入,每当外部脉冲负跳变时,计数器值增脚输入,每当外部脉冲负跳变时,计数器值增1。CPRL2:捕获重装载标志。:捕获重装载标志。CPRL2l选择捕获功能,这时若选择捕获功能,这时若EXEN21,且,且T2EX端的信端的信号负跳变时,发生捕获操作。号负跳变时,发生捕获操作。CPRL20,选择重装载功能,这时若,选择重装载功能,这时若T2溢出或在溢出或在EXEN21条件下条件下T2EX端信号负跳变,都

16、会造成自动重装载操作。端信号负跳变,都会造成自动重装载操作。当当RCLKl或或TCLKl时,时,CPRL2控制位不起作用,控制位不起作用,T2被强被强制工作于重装载方式。重装载发生于制工作于重装载方式。重装载发生于T2溢出时,常用来作波特率溢出时,常用来作波特率发生器。发生器。方式控制寄存器方式控制寄存器T2MODD7D6D5D4D3D2D1D0-T2OEDCENT2OE:T2输出允许位。输出允许位。当当T2OE1时,允许时钟输出至时,允许时钟输出至T2引脚。引脚。仅对仅对80C5480C58有定义。有定义。DCEN:向下计数允许位:向下计数允许位DCEN=1,T2向下向下(减减)计数计数DC

17、EN=0,T2向上向上(加加)计数计数数据寄存器数据寄存器:TH2、TL2T2有有一一个个16位位的的数数据据寄寄存存器器,是是由由高高8位位寄寄存存器器TH2和和低低8位位寄寄存存器器TL2所所组组成成。它它们们都都只只能能字字节节寻寻址址,相相应应的的字字节节地地址址为为CDH和和CCH。复位后,这两个寄存器全部清零。复位后,这两个寄存器全部清零。 捕获寄存器:捕获寄存器:RCAP2HRCAP2H、RCAP2LRCAP2LT2中的捕获寄存器是一个中的捕获寄存器是一个16位的数据寄存器,由高位的数据寄存器,由高8位寄存位寄存器器RCAP2H和低和低8位寄存器位寄存器RCAP2L所组成,相应的

18、字节地址为所组成,相应的字节地址为CBH和和CAH。捕获寄存器捕获寄存器RCAP2H和和RCAP2L,用于捕获计数器,用于捕获计数器TL2、TH2的计数状态,或用来预置计数初值的。的计数状态,或用来预置计数初值的。TH2、TL2和和RCAP2H、RCAP2L之间接有双向缓冲器(三态门)。之间接有双向缓冲器(三态门)。复位后,两个寄存器全部清零。复位后,两个寄存器全部清零。T2的工作方式用控制位的工作方式用控制位CPRL2(T2CON0)和)和RCLKTCLK来选择。来选择。T2有有3种工作方式,如种工作方式,如表表62所示:捕获方式、所示:捕获方式、自动重装载方式和波特率发生器方式。自动重装载

19、方式和波特率发生器方式。捕获方式捕获方式在在一一定定条条件件下下,自自动动将将计计数数器器TH2和和TL2的的数数据据读读入入捕捕获获寄寄存存器器RCAP2H和和RCAP2L,亦亦即即TH2和和TL2内内容容的的捕捕获获是是通通过过捕捕获获寄寄存存器器RCAP2H和和RCAP2L来实现的。其工作原理可参见来实现的。其工作原理可参见图图67。当当CPRL2l时,选择捕获方式。时,选择捕获方式。6.3.2 6.3.2 定时器计数器定时器计数器T2T2的工作方式的工作方式捕获操作发生于下述两种情况下:捕获操作发生于下述两种情况下:(1)寄寄存存器器TH2和和TL2溢溢出出时时,打打开开重重装装载载三

20、三态态缓缓冲冲器器,把把TH2和和TL2的的内内容容自自动动读读入入到到捕捕获获寄寄存存器器RCAP2H和和RCAP2L中中。同同时时,溢出标志溢出标志TF2置置1,申请中断。,申请中断。当当EXEN2l且且T2EX(P11)端端的的信信号号有有负负跳跳变变时时,将将发发生捕获操作。同时标志生捕获操作。同时标志EXF2置置1,申请中断。,申请中断。若若T2的的中中断断是是被被允允许许的的,则则无无论论发发生生TF2l还还是是EXF2l,CPU都会响应中断。响应中断后,应用软件清除中断申请。都会响应中断。响应中断后,应用软件清除中断申请。自动重装载方式自动重装载方式在在一一定定条条件件下下,自自

21、动动地地将将捕捕获获寄寄存存器器RCAP2H和和RCAP2L的数据装入计数器的数据装入计数器TH2和和TL2中。中。捕获寄存器捕获寄存器RCAP2H和和RCAP2L在这里起预置计数初值在这里起预置计数初值的功能。对的功能。对8XC52,其工作原理可参见,其工作原理可参见图图68。当当CPRL20时,选择自动重装载方式。时,选择自动重装载方式。若若T2的的中中断断是是被被允允许许的的,则则无无论论发发生生TF21还还是是EXF21,CPU都都会会响响应应中中断断,此此中中断断向向量量的的地地址址为为002BH。响响应应中中断断后后,应应用用软软件件撤撤除除中中断断申申请请。TF2和和EXF2都都

22、是是直直接接可可寻寻址址位位,可可采采用用CLRTF2和和CLREXF2指指令令实实现现撤撤除除中中断断申申请请的的功能。功能。波特率发生器方式波特率发生器方式当当T2CON中中RCLK十十TCLK1,其其溢溢出出脉脉冲冲用用做做串串行行口口的的时时钟。钟。T2的波特率发生器方式下的结构图示于的波特率发生器方式下的结构图示于图图69中。中。RCLK选选择择串串行行通通信信接接收收波波特特率率发发生生器器,TCLK选选择择发发送送波特率发生器,发送和接收的波特率可以不同。波特率发生器,发送和接收的波特率可以不同。T2的输入时钟可由内部时钟决定,也可由外部脉冲决定。的输入时钟可由内部时钟决定,也可

23、由外部脉冲决定。若若CT20,选选用用内内部部时时钟钟,对对机机器器周周期期计计数数,计计数数脉脉冲冲的的频频率为率为112振荡器频率振荡器频率.若若C/T2C/T21,选选用用外外部部脉脉冲冲,该该脉脉冲冲由由T2端端输输入入,每每当当外外部部脉脉冲冲负负跳跳变变时时,计计数数器器值值增增l。外外部部脉脉冲冲频频率率不不超超过过振振荡荡器器频频率率的的l24。由由于于脉脉冲冲溢溢出出时时,RCAP2H和和RCAP2L的的内内容容会会自自动动装装载载到到TH2和和TL2中中,故故波波特特率率的的值值还还决决定定于于RCAP2H和和RCAP2L装装载初值。载初值。RCLKTCLK还还用用于于选选

24、择择T1还还是是T2作作串串行行通通信信的的波波特特率率发发生生器器。由由图图69可可看看出出,这这两两位位的的值值用用来来控控制制两两个个电电子子开开关关的的位位置置。值值为为0时时,选选用用T1做做波波特特率率发发生生器器;值值为为1时时,选选用用T2做做波波特率发生器。特率发生器。当当T2用用做做波波特特率率发发生生器器时时,TH2的的溢溢出出不不使使TF2置置位位,不不产产生生中断。因而,当中断。因而,当T2用做波特率发生器时,没有必要禁止中断。用做波特率发生器时,没有必要禁止中断。当当T2用用做做波波特特率率发发生生器器时时,若若EXEN2置置1,则则T2EX端端的的信信号号产产生生

25、负负跳跳变变时时,EXF2将将置置1,但但不不会会发发生生重重装装载载或或捕捕获获操操作作。这这时时,T2EX可以作为一个附加的外部中断源。可以作为一个附加的外部中断源。T3俗俗称称看看门门狗狗(watchdog),它它的的作作用用是是强强迫迫单单片片微微机机进进入入复复位位状状态态,使使之之从从硬硬件件或或软软件件故故障障中中解解脱脱出出来来。在在实实际际应应用用中中,由由于于现现场场的的各各种种干干扰扰或或者者程程序序设设计计错错误误,可可能能使使单单片片微微机机的的程程序序进进入入了了“死死循循环环”或或“非非程程序序区区”(如如表表格格数数据据区区)之之后后,在在一一个个设设定定的的时

26、时间间内内,假假如如用用户户程程序序没没有有重重装装T3,监监视视电电路路将将产产生生一一个个系系统统复复位位信信号号,强强迫迫单单片片微微机机退退出出“死死循循环环”或或“非非程程序序区区”,重重新新进进行行“冷启动冷启动”或或“热启动热启动”。在在飞飞利利浦浦80C552中中,T3由由一一个个11位位的的分分频频器器和和8位位定时器定时器T3组成,如组成,如图图6一一10所示。所示。6.4 6.4 监视定时器监视定时器( (看门狗看门狗)T3)T3预分频器输入为晶振预分频器输入为晶振1/12的信号,晶振为的信号,晶振为12MHz时,输入为时,输入为1MHz,而,而8位定时器位定时器T3每隔

27、时间每隔时间t加加1:t122048/fosc当晶振为当晶振为12MHz时,时,t为。为。若若8位定时器溢出,则产生一个尖脉冲,它将复位位定时器溢出,则产生一个尖脉冲,它将复位8C552,同时,同时在在RST引脚上也将产生引脚上也将产生1个正的复位尖脉冲。个正的复位尖脉冲。T3由外部引脚由外部引脚EW和和电源控制寄存器中的电源控制寄存器中的PCON4(WLE)和)和PCONl(PD)控制。)控制。EW:看门狗定时器允许,低电平有效。:看门狗定时器允许,低电平有效。EW0时,允许看门狗定时器,禁止掉电方式;时,允许看门狗定时器,禁止掉电方式;EW1时禁止看门狗定时器,允许掉电方式。时禁止看门狗定

28、时器,允许掉电方式。WLE:看门狗定时器允许重装标志。:看门狗定时器允许重装标志。若若WLE置位,定时器置位,定时器T3只能被软件装入,装入后只能被软件装入,装入后WLE自动清除。自动清除。T3的的重重装装和和溢溢出出,产产生生复复位位的的时时间间间间隔隔,由由装装入入T3的的值值决决定,对于定,对于8C552,其监视间隔可编程为,其监视间隔可编程为2.048255ms。T3的的工工作作过过程程:在在T3溢溢出出时时,复复位位8XC552,并并产产生生复复位位脉脉冲冲输输出出至至复复位位引引脚脚RST。为为防防止止系系统统复复位位,必必须须在在定定时时器器T3溢溢出出前前,通通过过软软件件对对

29、其其进进行行重重装装。如如果果发发生生软软件件或或硬硬件件故故障障,将将使使软件对定时器软件对定时器T3重装失败,从而重装失败,从而T3溢出导致复位信号的产生。溢出导致复位信号的产生。首先要确定系统能在不正常状态下维持多久,这段时间就设定首先要确定系统能在不正常状态下维持多久,这段时间就设定为监视定时器的最大间隔时间。为监视定时器的最大间隔时间。T3是加是加1计数器,计数器,T3中装入中装入0,则监视时间间隔最长,装,则监视时间间隔最长,装入值为入值为FFH时,监视时间间隔最短时,监视时间间隔最短例:例:watchdog使用的一段程序如下:使用的一段程序如下:T3EQU 0FFH;定时器;定时

30、器T3的地址的地址PCONEQU 87H;电源控制寄存器;电源控制寄存器PCON的地址的地址WATCH_INTVEQU156;看门狗的时间间隔;看门狗的时间间隔(2.048100ms)插在用户程序中对看门狗需要重新装入的地方:插在用户程序中对看门狗需要重新装入的地方:LCALLWATCHDOG;调用看门狗服务子程序;调用看门狗服务子程序WATCHDOG:ORLPCON,10H ;允许定时器;允许定时器T3重装重装MOVT3,WATCHINTV;装载定时器;装载定时器T3RET定时器初值的计算定时器初值的计算定时时间定时时间=脉冲数脉冲数脉冲周期(机器周期)脉冲周期(机器周期)定时时间定时时间t

31、=(2L-初值初值TC)6.5 6.5 定时器定时器/ /计数器的应用编程计数器的应用编程 6.5.1 6.5.1 定时器的应用定时器的应用L与工作方式有与工作方式有关,关,13、16、8定时器定时器溢出率溢出率为为定时时间的倒数定时时间的倒数fosc=12MHZ时时,1机周机周=1 S;fosc=6MHZ时时,1机周机周=2 S解:解:工作方式工作方式0 0: 2 21313500500 S/2S/2 S=8192-250=7942S=8192-250=7942 =1F06H =1F06H TL0= TL0=0011000110B=06HB=06H TH0= TH0=111110001111

32、1000B=F8HB=F8H【例】【例】 已知晶振已知晶振6MHz6MHz,要求定时,试分别求,要求定时,试分别求出出T0T0工作于方式工作于方式0 0、方式、方式1 1、方式、方式2 2时的定时初值。时的定时初值。 工作方式工作方式1 1: T0 T0初值初值 =2=21616-500-500 s s/2/2 s s=65536250=65286=FF06H=65536250=65286=FF06H TH0=FFH TH0=FFH;TL0=06HTL0=06H。 工作方式工作方式2 2: T0 T0初值初值 =2=28 8-500-500 s s/2/2 s s=256-250=6=256-

33、250=6 TH0=06H TH0=06H;TL0=06HTL0=06H。 从上例中看到,从上例中看到,方式方式0 0计算定时计算定时初值比较麻烦初值比较麻烦,根据公,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式计算出数值后,还要变换一下,容易出错,不如直接用方式式1 1,且方式,且方式0 0计数范围比方式计数范围比方式1 1小,小,方式方式0 0完全可以用方式完全可以用方式1 1代替,方式代替,方式0 0与方式与方式1 1相比,无任何优点相比,无任何优点。解:分析解:分析采用方式采用方式0定时时间定时时间t1ms=1000S定时常数:定时常数:TC=213-1000/2=81

34、92-500=7692=1111000001100B用定时器用定时器T0:TMOD=00H,TH0=F0H,TL0=0CH【例】【例】要求在要求在P10引脚上产生周期为引脚上产生周期为2ms的方波输出的方波输出fosc=6MHz查询方式查询方式ORG0000HAJMPSTORG0030HST:MOVSP,#60HMOVTMOD,#00H;方式0L1:MOVTH0,#0F0H;初值MOVTL0,#0CHSETBTR0L2:JBCTF0,L1SJMPL2END中断方式:中断方式: ORG 0000HAJMP MAINORG 000BH;T0中断矢量中断矢量AJMPINQPORG 0030HMAIN

35、:MOVTMOD,00H;设设T0为定时器方式为定时器方式0 0 MOV TH0,0F0H ;写定时常数;写定时常数( (定时定时1ms)1ms) MOV TL0,0CHSETBTR0;启动;启动T0SETBET0;允许;允许T0中断中断SETBEA;开放;开放CPU中断中断AJMP$;定时中断等待;定时中断等待ORG 2000H ;T0中断服务程序中断服务程序INQP:MOVTH0,0F0H;重写定时常数;重写定时常数MOV TL0,0CHCPLP10;P10变反输出变反输出RETI采用方式采用方式1 1定时时间定时时间t1ms=1000S定时常数:定时常数:TC=216-1000/2=65

36、535-500=65035=1111111000001011B=FE0BH用定时器用定时器T0:TMOD=01H,TH0=FEH,TL0=0BH编程与前相同编程与前相同如果要求产生周期为如果要求产生周期为2S2S的方的方波,怎样编程?波,怎样编程?【例例】欲欲用用80C51产产生生两两个个方方波波,一一个个方方波波周周期期为为200s,另另一一个个方方波波周周期期为为400s,该该80C51同同时时使使用用串串行行口口,用用定定时时器器/计计数器作为波特率发生器数器作为波特率发生器,波特率为波特率为2400, fOCS9.216MHz 。分析:分析:这时这时T0采用方式采用方式3工作,其中,工

37、作,其中,TL0产生产生100s定时,由定时,由输出方波输出方波1TH0产生产生200s定时,由输出方波定时,由输出方波2;T1设置为方式设置为方式2,作波特率发生器用。,作波特率发生器用。计算:计算:TL0初值:初值:TH0初值:初值:TH1、TL1初值为:初值为:F6H编程:编程:ORG 0000HAJMP MAINORG 000BH ;TL0的中断入口的中断入口AJMPITL0ORG 00lBH;TH0的中断入口的中断入口AJMPITH0ORG0100HMAIN:MOVSP,60H;设栈指针;设栈指针MOV TMOD,23H;设;设T0为方式为方式3,TI为为2MOV TL0,0B3H;

38、设;设TL0初值初值(100s定时定时)MOV TH0,66H;设;设TH0初值初值(200s定时定时)MOV TL1,0F6H;设;设TL1初值初值(波特率为波特率为2400)MOVTH1,0F6H;设;设TH1初值初值SETBTR0;启动;启动TL0SETBTR1;启动;启动TH0SETBET0;允许;允许TL0中断中断SETBET1;允许;允许TH0中断中断SETBEA;CPU中断开放中断开放AJMP ORG 0200HITL0:MOVTL0,0B3H;重装定时常数;重装定时常数CPL P10;输出方波;输出方波1(200s)RETIITH0:MOVTH0,66H;重装定时常数;重装定时

39、常数CPLP11;输出方波;输出方波2(400s)RETI不用方式不用方式3 3,能,能否只用否只用T0T0产生产生两个时间?两个时间?【例例】假假如如一一个个用用户户系系统统已已使使用用了了两两个个外外部部中中断断源源,即即INT0和和INT1,用用户户系系统统要要求求从从P1.0引引脚脚上上输输出出一一个个5kHz的的方方波波,并并要要求求采采用用定定时时器器/计计数数器器作作为为串串行行口口的的波波特特率率发发生生器器,另另外外还还需需要要再再增增加加一一个个外外部部中中断断源源。6.5.2 6.5.2 计数器的应用计数器的应用分分析析:除除两两个个外外中中断断(INT0、INT1)外外

40、,还还需需要要两两个个定定时时器器(5KHZ和波特率发生器)和和波特率发生器)和一个计数器一个计数器(扩展外中断)(扩展外中断)把把T0设设置置为为方方式式3:TL0设设置置为为计计数数器器,TH0只只能能做做8位位定定时时器器(产生(产生5KHz方波),方波),T1就作为波特率发生器,设为方式就作为波特率发生器,设为方式2。频频率率5kHz即即周周期期为为200s,则则定定时时时时间间100s,若若采采用用12MHz的的晶体振荡器,则机器周期为晶体振荡器,则机器周期为1s。计算时间常数:计算时间常数:TC28100/1156编程:编程:ORG 0000HSJMP MAINORG 000BHA

41、JMP TL0INT;TL0中断入口中断入口ORG 001BHAJMP TH0INT;TH0中断入口中断入口ORG0030HMAIN:MOVTMOD,#27H;T0为为方方式式3,TL0为为计计数数方方式式,TH0为为;定时定时;T1作波特率发生器,方式作波特率发生器,方式2MOV TH0,#156;TH0定时常数定时常数MOV TL0,#0FFH ;TL0计数常数计数常数MOV TL1,#BAUD;BAUD根据波特率算出根据波特率算出MOV TH1,#BAUDMOV TCON,#55H;TR0和和TR1为为1,启动启动TL0和和TH0MOVIE,#8AHSJMP$ORG 0100HTL0IN

42、T:MOV TL0,#0FFH;重置计数长度;重置计数长度(中断处理中断处理)RETITH0INT:MOV TH0,#156;重置定时常数;重置定时常数CPLP1.0;引脚输出方波;引脚输出方波RETITF1 TF1 TR1 TR1 TF0 TF0 TR0 TR0 IE1 IT1 IE0 IT0IE1 IT1 IE0 IT0GATE C/T M1 M0 GATE C/T M1 M0 GATE C/T M1 M0GATE C/T M1 M0门控位门控位GATE可用作对可用作对INTx引脚上的高电平持续时间进行计量。引脚上的高电平持续时间进行计量。通过反相器,则可测得相应通过反相器,则可测得相应I

43、NTx引脚上低电平的持续时间。两引脚上低电平的持续时间。两个时间的和即为个时间的和即为INTx引脚上输入波形的周期,其倒数即为引脚上输入波形的周期,其倒数即为INTx引脚上输入波形的频率。还可算出占空比等参数。引脚上输入波形的频率。还可算出占空比等参数。6.5.3 6.5.3 门控位门控位GATEGATE的应用的应用【例】【例】利用定时器计数器测定图示波形的一个周期长度。利用定时器计数器测定图示波形的一个周期长度。分析:分析:若若GATE=1,则则T1为定时器时,当为定时器时,当TR1=1且且INT1为高为高电平时,才启动定时器。电平时,才启动定时器。INT1(P3.3)TR1置置1T1开始计

44、时开始计时TR1清零清零查询法查询法ORG 0000HSTART:MOV TMOD,#90HMOV TL1,#00H;置为最大定时值;置为最大定时值MOV TH1,#00HLP1:,LP1 ;为高电平,等待;为高电平,等待SETBTR1;当为低时;当为低时,置置TR1为为1LP2: ,LP2 ;当为低电平时,再等待;当为低电平时,再等待LP3:,LP3 ;当为高电平时,;当为高电平时,T1开开;始定时计数始定时计数CLRTR1;当为低电平时,高电;当为低电平时,高电;平脉宽定时计数结束;平脉宽定时计数结束SJMP $当当fosc12MHz时,最大被测脉宽为时,最大被测脉宽为65536s。此此编

45、编程程实实际际只只测测量量了了高高电电平平的的宽宽度度,若若被被测测波波形形除除了了接接至至,另另外外同同时时通通过过一一个个反反相相器器接接至至P3.2(INT0),则则通通过过编编程程同同时时可可以以测测得得波波形形的的高高电电平平宽宽度度和和低低电电平宽度。平宽度。中断法:中断法:【分析】对对于于脉脉冲冲宽宽度度大大于于的的脉脉冲冲,可可以以采采用用对对定定时时溢溢出出次次数数进进行行计计数数的的方方法法。这这样样,脉脉宽宽为为(定定时时溢溢出出时时间间溢溢出出次次数数)定定时时时间。测定脉冲周期可用图示方法。时间。测定脉冲周期可用图示方法。T1脚脚上上对对下下降降沿沿计计数数二二次次,

46、即即为为外外部部脉脉冲冲的的一一个个周周期期时时间间。现现设设T1为计数器。计数值为为计数器。计数值为2。设设6MHz晶振晶振,T0为方式为方式1,定时溢出时间为,定时溢出时间为100ms当当计计数数值值为为1时时,启启动动定定时时器器;当当计计数数值值为为2时时,中中断断计计数数器器T1,并停止定时器并停止定时器T0的定时。的定时。T1中断优先级设为高于定时器中断优先级设为高于定时器T0。计数初值为计数初值为FFFEH:(:(TH1)FFH,(,(TL1)FEH。编程编程:ORG0000HSJMP MAINORG 000BH ;定时器;定时器T0中断入口中断入口AJMP TIME0ORG 0

47、0IBH ;定时器;定时器T1中断入口中断入口AJMPTIME1ORG 0030HMAIN:MOVR0,0;清除;清除T0定时中断次数计数器定时中断次数计数器MOV TMOD,59H;T0为为定定时时器器,方方式式1, GATE1;T1为计数器、方式为计数器、方式1MOVTH0,3CH;T0定时器初值定时器初值MOV TL0,0B0HMOV TH1,0FFH;T1计数器初值计数器初值MOV TL1,0FEHSETBTR0;启动;启动T0定时器定时器SETBTR1;启动;启动T1计数器计数器MOV IP,08H;T1中断优先级高于中断优先级高于T0SETBET1 ;允许;允许T1中断中断SETB

48、ET0;允许;允许T0中断中断SETBEA ;CPU开中断开中断SETB20H;设;设20H为为T1计数中断标志计数中断标志LOOP:SETBF0;设;设F0为为T0定时中断标志定时中断标志JBF0,$;T0定时未溢出,等待定时未溢出,等待JB20H,LOOP ;判;判T1若未溢出则循环若未溢出则循环SJMP $ORG 0100HTIME0:MOVTL0,0B0H;重置;重置T0定时器初值定时器初值MOV TH0,3CHINCR0;T0定时溢出计数器加定时溢出计数器加1CPLF0;T0定时中断标志变反定时中断标志变反RETIORG 0200HTIME1:CLRF0;清除;清除T0定时中断标志定

49、时中断标志CLR20H;清除;清除T1计数中断标志计数中断标志CLRET0;禁止;禁止T0、T1中断中断CLRET1CLREA;关中断;关中断RETI80C51可可以以随随时时读读写写计计数数寄寄存存器器TLx和和THx(x为为0或或1),用于实时显示计数值等。,用于实时显示计数值等。办办法法是是:先先读读THx,后后读读TLx,再再重重读读THx,若若两两次次读读得得的的THx值值是是一一样样的的,则则可可以以确确定定读读入入的的数数据据是是正确的;若两次读得的正确的;若两次读得的THx值不一致,则必须重读。值不一致,则必须重读。6.5.4 6.5.4 运行中读定时器运行中读定时器/ /计数

50、器计数器例例.飞读飞读RDTIME:MOV A,TH0;读;读TH0MOV R0,TL0;读;读TL0并存入并存入R0CJNE A,TH0,RDTIME ;再读;再读TH0,与上次,与上次;读入的;读入的TH0比较,若不等,重读比较,若不等,重读MOV R1,A;存;存TH0在在R1中中RETEND图图61 定时器定时器/计数器计数器T0、T1的内部结构框图的内部结构框图图图62方式方式0时,定时器时,定时器/计数器计数器T0、T1的逻辑结构图的逻辑结构图图图63 方式方式1时,定时器时,定时器/计数器计数器T0、T1的逻辑结构图的逻辑结构图图图64 64 方式方式2时定时器时定时器/计数器计

51、数器T0、T1的结构图的结构图图图65定时器定时器/计数器计数器T0方式方式3时的逻辑结构图时的逻辑结构图图图66 66 定时器定时器/ /计数器计数器T0T0方式方式3 3时,时,T1T1的逻辑结构图的逻辑结构图图图67定时器定时器/计数器计数器T2的捕获方式逻辑结构阁的捕获方式逻辑结构阁图图6868定时器定时器/ /计数器计数器T2T2的自动重装载方式的自动重装载方式逻辑结逻辑结构阁构阁图图6969 定时器定时器/ /计数器计数器T2T2的波特率发生器方式下的的波特率发生器方式下的结构图结构图图图610610监视定时器监视定时器T3T3图图612 612 利用定时器利用定时器/ /计数器测

52、脉冲周期计数器测脉冲周期M1M0 工作方式工作方式 计数器配置计数器配置00方式方式013位计数器位计数器01方式方式116位计数器位计数器10方式方式2自动重装载的自动重装载的8位计数器位计数器11方式方式3T0分为两个分为两个8位计数器,位计数器,T1停止停止计数计数表表61定时器定时器/计数器的工作方式计数器的工作方式RCLKTCLKCP/RL2TR2工工作作方方式式001自动重装载方式自动重装载方式011捕获方式捕获方式11波特率发生器方式波特率发生器方式0关闭关闭表表62 定时器定时器/计数器计数器T2的工作方式的工作方式实验四实验四外中断外中断接接8个发光二极管,管脚个发光二极管,管脚INT0、INT1接两个按键,接两个按键,分别定义为分别定义为“+”和和“-”。要求:上电全灭,。要求:上电全灭,每按一次每按一次“+”键,亮的灯多一盏,键,亮的灯多一盏,每按一次每按一次“-”键,亮的灯减一盏,键,亮的灯减一盏,当全亮时,再按一次当全亮时,再按一次“+”键,则全灭键,则全灭当全灭时,再按一次当全灭时,再按一次“-”键,则全亮键,则全亮

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号