《第六章单片微机的定时器计数器原理及应用优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第六章单片微机的定时器计数器原理及应用优秀PPT.ppt(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章单片微机的定时器计数器原理及应用第一页,本课件共有92页第六章第六章单片微机的定时器单片微机的定时器/计数器计数器原理及应用原理及应用第二页,本课件共有92页定时或计数:定时或计数:1硬件法硬件法定时功能完全由硬件电路完成,不占用定时功能完全由硬件电路完成,不占用CPU时间。时间。2软件法软件法软件定时是执行一段循环程序来进行时间延时。软件定时是执行一段循环程序来进行时间延时。牺牲了牺牲了CPU的时间的时间6-1概述概述第三页,本课件共有92页3可编程定时器计数器可编程定时器计数器通过软件编程来实现定时时间的改变,通过中断或查通过软件编程来实现定时时间的改变,通过中断或查询方法来完成定时
2、功能或计数功能。询方法来完成定时功能或计数功能。80C51包含有两个包含有两个16位的定时器计数器:位的定时器计数器:T0和和T1;80C52包含有三个包含有三个16位的定时器计数器:位的定时器计数器:T0、T1和和T2;在;在80C51系列的部分产品(如系列的部分产品(如Philips公司的公司的80C552)中,还包含有作看门狗的)中,还包含有作看门狗的8位定时器位定时器T3。定定时时器器计计数数器器的的核核心心是是一一个个加加1计计数数器器其其基基本本功能是计数加功能是计数加1。第四页,本课件共有92页计计数数:是是对对单单片片微微机机的的T0、T1或或T2引引脚脚上上输输入的一个入的一
3、个1到到0的跳变进行计数增的跳变进行计数增l。定定时时:是是对对单单片片微微机机内内部部的的机机器器周周期期进进行行计计数数,从而得到定时。从而得到定时。波波特特率率发发生生器器:80C51的的定定时时器器/计计数数器器还还可可用用作作串行接口的波特率发生器。串行接口的波特率发生器。第五页,本课件共有92页T0、T1的内部结构简图示于的内部结构简图示于图图61中。中。T0、T1由以下几部分组成:由以下几部分组成:计数器计数器TH0、TL0和和TH1、TL1;特殊功能寄存器特殊功能寄存器TMOD、TCON;时钟分频器;时钟分频器;输入引脚输入引脚T0、T1。6.2 6.2 定时器计数器定时器计数
4、器T0T0、T1T1第六页,本课件共有92页T0、T1的方式寄存器的方式寄存器TMODTMOD的格式如下:的格式如下:低低4位定义位定义T0高高4位定义位定义T16.2.1与定时器计数器与定时器计数器T0、T1有关的有关的特殊功能寄存器特殊功能寄存器第七页,本课件共有92页D7D6 D5D4D3D2D1D0GATE C/TM1M0GATE C/TM1M0T1T0GATE门控位门控位GATE1时时,由由外外部部中中断断引引脚脚INT0、INT1和和TR0、TR1共共同同来来启启动动定定时时器器。当当INT0引引脚脚为为高高电电平平时时,TR0置置位位启启动动定定时时器器T0;当当引引脚脚INT1
5、为为高高电电平平时时,TR1置置位位,启动定时器启动定时器T1。GATE0时,仅由时,仅由TR0和和TR1置位来启动定时器置位来启动定时器T0和和T1。第八页,本课件共有92页CT:功能选择位:功能选择位C/T1时,选择计数功能;时,选择计数功能;C/T0时,选择定时功能。时,选择定时功能。定时器,设置定时器,设置C/T0计计数数输输入入信信号号是是内内部部时时钟钟脉脉冲冲,每每个个机机器器周周期期使使计计数数器器的的值值增增1。计计数数速速率为振荡周期的率为振荡周期的112。当采用。当采用12MHz的晶体时,计数速率为的晶体时,计数速率为1MHz。定定时时器器的的定定时时时时间间,与与系系统
6、统的的振振荡荡频频率率fosc、计计数数器器的的长长度度和初始值等有关。和初始值等有关。第九页,本课件共有92页计数器,设置计数器,设置C/T1通过引脚通过引脚T0和和T1对外部信号进行计数。在每个机器周期的对外部信号进行计数。在每个机器周期的S5P2期间,期间,CPU采样引脚的输入电平。若前一机器周期采样值为采样引脚的输入电平。若前一机器周期采样值为1,下一机器周期采样值为,下一机器周期采样值为0,则计数器增,则计数器增1。第十页,本课件共有92页M1、M0:工作方式选择位。:工作方式选择位。有有4种工作方式,如种工作方式,如表表61所示。所示。定时器计数器定时器计数器T0、T1的控制寄存器
7、的控制寄存器TCON位地址位地址 8FH8EH8DH8CH8BH8AH89H88H位功能位功能 TF1TR1TF0TR0IE1IT1IE0IT0第十一页,本课件共有92页TF1:T1的溢出标志。的溢出标志。T1溢溢出出时时,该该位位由由内内部部硬硬件件置置位位。若若中中断断开开放放,即即响响应应中中断断,进进入入中中断断服服务务程程序序后后,由由硬硬件件自自动动清清0;若若中中断断禁禁止止,可可用用于于判跳,用软件清判跳,用软件清0。TR1:T1的运行控制位。的运行控制位。用软件控制,置用软件控制,置l时,启动时,启动T1;清;清0时,停止时,停止T1。第十二页,本课件共有92页TF0:T0的
8、溢出标志。的溢出标志。T0溢出时,该位由内部硬件置位。溢出时,该位由内部硬件置位。中断开放,即响应中断,进入中断服务程序后,由硬件自动清中断开放,即响应中断,进入中断服务程序后,由硬件自动清0;中断禁止,可用于判跳,用软件清中断禁止,可用于判跳,用软件清0。TR0:T0的运行控制位。的运行控制位。用软件控制,置用软件控制,置1时,启动时,启动T0;清;清0时,停止时,停止T0。第十三页,本课件共有92页IE1:外部中断:外部中断1下降沿触发标志位。下降沿触发标志位。IE0:外部中断:外部中断0下降沿触发标志位。下降沿触发标志位。IT1:外部中断:外部中断1触发类型选择位。触发类型选择位。IT0
9、:外部中断:外部中断0触发类型选择位。触发类型选择位。复位后,复位后,TCON的所有位均清的所有位均清0。T0和和T1均是关中断的。均是关中断的。T0、T1的数据寄存器的数据寄存器由由TH1、TL1和和TH0、TL0寄存器所组成。寄存器所组成。复位后,这复位后,这4个寄存器全部清零。个寄存器全部清零。第十四页,本课件共有92页定时器定时器/计数器中断计数器中断中断允许寄存器中断允许寄存器IEEA:中断允许总控制位:中断允许总控制位ET0、ET1、ET2:T0、T1和和T2的中断允许控制位。的中断允许控制位。某位某位=0,则禁止对应定时器,则禁止对应定时器/计数器的中断。计数器的中断。某位某位=
10、1,则允许对应定时器,则允许对应定时器/计数器的中断。计数器的中断。中断矢量中断矢量定时器定时器T0:000BH定时器定时器T1:001BH定时器定时器T2:002BH第十五页,本课件共有92页中断优先级寄存器中断优先级寄存器IP PT0PT0位、位、PT1PT1位、位、PT2PT2位位-T0-T0、T1T1和和T2T2中断优先级控制位。中断优先级控制位。某位为某位为0 0,则相应的定时器,则相应的定时器/计数器的中断为低优先级;计数器的中断为低优先级;某位为某位为1,则相应的定时器,则相应的定时器/计数器的中断为高优先级。计数器的中断为高优先级。第十六页,本课件共有92页T0可可选选择择4种
11、种不不同同的的工工作作方方式式,而而T1只只具具有有3种种工工作作方方式式(即即方方式式0、方式、方式1和方式和方式2)。)。方方式式0 01313位定时器位定时器/计数器计数器TMOD中的中的M10、M00。方方式式0时时的的结结构构如如图图62所所示示。计计数数寄寄存存器器由由13位位组组成成,即即THx高高8位位(作作计计数数器器)和和TLx的的低低5位位(32分分频频的的定定标标器器)构构成成。计计数数时时,TLx的的低低5位位溢溢出后向出后向THx进位,进位,THx溢出后将溢出后将TFx置位,并向置位,并向CPU申请中断。申请中断。从从图图62中可看到:中可看到:C/T位的电平为位的
12、电平为0或或1,用来设定是作定时器或计数器。,用来设定是作定时器或计数器。6.2.2 6.2.2 定时器计数器定时器计数器T0T0、T1 T1 的工作方式的工作方式第十七页,本课件共有92页门门控控位位GATE可可用用作作对对INTx引引脚脚上上的的高高电电平平时时间间进进行行计计量量。由由图图62上可看出,上可看出,当当GATE0时时,A点点为为高高电电平平,定定时时器器计计数数器器的的启启动动停停止止由由TRx决决定定。TRx1,定定时时器器计计数数器器启启动动;TRx0,定定时时器器计计数器停止。数器停止。当当GATE1时时,A点点的的电电位位由由INTx决决定定,因因而而B点点的的电电
13、位位就就由由TRx和和INTx决决定定,即即定定时时器器计计数数器器的的启启动动停停止止由由TRx和和INTx两两个个条条件决定。件决定。计计数数溢溢出出时时,TFx置置位位。如如果果中中断断允允许许,CPU响响应应中中断断并并转转入入中中断断服服务务程程序,由内部硬件清序,由内部硬件清TFx。TFx也可以由程序查询和清零。也可以由程序查询和清零。第十八页,本课件共有92页方式方式116位定时器位定时器/计数器计数器TMOD中的中的M10、M0l。方式方式1时,时,T0、T1的逻辑结构如的逻辑结构如图图63所示。所示。计计数数时时,TLx溢溢出出后后向向THx进进位位,THx溢溢出出后后将将T
14、Fx置置位位,如如果果中中断断允允许许,CPU响响应应中中断断并并转转入入中中断断服服务务程程序序,由由内内部部硬硬件清件清TFx。TFx也可以由程序查询和清零。也可以由程序查询和清零。第十九页,本课件共有92页方式方式2定时常数自动重装载的定时常数自动重装载的8位定时器位定时器/计数器计数器TMOD中的中的M11、M00。将将16位位计计数数寄寄存存器器分分为为两两个个8位位寄寄存存器器,组组成成一一个个可可重重载载的的8位计数寄存器。位计数寄存器。方式方式2时定时器时定时器/计数器计数器T0、T1的逻辑结构如的逻辑结构如图图64所示。所示。在在方方式式2中中,TLx作作为为8位位计计数数寄
15、寄存存器器,THx作作为为8位位计计数数常常数数寄存器。寄存器。第二十页,本课件共有92页当当TLx计计数数溢溢出出时时,将将TFx置置位位,并并向向CPU申申请请中中断断;将将THx的内容重新装入的内容重新装入TLx中,继续计数。中,继续计数。重新装入不影响重新装入不影响THx的内容。的内容。方式方式2适合于作为串行口波特率发生器使用。适合于作为串行口波特率发生器使用。第二十一页,本课件共有92页方式方式3TMOD中的中的M1l、M01。将将T0分分为为一一个个8位位定定时时器器计计数数器器TL0和和一一个个8位位定定时时器器TH0。T1停止计数。停止计数。方式方式3时时T0、T1逻辑结构分
16、别如图逻辑结构分别如图65、图图66。第二十二页,本课件共有92页工作方式工作方式3下的定时器下的定时器/计数器计数器T0方式方式3时,时,T0的结构见的结构见图图65所示。所示。TL0:8位定时器计数器,它占用了位定时器计数器,它占用了T0的的GATE、INT0、启动停止控制位启动停止控制位TR0、T0引脚引脚以及计数溢出标志位以及计数溢出标志位TF0和和T0的中断矢量等。的中断矢量等。TH0:作为:作为8位定时器用,此时的外部引脚位定时器用,此时的外部引脚T0已为定时器计已为定时器计数器数器TL0所占用。这时它占用了定时器计数器所占用。这时它占用了定时器计数器T1的启动的启动停止控制位停止
17、控制位TR1、计数溢出标志位、计数溢出标志位TF1及及T1中断矢量中断矢量(地址为地址为001BH)。第二十三页,本课件共有92页工作方式工作方式3下的定时器下的定时器/计数器计数器T1T1的的结结构构如如图图66所所示示,T1只只可可选选方方式式0、1或或2。作作串串行行口口波波特特率率发发生生器器时时,T1的的计计数数输输出出直直接接去去串串行行口口,只只需需设设置置好好工工作作方方式式,串串行行口口波波特特率率发发生生器器自自动动开开始始运运行行,如如要要停停止工作,只需向止工作,只需向T1送一个设为工作方式送一个设为工作方式3的控制字即可。的控制字即可。第二十四页,本课件共有92页80
18、C52中中的的T2是是一一个个16位位的的、具具有有自自动动重重装装载载和和捕捕获获能能力力的的定定时时器器计计数数器器。在在T2的的内内部部,除除了了两两个个8位位计计数数器器TL2、TH2和和控控制制寄寄存存器器T2CON及及T2MOD之之外外,还还设设置置有有捕捕获获寄寄存存器器RCAP2L(低低字字节节)和和RCAP2H(高字节)。(高字节)。T2的的计计数数脉脉冲冲源源可可以以有有两两个个:一一个个是是内内部部机机器器周周期期,另另一一个个是是由由T2(P10)端输入的外部计数脉冲。)端输入的外部计数脉冲。T2有有3种种工工作作方方式式:自自动动重重装装载载、搏搏获获和和波波特特率率
19、发发生生器器方方式式,由由T2CON中有关位决定。中有关位决定。输输入入引引脚脚T2是是外外部部计计数数脉脉冲冲输输入入端端;输输入入引引脚脚T2EX是是外外部部控控制制信信号输入端。号输入端。6.3 6.3 定时器计数器定时器计数器T2T2第二十五页,本课件共有92页控制寄存器控制寄存器 T2CON位地址位地址CFHCEHCDHCCHCBHCAHC9HC8H位功能位功能TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL26.3.1 T26.3.1 T2中的中的特殊功能寄存器特殊功能寄存器第二十六页,本课件共有92页TF2T2 T2 溢出标志溢出标志 定时器定时器T2T2溢出时置
20、位,并申请中断。只能靠软件清除。但在溢出时置位,并申请中断。只能靠软件清除。但在波特率发生器方式下,也即波特率发生器方式下,也即RCLK1或或TCLK1时,定时器溢出不时,定时器溢出不对对TF2TF2置位。置位。EXF2T2外部标志外部标志当当EXEN21,且,且T2EX引脚上出现负跳变而造成捕获或重装载时引脚上出现负跳变而造成捕获或重装载时EXF2置位,申请中断。若已允许置位,申请中断。若已允许T2中断,中断,CPU将响应中断,转向中断服务程将响应中断,转向中断服务程序。序。EXF2要靠软件来清除。要靠软件来清除。第二十七页,本课件共有92页RCLK:接收时钟标志。:接收时钟标志。软软件件置
21、置位位或或清清除除,用用以以选选择择T2或或T1作作串串行行口口接接收收波波特特率率发发生生器器。RCLK1时时,用用T2溢溢出出脉脉冲冲作作为为串串行行口口的的接接收收时时钟钟;RCLK0时,用时,用T1的溢出脉冲作接收时钟。的溢出脉冲作接收时钟。TCLK:发送时钟标志。:发送时钟标志。软软件件置置位位或或清清除除,用用以以选选择择T2或或T1作作串串行行口口发发送送波波特特率率发发生生器器。TCLKl时时,用用T2溢溢出出脉脉冲冲作作为为串串行行口口的的发发送送时时钟钟;TCLK0时时,用用T1的溢出脉冲作发送时钟。的溢出脉冲作发送时钟。EXEN2:T2T2外部允许标志。外部允许标志。第二
22、十八页,本课件共有92页 软软件件设设置置或或清清除除,以以允允许许或或禁禁止止用用外外部部信信号号来来触触发发捕捕获获或或重重装装载载操作。操作。当当EXEN2EXEN2l l时时,若若T2T2未未用用作作串串行行口口的的波波特特率率发发生生器器,则则在在T2EXT2EX端端出出现现的的信号负跳变时,将造成信号负跳变时,将造成T2T2捕获或重装载,并置捕获或重装载,并置EXF2EXF2标志为标志为 1 1,请求中断。,请求中断。EXEN2EXEN20 0时,时,T2EXT2EX端的外部信号不起作用。端的外部信号不起作用。TR2T2T2运行控制位。运行控制位。软件设置或清除,软件设置或清除,T
23、R2TR21 1,启动,启动T2T2,否则停止。,否则停止。第二十九页,本课件共有92页C/T2:T2T2的定时器方式或计数器方式选择位。的定时器方式或计数器方式选择位。C/T2C/T20 0时时,选选择择定定时时器器工工作作方方式式。TH2TH2和和TL2TL2对对机机器器周周期期进进行行计计数数。每每个个机机器器周周期期使使TL2TL2寄寄存存器器的的值值增增1 1。计计数数脉脉冲冲的的频频率率为为1 11212振振荡器频率。荡器频率。C CT2T21 1时时,选选择择计计数数器器工工作作方方式式,下下降降沿沿触触发发。计计数数脉脉冲冲自自T2T2引引脚脚输输入入,TH2TH2和和TL2T
24、L2作作外外部部信信号号脉脉冲冲计计数数器器用用,每每当外部脉冲负跳变时,计数器值增当外部脉冲负跳变时,计数器值增1 1。第三十页,本课件共有92页CPRL2:捕获重装载标志。捕获重装载标志。CPCPRL2RL2l l选选择择捕捕获获功功能能,这这时时若若EXEN2EXEN21 1,且且T2EXT2EX端端的的信信号号负负跳跳变时,发生捕获操作。变时,发生捕获操作。CPCPRL2RL20 0,选选择择重重装装载载功功能能,这这时时若若T2T2溢溢出出或或在在EXEN2EXEN21 1条条件件下下 T2EXT2EX端端信信号号负负跳跳变变,都都会会造造成成自自动动重重装装载载操操作作。当当RCL
25、KRCLKl l或或TCLKTCLKl l时时,CPRL2RL2控控制制位位不不起起作作用用,T2 T2 被被强强制制工工作作于于重重装装载载方方式式。重重装装载发生于载发生于T2T2溢出时,常用来作波特率发生器。溢出时,常用来作波特率发生器。第三十一页,本课件共有92页方式控制寄存器方式控制寄存器T2MODD7D6D5D4D3D2D1D0-T2OEDCENT2OE:T2输出允许位。输出允许位。当当T2OE1时,允许时钟输出至时,允许时钟输出至T2引脚。引脚。仅对仅对80C5480C58有定义。有定义。DCEN:向下计数允许位:向下计数允许位DCEN=1,T2向下向下(减减)计数计数DCEN=
26、0,T2向上向上(加加)计数计数第三十二页,本课件共有92页数据寄存器数据寄存器:TH2、TL2T2有有一一个个16位位的的数数据据寄寄存存器器,是是由由高高8位位寄寄存存器器TH2和和低低8位位寄寄存存器器TL2所所组组成成。它它们们都都只只能能字字节节寻寻址址,相相应应的的字字节节地地址址为为CDH和和CCH。复位后,这两个寄存器全部清零。复位后,这两个寄存器全部清零。第三十三页,本课件共有92页 捕获寄存器:捕获寄存器:RCAP2HRCAP2H、RCAP2LRCAP2LT2中的捕获寄存器是一个中的捕获寄存器是一个16位的数据寄存器,由高位的数据寄存器,由高8位寄存器位寄存器RCAP2H和
27、低和低8位寄存器位寄存器RCAP2L所组成,相应的字节地址为所组成,相应的字节地址为CBH和和CAH。捕获寄存器捕获寄存器RCAP2H和和RCAP2L,用于捕获计数器,用于捕获计数器TL2、TH2的计的计数状态,或用来预置计数初值的。数状态,或用来预置计数初值的。TH2、TL2和和RCAP2H、RCAP2L之间之间接有双向缓冲器(三态门)。接有双向缓冲器(三态门)。复位后,两个寄存器全部清零。复位后,两个寄存器全部清零。第三十四页,本课件共有92页T2的工作方式用控制位的工作方式用控制位CPRL2(T2CON0)和)和RCLKTCLK来选择。来选择。T2有有3种工作方式,如种工作方式,如表表6
28、2所示:捕获方式、自动重装载方式和所示:捕获方式、自动重装载方式和波特率发生器方式。波特率发生器方式。捕获方式捕获方式在在一一定定条条件件下下,自自动动将将计计数数器器TH2和和TL2的的数数据据读读入入捕捕获获寄寄存存器器RCAP2H和和RCAP2L,亦亦即即TH2和和TL2内内容容的的捕捕获获是是通通过过捕捕获获寄寄存存器器RCAP2H和和RCAP2L来实现的。其工作原理可参见来实现的。其工作原理可参见图图67。当当CPRL2l时,选择捕获方式。时,选择捕获方式。6.3.2 6.3.2 定时器计数器定时器计数器T2T2的工作方式的工作方式第三十五页,本课件共有92页捕获操作发生于下述两种情
29、况下:捕获操作发生于下述两种情况下:(1)寄寄存存器器TH2和和TL2溢溢出出时时,打打开开重重装装载载三三态态缓缓冲冲器器,把把TH2和和TL2的的内内容容自自动动读读入入到到捕捕获获寄寄存存器器RCAP2H和和RCAP2L中中。同同时时,溢溢出出标标志志TF2置置1,申请中断。,申请中断。当当EXEN2l且且T2EX(P11)端端的的信信号号有有负负跳跳变变时时,将将发发生捕获操作。同时标志生捕获操作。同时标志EXF2置置1,申请中断。,申请中断。若若T2的的中中断断是是被被允允许许的的,则则无无论论发发生生TF2l还还是是EXF2l,CPU都都会会响响应中断。响应中断后,应用软件清除中断
30、申请。应中断。响应中断后,应用软件清除中断申请。第三十六页,本课件共有92页自动重装载方式自动重装载方式在在一一定定条条件件下下,自自动动地地将将捕捕获获寄寄存存器器RCAP2H和和RCAP2L的数据装入计数器的数据装入计数器TH2和和TL2中。中。捕获寄存器捕获寄存器RCAP2H和和RCAP2L在这里起预置计数初值的功在这里起预置计数初值的功能。对能。对8XC52,其工作原理可参见图,其工作原理可参见图68。当当CPRL20时,选择自动重装载方式。时,选择自动重装载方式。若若T2的的中中断断是是被被允允许许的的,则则无无论论发发生生TF21还还是是EXF21,CPU都都会会响响应应中中断断,
31、此此中中断断向向量量的的地地址址为为002BH。响响应应中中断断后后,应应用用软软件件撤撤除除中中断断申申请请。TF2和和EXF2都都是是直直接接可可寻寻址址位位,可可采采用用CLRTF2和和CLREXF2指令实现撤除中断申请的功能。指令实现撤除中断申请的功能。第三十七页,本课件共有92页波特率发生器方式波特率发生器方式当当T2CON中中RCLK十十TCLK1,其溢出脉冲用做串行口的时钟。,其溢出脉冲用做串行口的时钟。T2的波特率发生器方式下的结构图示于的波特率发生器方式下的结构图示于图图69中。中。RCLK选选择择串串行行通通信信接接收收波波特特率率发发生生器器,TCLK选选择择发发送送波波
32、特特率率发发生生器,发送和接收的波特率可以不同。器,发送和接收的波特率可以不同。T2的输入时钟可由内部时钟决定,也可由外部脉冲决定。的输入时钟可由内部时钟决定,也可由外部脉冲决定。若若CT20,选选用用内内部部时时钟钟,对对机机器器周周期期计计数数,计计数数脉脉冲冲的的频频率率为为112振荡器频率振荡器频率.若若C/T2C/T21,选选用用外外部部脉脉冲冲,该该脉脉冲冲由由T2端端输输入入,每每当当外外部部脉脉冲冲负负跳跳变时,计变时,计数器值增数器值增l。外部脉冲频率不超过振荡器频率的。外部脉冲频率不超过振荡器频率的l24。第三十八页,本课件共有92页由由于于脉脉冲冲溢溢出出时时,RCAP2
33、H和和RCAP2L的的内内容容会会自自动动装装载载到到TH2和和TL2中,故波特率的值还决定于中,故波特率的值还决定于RCAP2H和和RCAP2L装载初值。装载初值。RCLKTCLK还还用用于于选选择择T1还还是是T2作作串串行行通通信信的的波波特特率率发发生生器器。由由图图69可可看看出出,这这两两位位的的值值用用来来控控制制两两个个电电子子开开关关的的位位置置。值值为为0时时,选选用用T1做波特率发生器;值为做波特率发生器;值为1时,选用时,选用T2做波特率发生器。做波特率发生器。当当T2用用做做波波特特率率发发生生器器时时,TH2的的溢溢出出不不使使TF2置置位位,不不产产生生中中断断。
34、因而,当因而,当T2用做波特率发生器时,没有必要禁止中断。用做波特率发生器时,没有必要禁止中断。当当T2用用做做波波特特率率发发生生器器时时,若若EXEN2置置1,则则T2EX端端的的信信号号产产生生负负跳跳变变时时,EXF2将将置置1,但但不不会会发发生生重重装装载载或或捕捕获获操操作作。这这时时,T2EX可可以以作作为为一一个附加的外部中断源。个附加的外部中断源。第三十九页,本课件共有92页T3俗俗称称看看门门狗狗(watchdog),它它的的作作用用是是强强迫迫单单片片微微机机进进入入复复位位状状态态,使使之之从从硬硬件件或或软软件件故故障障中中解解脱脱出出来来。在在实实际际应应用用中中
35、,由由于于现现场场的的各各种种干干扰扰或或者者程程序序设设计计错错误误,可可能能使使单单片片微微机机的的程程序序进进入入了了“死死循循环环”或或“非非程程序序区区”(如如表表格格数数据据区区)之之后后,在在一一个个设设定定的的时时间间内内,假假如如用用户户程程序序没没有有重重装装T3,监监视视电电路路将将产产生生一一个个系系统统复复位位信信号号,强强迫迫单单片片微微机机退退出出“死死循循环环”或或“非非程程序序区区”,重重新新进进行行“冷冷启启动动”或或“热热启启动动”。在在飞飞利利浦浦80C552中中,T3由由一一个个11位位的的分分频频器器和和8位位定定时器时器T3组成,如组成,如图图6一
36、一10所示。所示。6.4 6.4 监视定时器监视定时器(看门狗看门狗)T3)T3第四十页,本课件共有92页预分频器输入为晶振预分频器输入为晶振1/12的信号,晶振为的信号,晶振为12MHz时,输入为时,输入为1MHz,而而8位定时器位定时器T3每隔时间每隔时间t加加1:t122048/fosc当晶振为当晶振为12MHz时,时,t为为2.048ms。若若8位定时器溢出,则产生一个尖脉冲,它将复位位定时器溢出,则产生一个尖脉冲,它将复位8C552,同时在,同时在RST引引脚上也将产生脚上也将产生1个正的复位尖脉冲。个正的复位尖脉冲。T3由外部引脚由外部引脚EW和电源控制寄存器中和电源控制寄存器中的
37、的PCON4(WLE)和)和PCONl(PD)控制。)控制。EW:看门狗定时器允许,低电平有效。:看门狗定时器允许,低电平有效。EW0时,允许看门狗定时器,禁止掉电方式;时,允许看门狗定时器,禁止掉电方式;EW1时禁止看门狗定时器,允许掉电方式。时禁止看门狗定时器,允许掉电方式。第四十一页,本课件共有92页WLE:看门狗定时器允许重装标志。:看门狗定时器允许重装标志。若若WLE置位,定时器置位,定时器T3只能被软件装入,装入后只能被软件装入,装入后WLE自动清除。自动清除。T3的的重重装装和和溢溢出出,产产生生复复位位的的时时间间间间隔隔,由由装装入入T3的的值值决决定,对于定,对于8C552
38、,其监视间隔可编程为,其监视间隔可编程为2.048ms2.048255ms。T3的的工工作作过过程程:在在T3溢溢出出时时,复复位位8XC552,并并产产生生复复位位脉脉冲冲输输出出至至复复位位引引脚脚RST。为为防防止止系系统统复复位位,必必须须在在定定时时器器T3溢溢出出前前,通通过过软软件件对对其其进进行行重重装装。如如果果发发生生软软件件或或硬硬件件故故障障,将将使使软件对定时器软件对定时器T3重装失败,从而重装失败,从而T3溢出导致复位信号的产生。溢出导致复位信号的产生。第四十二页,本课件共有92页首首先先要要确确定定系系统统能能在在不不正正常常状状态态下下维维持持多多久久,这这段段
39、时时间就设定为监视定时器的最大间隔时间。间就设定为监视定时器的最大间隔时间。T3是是加加1计计数数器器,T3中中装装入入0,则则监监视视时时间间间间隔隔最长,装入值为最长,装入值为FFH时,监视时间间隔最短。时,监视时间间隔最短。第四十三页,本课件共有92页例:例:watchdog使用的一段程序如下:使用的一段程序如下:T3EQU 0FFH;定时器;定时器T3的地址的地址PCONEQU 87H;电源控制寄存器;电源控制寄存器PCON的地址的地址WATCH_INTVEQU156;看门狗的时间间隔;看门狗的时间间隔(2.048100ms)在用户程序中对看门狗需要重新装入的地方,插入:在用户程序中对
40、看门狗需要重新装入的地方,插入:LCALLWATCHDOG;调用看门狗服务子程序;调用看门狗服务子程序WATCHDOG:ORLPCON,10H;允许定时器;允许定时器T3重装重装MOVT3,WATCHINTV;装载定时器;装载定时器T3RET第四十四页,本课件共有92页定时器计数器溢出率的计算定时器计数器溢出率的计算定定时时器器计计数数器器运运行行前前,在在数数据据寄寄存存器器中中预预先先置置入入的的常常数数,称称为为定定时时常常数数或或计计数数常常数数TC。由由于于计计数数器器是是加加1(向向上上)计计数数的的,故故而而预预先先置入的常数均应为补码。置入的常数均应为补码。其中:其中:t:定时
41、时间。:定时时间。Tc:机器周期。:机器周期。Fosc:晶体振荡器频率。:晶体振荡器频率。L:计数器的长度。:计数器的长度。6.5 6.5 定时器定时器/计数器的应用编程计数器的应用编程6.5.1 6.5.1 定时器的应用定时器的应用第四十五页,本课件共有92页T0及及T1:方式方式0L=132138192方式方式1L1621665536方式方式2L828256TC:定时器计数器初值,即定时常数或计数常数。:定时器计数器初值,即定时常数或计数常数。定时时间的倒数即为溢出率,即:定时时间的倒数即为溢出率,即:第四十六页,本课件共有92页根根据据要要求求的的定定时时时时间间t、设设定定的的定定时时
42、器器工工作作方方式式(确确定定L)及及晶晶体体振振荡荡频频率率fosc,可可计计算算出出TC值值(十十进进制制数数),再再将将其其转换成二进制数转换成二进制数TCB,然后再分别送入,然后再分别送入THi、TLi。第四十七页,本课件共有92页对于对于T0、T1:方式方式0时:时:TCB=TCHTCL,TCH:高:高8位,位,TCL:低低5位位MOV THi,TCH;送高;送高8位位MOV TLi,TCL;送;送低低5位位(高高3位为位为0)方式方式1时:时:TCB=TCHTCL,TCH:高高8位,位,TCL:低低8位位MOV THi,TCH;送高;送高8位位MOVTLi,TCL;送;送低低8位。
43、位。方式方式2时:时:TCB8位重装载位重装载MOVTHi,TCB;送高;送高8位位MOVTLi,TCB;送;送低低8位。位。第四十八页,本课件共有92页已已知知晶晶体体振振荡荡器器的的频频率率为为fosc=6MHz。可可使使用用T0作作定定时时器器,设设为为方式方式0,设定,设定1ms的定时,每隔的定时,每隔1ms使使P1.0引脚上的电平变反。引脚上的电平变反。(1)解:定时常数计算解:定时常数计算振振荡荡器器的的频频率率fosc6MHz,机机器器周周期期为为2s,方方式式0计计数数器器长长度度L13(2138192),定时时间,定时时间t1ms0.001s定时常数:定时常数:例例要求在要求
44、在P10引脚上产生周期为引脚上产生周期为2ms的方波输出的方波输出第四十九页,本课件共有92页TC为为76921E0CH,二二进进制制数数TCB0001111000001100B,取取低低13位位,其其中中 高高 8位位 TCH F0H,低低 5位位 为为 TCL 0CH.计计 数数 长长 度度 为为1E0CH=7692,定时为,定时为(81927692)2s=0.001STMOD的设定的设定第五十页,本课件共有92页(2)编编程程ORG0000HAJMP MAINORG000BH;T0中断矢量中断矢量AJMPINQPORG0030HMAIN:MOVTMOD,00H;设设T0为定时器方式为定时
45、器方式0 0 MOV TH0,0F0H ;写定时常数;写定时常数(定时定时1ms)1ms)MOV TL0,0CH第五十一页,本课件共有92页SETB TR0 ;启动;启动 T0 SETB ET0 ;允许;允许T0中断中断 SETB EA ;开放;开放CPU中断中断 AJMP$;定时中断等待;定时中断等待ORG2000H ;T0T0中断服务程序中断服务程序 INQP:MOVTH0,0F0H ;重写定时常数;重写定时常数 MOV TL0,0CHCPLP10 ;P10变反输出变反输出 RETI ;中断返回;中断返回第五十二页,本课件共有92页使用使用T1T1的方式的方式1 1,设定,设定1ms1ms
46、的定时。在的定时。在P1P10 0引脚上产生周期引脚上产生周期为为2ms的方波输出。晶体振荡器的频率为的方波输出。晶体振荡器的频率为fosc6MHz。解:解:定时常数计算定时常数计算振荡器的频率振荡器的频率fosc6MHz6106Hz,方式,方式1计数器长度计数器长度L16,2L21665536定时时间定时时间t1ms0.001s例例第五十三页,本课件共有92页定定时时常常数数TC转转换换成成二二进进制制TCB1111111000001100BFE0CHTCHFEH,TCL0CHTMOD的设定的设定定时常数定时常数第五十四页,本课件共有92页ORG0000HAJMPMAINORG 001BH;
47、T1中断矢量中断矢量AJMPINQPORG 100H;主程序入口;主程序入口MAIN:MOVTMOD,10H;T1为定时器方式为定时器方式1MOV TH1,0FEH;写定时常数;写定时常数,定时,定时1msMOV TL1,0CHSETBTR1;启动;启动T1第五十五页,本课件共有92页SETB ET1;允许;允许T1中断中断SETB EA;开放;开放CPU中断中断AJMPORG 2000H;T1中断服务程序中断服务程序INQP:MOVTH1,0FEH;重写定时常数;重写定时常数MOV TL1,0CHCPLP10;P10变反输出变反输出RETI;中断返回;中断返回第五十六页,本课件共有92页欲欲
48、用用80C51产产生生两两个个方方波波,一一个个方方波波周周期期为为200s,另另一一个个方方波波周周期期为为400s,该该80C51同同时时使使用用串串行行口口,用用定定时时器器计计数器作为波特率发生器。数器作为波特率发生器。这这时时T0采采用用方方式式3工工作作,其其中中,TL0产产生生100s定定时时,由由P10输输出出方方波波1;TH0产产生生200s定定时时,由由Pl1输输出出方方波波2;T1设设置置为为方式方式2,作波特率发生器用。,作波特率发生器用。fOCC9216MHz。例例3第五十七页,本课件共有92页定时常数计算定时常数计算TL0定时常数为定时常数为TCL0:TL0100s
49、单位单位s,为十进数制数值。十六进制数值为,为十进数制数值。十六进制数值为TL0B3H。TH0定时常数为定时常数为TCH0:定时时间为:定时时间为TH0200s单单位位s,为为十十进进制制数数值值。十十六六进进制制的的值值为为TH066H。TH1的的波波特特率率(详详细细计计算算见见串串行行口口部部分分)设设波波特特率率为为2400,则则定定时时常常数数为为TC2F6H第五十八页,本课件共有92页编编程程ORG 0000HAJMP MAINORG000BH;TL0的中断入口的中断入口AJMPITL0ORG 00lBH;TH0的中断入口的中断入口AJMPITH0ORG0100HMAIN:MOVS
50、P,60H;设栈指针;设栈指针MOV TMOD,23H;设;设T0为方式为方式3,TI为为2第五十九页,本课件共有92页MOVTL0,0B3H;设;设TL0初值初值(100s定时定时)MOVTH0,66H;设;设TH0初值初值(200s定时定时)MOVTL1,0F6H;设;设TL1初值初值(波特率为波特率为2400)MOVTH1,0F6H;设;设TH1初值初值SETB TR0;启动;启动TL0SETBTR1;启动;启动TH0SETBET0;允许;允许TL0中断中断SETBET1;允许;允许TH0中断中断SETB EA;CPU中断开放中断开放AJMP 第六十页,本课件共有92页ORG 0200H