《单片机计数器定时器精选PPT.ppt》由会员分享,可在线阅读,更多相关《单片机计数器定时器精选PPT.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机计数器定时器第1页,此课件共22页哦图图 4.1 4.1定时器计数器结构框图定时器计数器结构框图 T0T0、T1T1的使用方法通过访问的使用方法通过访问SFRSFR中的中的 TMOD TMOD、TCONTCON、TL0TL0、TH0TH0、TL1TL1、TH1TH1实现。实现。第2页,此课件共22页哦1.1.工作方式控制寄存器工作方式控制寄存器TMOD TMOD TMOD TMOD 的格式:的格式:字节地址为字节地址为89H89H,不支持位寻址。,不支持位寻址。TMODTMOD的各个位的意义:的各个位的意义:8 8位分为两组,高位分为两组,高4 4位控制位控制T1T1,低,低4 4位控制
2、位控制T0T0。GATEGATE位:位:门控位。门控位。GATE=1 GATE=1 时:时:T0T0、T1T1是否计数受外部引脚输入电平的控制。是否计数受外部引脚输入电平的控制。/INT0/INT0引脚控制引脚控制T0T0运运 行;行;/INT1/INT1引脚控制引脚控制T1T1运行。运行。GATEGATE0 0时:时:定时器计数器的运行不受外部输入引脚定时器计数器的运行不受外部输入引脚/INT0/INT0、/INT1/INT1的控制。的控制。第3页,此课件共22页哦C C*T=0:*T=0:为定时器模式。为定时器模式。内内部部计计数数器器对对晶晶振振脉脉冲冲1212分分频频后后的的脉脉冲冲计
3、计数数,该该脉脉冲冲的的周周期期等等于于机机器器周周期期。即即对对机机器器周周期期进进行行计计数数。若若选选择择12MHz12MHz晶晶振振,则则计计数数频频率率为为1MHz1MHz,从从计计数数值值便便可可求求得得计计数数的的时时间间,所以称为定时器模式;所以称为定时器模式;C C*T=1:*T=1:设置为计数器模式设置为计数器模式.计数器对外部输入引脚计数器对外部输入引脚 T0 T0(P3.4P3.4脚)或脚)或T1T1(P3.5P3.5脚)的外部脉冲(负跳变)计数,脚)的外部脉冲(负跳变)计数,允许最高计数频率为晶振频率的允许最高计数频率为晶振频率的1/241/24。M1M1、M0 M0
4、位:位:4 4种工作方式选择位。种工作方式选择位。第4页,此课件共22页哦2 2定时器计数器控制寄存器定时器计数器控制寄存器TCON TCON TCONTCON的字节地址为的字节地址为88H88H,支持位寻址,位地址为,支持位寻址,位地址为88H88H8FH8FH,TCONTCON的格式如下:的格式如下:TF1TR1TF0TR0IE1 IT1IE0IT0低低4 4位与外部中断有关,将在第六章中介绍。高位与外部中断有关,将在第六章中介绍。高4 4位的功能如下:位的功能如下:TF1TF1:T1T1计数溢出标志位。当计数溢出标志位。当T1T1计数溢出时,由硬件置计数溢出时,由硬件置1 1,申请中断。
5、进入中断服,申请中断。进入中断服 务程序后被硬件自动清务程序后被硬件自动清0 0。TF0TF0:T0T0计数溢出标志位。当计数溢出标志位。当T0T0计数溢出时,由硬件置计数溢出时,由硬件置1 1,申请中断。进入中断服,申请中断。进入中断服 务程序后被硬件自动清务程序后被硬件自动清0 0。TR1TR1:T1T1计数运行控制位。控制方式结合不同的工作模式讨论。计数运行控制位。控制方式结合不同的工作模式讨论。TR0TR0位:位:T0T0计数运行控制位。控制方式结合不同的工作模式讨论。计数运行控制位。控制方式结合不同的工作模式讨论。第5页,此课件共22页哦4 42 2 定时器定时器/计数器的四种工作方
6、式计数器的四种工作方式 1 1方式方式 0 0 当当M1M1、MOMO为为 00 00时,定时器计数器被选为工作方式时,定时器计数器被选为工作方式 0 0,这时定时器计数器的等效框图,这时定时器计数器的等效框图如图如图4 42 2所示(以定时器计数器所示(以定时器计数器 T1 T1为例)为例)第6页,此课件共22页哦 定定时时器器计计数数器器工工作作在在方方式式0 0时时,为为1313位位的的计计数数器器,由由TL1TL1的的低低 5 5位位和和TH1TH1的的8 8位位所所构构成成。TL1TL1低低5 5位溢出向位溢出向TH1TH1进位,进位,TH1TH1计数溢出置位计数溢出置位TCONTC
7、ON中的溢出标志位中的溢出标志位TF1TF1。GATEGATE位的状态决定定时器计数器运行控制取决于位的状态决定定时器计数器运行控制取决于TR1TR1一个条件还是一个条件还是TR1TR1和和INT1INT1引脚这两个条件。引脚这两个条件。当当GATE=0GATE=0时时,A A点点(见见图图4 42 2)电电位位恒恒为为1 1,则则只只要要TR1TR1被被置置为为1 1,B B点点电电位位即即为为1 1,定定时时器器计计数数器器被被控控制制为为允允许许计计数数,即即定定时时器器计计数数器器的的计计数数控控制制仅仅由由 TR1TR1的的状状态态确确定定(TR1=1TR1=1计计数数,TR1=0T
8、R1=0停止计数)。停止计数)。当当GATEGATE1 1时时,B B点点电电位位由由INT1INT1输输入入电电平平和和TR1TR1的的状状态态确确定定,当当TRX=1TRX=1,且且/INT1/INT11 1时时,B B点点电电平平才才为为 1 1,才才允允许许定定时时器器计计数数器器计计数数,故故这这种种情情况况下下计计数数控控制制由由 TR1TR1和和 /INT1/INT1个个条条件控制。件控制。T0T0工作于方式工作于方式0 0时的情形与时的情形与T1T1相同。相同。第7页,此课件共22页哦2 2方式方式 1 1 当当M1M1、M0M0为为 01 01时,定时器计数器工作于方式时,定
9、时器计数器工作于方式 1 1,这时定时器计数器的等效,这时定时器计数器的等效 电路如图电路如图4 43 3所示(以定时器计数器所示(以定时器计数器T1T1为例)。为例)。第8页,此课件共22页哦应用举例:应用举例:利用利用T0T0工作于方式工作于方式1 1,在,在P1.0P1.0、P1.1 P1.1 输出两路相位相反、频率为输出两路相位相反、频率为50HZ50HZ、占空、占空比为比为 50%50%的方波信号。(的方波信号。(fosc=12MHzfosc=12MHz)求求T1T1的初值的初值X X:(:(65536-X65536-X)*10*10-6-6=10=10-2-2 X=55536=0D
10、8F0H X=55536=0D8F0H算法:算法:ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#0EFHLCALLINI_T0WAIT:JNBTF0,WAITCLRTF0 MOVTH0,#0D8HMOVTL0,#0F0HCPLP1.0MOVC,P1.0CPLCMOVP1.1,CLJMPWAITINIT_T0:MOVTMOD,#01HSETBTR0RETEND 第9页,此课件共22页哦3 3方式方式 2 2 当当M1M1、M0M0为为1010时,定时器计数器处于工作方式时,定时器计数器处于工作方式2 2,这时定时器计数器的等效框图如图,这时定时器计数器的等效框图如图4
11、44 4所示(以定时器所示(以定时器T1T1为例)。为例)。第10页,此课件共22页哦定定时时器器计计数数器器的的方方式式 2 2为为自自动动恢恢复复初初值值的的(常常数数重重装装入入)8 8位位定定时时器器/计计数数器器,TL1TL1作作为为8 8位位计计数数器器,当当TL1TL1计计数数溢溢出出时时,在在置置1 1溢溢出出标标志志TF1TF1的的同同时时,还还自自动动的的将将TH1TH1中中的的常常数数送送至至TL1TL1,使使 TL1TL1从从初初值值开开始始重新计数。重新计数。这种工作方式可以省去用户软件中重装常数的程序,简化定时常数的计算方法(确定计数初值)这种工作方式可以省去用户软
12、件中重装常数的程序,简化定时常数的计算方法(确定计数初值),可以相当精确的确定定时时间。,可以相当精确的确定定时时间。应用举例:应用举例:利用利用T0T0工作于方式工作于方式2 2,设计一个精确秒表,测量精度为,设计一个精确秒表,测量精度为1 1毫秒毫秒(晶体振荡周期晶体振荡周期12MHz12MHz)。)。第11页,此课件共22页哦硬件设计:硬件设计:第12页,此课件共22页哦软件编程:软件编程:US250_BUFEQU30HMS_BUFEQU31H ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#0CFHLCALLINIT_T0M1:JNBTF0,M1CLRTF0IN
13、CUS250_BUFMOVA,US250_BUFCLRCSUBBA,#4JCM1MOVUS250_BUF,#0INCMS_BUFLJMPM1INT_T0:MOVTMOD,#0AHMOVTL0,#6MOVTH0,#6SETBTR0MOVUS25_BUF,#0MOVMS_BUF,#0RETEND第13页,此课件共22页哦4 4方式方式 3 3 当当TMODTMOD的的低低2 2位位为为1111时时,定定时时器器T0T0的的工工作作方方式式被被选选为为方方式式3 3,各各引引脚脚与与TOTO的的逻逻辑辑关关系系框框图图如图如图4 46 6所示。所示。第14页,此课件共22页哦 方式方式3 3只适用于
14、定时器计数器只适用于定时器计数器T0T0,将,将1616位的位的T0T0计数器拆成两个计数器拆成两个8 8位,从而使位,从而使MCS-51MCS-51具有具有三个定时器计数器。此时定时器计数器三个定时器计数器。此时定时器计数器T1T1只能工作于方式只能工作于方式0 0、方式、方式1 1、方式、方式2 2,但其功能,但其功能较前述的功能差,通常用来作串行口波特率产生器。方式较前述的功能差,通常用来作串行口波特率产生器。方式3 3对对T1T1无效。无效。定定时时器器计计数数器器T0T0分分为为两两个个独独立立的的8 8位位计计数数器器:TL0TL0和和 TH0TH0,TL0TL0使使用用 T0T0
15、的的状状态态控控制制位位C C*T*T,GATEGATE、TR0TR0、/INT0/INT0,而而TH0TH0被被固固定定为为一一个个8 8位位定定时时器器(不不能能作作外外部部计计数数方方式式),并并使使用用定定时时器器T1T1的的状状态控制位态控制位TR1TR1和和TF1TF1,同时占用定时器,同时占用定时器T1T1的中断源。的中断源。一一般般情情况况下下,当当定定时时器器T1T1用用作作串串行行口口的的波波特特率率发发生生器器时时,定定时时器器所所数数器器T0T0才才工工作作在在方方式式3 3。当当定定时时器器T0T0处处于于工工作作方方式式3 3时时,定定时时器器/计计数数器器T1T1
16、可可定定为为方方式式0 0、方方式式1 1、和方式和方式2 2,作为串行口的波特率发生器,或不需要中断的场合。,作为串行口的波特率发生器,或不需要中断的场合。第15页,此课件共22页哦T0T0工作于方式工作于方式3 3时,时,T1T1可选定的工作模式:可选定的工作模式:1)1)方式方式0 0 定时器定时器 T1 T1的控制数字中的控制数字中 M1 M1、MOMO 00 00时,定时器时,定时器 Tl Tl作在方式作在方式0 0,工作示意图如图,工作示意图如图 4 47 7(a a)所示。)所示。第16页,此课件共22页哦2)2)方式方式1 1 当定时器当定时器TITI的控制字中的控制字中MIM
17、I、MOMO二二0101时,定时器时,定时器TITI的工作方式为方式的工作方式为方式1 1,工作示,工作示意图如图意图如图4 47 7(b b)所示。)所示。第17页,此课件共22页哦3 3)方式)方式2 2 当定时器当定时器T1T1的控制字段中的控制字段中M1M1、M0M01010时,定时器时,定时器T1T1的工作方式为方式的工作方式为方式2 2,工作示意图如图,工作示意图如图4747(c c)所示。)所示。第18页,此课件共22页哦4.3 4.3 应用中的注意问题应用中的注意问题 1.1.做计数器使用时对计数脉冲的要求做计数器使用时对计数脉冲的要求 (1)(1)对频率的要求对频率的要求 脉
18、冲周期大于脉冲周期大于2 2个机器周期,脉冲频率个机器周期,脉冲频率F=FF=1=1个机器周期。个机器周期。第19页,此课件共22页哦说明:说明:当定时器计数器用作计数器时,计数脉冲来自响应的外部输入引脚当定时器计数器用作计数器时,计数脉冲来自响应的外部输入引脚T0T0或或T1T1。当输入。当输入信号由信号由1 1至至0 0的跳变(即下跳变)时,计数器的值增的跳变(即下跳变)时,计数器的值增1 1。每个机器周期的。每个机器周期的S5P2S5P2期间,对外部期间,对外部输入进行采样。如在第一个周期中采得的值为输入进行采样。如在第一个周期中采得的值为1 1,而在下一个周期中采得为,而在下一个周期中
19、采得为 0 0,则在紧跟,则在紧跟着的再下一个周期着的再下一个周期 S3 P1 S3 P1的期间,计数器加的期间,计数器加1 1。由于确认一次下跳变要花两个机器周期,。由于确认一次下跳变要花两个机器周期,即即2424个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1 12424,例如选用,例如选用12MHz12MHz频率的晶体,允许输入的脉冲频率为频率的晶体,允许输入的脉冲频率为500KH500KH。对于外部输入信号的占空比并没有什么。对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这
20、一电平至少要保持一个限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一电平至少要保持一个机器周期。故对输入信号的基本要求如图机器周期。故对输入信号的基本要求如图4 48 8所示,图中所示,图中TcyTcy为机器周期。为机器周期。(2)对波形的要求)对波形的要求 满足满足TTL电平要求。电平要求。第20页,此课件共22页哦2.2.运行中读计数值运行中读计数值 应当通过软件防止出现在读数过程中,出现低应当通过软件防止出现在读数过程中,出现低8 8位向高位向高8 8位进位问题。位进位问题。(3)隔离的要求)隔离的要求 提高系统的抗干扰的能力。提高系统的抗干扰的能力。RE_READ:MOVA
21、,TH1MOVB,TL1CJNEA,TH1,RE_READRET 第21页,此课件共22页哦第第4 4章计数器章计数器/定时器定时器 习题习题1.1.编程确定:编程确定:T0T0工作于方式工作于方式1 1,对外部脉冲计数,受引脚,对外部脉冲计数,受引脚/INT0/INT0控制;控制;T1T1工作于方式工作于方式2 2,定时器方式,定时器方式,不受引脚不受引脚/INT0/INT0控制。控制。2.2.编程实现:系统上电时,检查编程实现:系统上电时,检查P1.0P1.0引脚,若引脚引脚,若引脚 P1.0 P1.0 为高电平,则在引脚为高电平,则在引脚 P1.1 P1.1 输出输出 2000HZ 2000HZ 方波信号;若引脚方波信号;若引脚 P1.0 P1.0 为低电平,则在引脚为低电平,则在引脚 P1.1 P1.1 输出输出 4000H 4000H 方波信号;方波信号占空比为方波信号;方波信号占空比为 50%50%,系统的晶体振荡频率为,系统的晶体振荡频率为12MHz12MHz。第22页,此课件共22页哦
限制150内