最新定时计数器PPT课件.ppt
进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅定时计数器一、一、8051定时定时/计数器概述计数器概述 80518051单片机片内有二个十六位定时器计单片机片内有二个十六位定时器计数器:定时器数器:定时器0(T0)0(T0)和定时器和定时器1(T1)1(T1)。都有定时或事件计数的功能,可用于定时控都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。制、延时、对外部事件计数和检测等场合。2 2个个1616位定时器实际上都是位定时器实际上都是1616位加位加1 1计数器。计数器。T0T0由由2 2个个8 8位持殊功能寄存器位持殊功能寄存器TH0TH0和和TL0TL0构成,构成,T1T1由由TH1TH1和和TL1TL1构成。构成。每个定时器都可由软件设置为定时工作方式每个定时器都可由软件设置为定时工作方式或计数工作方式。或计数工作方式。这些功能都由特殊功能寄存器这些功能都由特殊功能寄存器TMODTMOD设置和设置和TCONTCON所控制。所控制。1.1 M1 M0 1.1 M1 M0 工作模式选择位工作模式选择位 共有四种工作模式共有四种工作模式 M1 M0工作方式工作方式功能描述功能描述 0 0 模式模式0 13位计数器位计数器 0 1 模式模式1 16位计数器位计数器 1 0 模式模式2 自动再装入自动再装入8位计数器位计数器 1 1 模式模式3 T0:分成两个:分成两个8位计数器位计数器T1:停止计数:停止计数 1.2 C/T1.2 C/T 计数器方式定时计数器方式定时器方式选择位器方式选择位 C/T C/T0 0,设置为定时方式。,设置为定时方式。定时器计数定时器计数 805l 805l片内脉冲,亦即对片内脉冲,亦即对机器周期计数。机器周期计数。C/T C/T1 1,设置为计数方式,设置为计数方式,计数器的输入是来自计数器的输入是来自T0(P3T0(P34)4)或或Tl(P3.5)Tl(P3.5)端的外部脉冲。端的外部脉冲。1.3 GATE 1.3 GATE 门控位门控位 GATEGATE0 0时,只要用软件使时,只要用软件使TR0(TR0(或或TRl)TRl)置置1 1就就启动了定时器,而不管启动了定时器,而不管INT0(INT0(或或INT1)INT1)的电平的电平是高还是低。是高还是低。GATEGATEl l时,只有当时,只有当INT0(INT0(或或INT1)INT1)引脚为高电引脚为高电平且由软件使平且由软件使TR0(TR0(或或TRl)TRl)置置1 1时,才能启动时,才能启动定时器工作。定时器工作。TMOD不能位寻址,只能用字节设置定时器工不能位寻址,只能用字节设置定时器工作方式作方式;低半字节设定低半字节设定T0,高半字节设定,高半字节设定T1。2.控制寄存器控制寄存器TCON(88H)TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H)(88H)TF1 TR1 TF0 TR0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IE1 IT1 IE0 IT0 TCONTCON各位的作用如下:各位的作用如下:TF1TF1:T1 T1溢出标志位。当溢出标志位。当T1T1溢出时由硬件自动使中断触溢出时由硬件自动使中断触发器发器TF1TF1置置1 1,并向,并向CPUCPU申请中断。当申请中断。当CPUCPU响应进入中响应进入中断服务程序后,断服务程序后,TF1TF1又被硬件自动清又被硬件自动清0 0。TF1TF1也可以用软也可以用软件清件清0 0。TF0:TF0:T0 T0溢出标志位。其功能和操作情况如溢出标志位。其功能和操作情况如TF1TF1。TR1:TR1:T1 T1运行控制位。可由软件置运行控制位。可由软件置1 1或清或清0 0来启动或关闭来启动或关闭T1T1。指令指令(SETB TRl)(SETB TRl)使使TR1TR1位置位置1 1,定时器,定时器T1T1便开始计数。便开始计数。TR0:TR0:T0 T0运行控制位。其功能及操作情况同运行控制位。其功能及操作情况同TRlTRl。8051复位时,复位时,TCON的所有位被清的所有位被清0。三、三、定时器的四种工作模式定时器的四种工作模式 8051 8051单片机的定时器计数器单片机的定时器计数器T0T0和和T1T1可由可由软件对特殊功能寄存器软件对特殊功能寄存器TMODTMOD中控制位中控制位 C CT T的设置,以选择定时功能或计数功能。的设置,以选择定时功能或计数功能。对对M1M1、M0M0位的设置,可选择四种工作模式,位的设置,可选择四种工作模式,即模式即模式0 0、模式、模式1 1、模式、模式2 2和模式和模式3 3。在模式在模式0 0、I I和和2 2时,时,T0T0与与T1T1的工作模式相同;的工作模式相同;在模式在模式3 3时,两个定时器的工作模式不同。时,两个定时器的工作模式不同。1.1.模式模式0 0 模式模式0是选择定时器是选择定时器(T0或或T1)高高8位加低位加低5位的位的个个13位定时器计数器。位定时器计数器。在这种模式下,在这种模式下,1616寄存器寄存器(TH0(TH0和和TL0)TL0)只只用用1313位,其中位,其中TL0TL0的高的高3 3位末用,其余位位末用,其余位占整个占整个1313位的低位的低5 5位,位,TH0TH0占高占高8 8位。位。当当TL0TL0的低的低5 5位溢出时向位溢出时向TH0TH0进位而进位而TH0TH0溢出时向中断标志位溢出时向中断标志位TF0TF0进位进位(硬件置位硬件置位TF0)TF0),并申请中断。,并申请中断。T0 T0溢出否可查询溢出否可查询TF0TF0是否置位,以产生是否置位,以产生T0T0中断。中断。T0在模式在模式0时的逻辑电路结构时的逻辑电路结构 C/T C/T0 0时,控制开关接通振荡器十二分时,控制开关接通振荡器十二分频输出端,就是定时工作方式。其定时频输出端,就是定时工作方式。其定时时间为:时间为:t t(2(21313一一T0T0初值初值)振荡周期振荡周期1212 当当C/T1时,控制开关使引脚时,控制开关使引脚T0(P34)与与13位计数器相连,外部计数脉冲由引位计数器相连,外部计数脉冲由引脚脚T0P34输入,当外部信号电平发输入,当外部信号电平发生生“1”到到“0”跳变时计数器加跳变时计数器加1,这时,这时,T0成为外部事件计数器。这就是计数工成为外部事件计数器。这就是计数工作方式。作方式。GATE GATE0 0时,使或门输出时,使或门输出A A点电位为常点电位为常“1”“1”,或门被,或门被封锁,于是,引脚封锁,于是,引脚INT0INT0输入信号无效。这时或门输输入信号无效。这时或门输出的常出的常“1”“1”打开与门,打开与门,B B点电位取决于点电位取决于TR0TR0状态,于状态,于是由是由TR0TR0一位就可控制计数开关一位就可控制计数开关K K开启或关断开启或关断T0T0。若软件使若软件使TR0TR0置置1 1,便接通计数开关,便接通计数开关K K,启动,启动T0T0在原在原值上加值上加1 1计数,直至溢出。溢出时,计数,直至溢出。溢出时,1313位寄存器清位寄存器清0 0,TF0TF0置置位,并申请中断,位,并申请中断,T0T0仍从仍从0 0重新开始计数。重新开始计数。若若TR0TR00 0。则关断计数开关。则关断计数开关K K,停止计数。,停止计数。当当GATE=1时,时,A点电位取决于点电位取决于(P3.4)引脚的输入电引脚的输入电平。仅当平。仅当(P3.4)输入高电平时输入高电平时TR0l时,时,B点才是高点才是高电平,计数开关电平,计数开关K闭合闭合T0开始计数,当开始计数,当INT0由由1变变0时,时,T0停止计数。这一特性可以用来测量在停止计数。这一特性可以用来测量在(P3.4)端端出现的正脉冲的宽度。出现的正脉冲的宽度。2 2模式模式1 1 该模式是一个该模式是一个1616位定时器计数器。位定时器计数器。其结构与操作几乎与模式其结构与操作几乎与模式0 0完全相同,唯完全相同,唯一的差别是:在模式一的差别是:在模式1 1中,寄存器中,寄存器TH0TH0和和TL0TL0是以全是以全1616位参与操作,位参与操作,用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t(216一T0初值)时钟周期12 用于计数工作方式时,计数长度为用于计数工作方式时,计数长度为21665536(个外部脉冲个外部脉冲)3.模式模式2 模式模式2 2把把T0(T0(或或T1)T1)配置成配置成个可以自动重个可以自动重装载的装载的8 8位定时器计数器。位定时器计数器。TL0 TL0计数溢出时,不仅使溢出中断标志计数溢出时,不仅使溢出中断标志位位TF0TF0置置1 1,而且还自动把,而且还自动把TH0TH0中的内容中的内容重装载到重装载到TL0TL0中。中。这时这时1616位的计数器被拆成两个位的计数器被拆成两个8 8位;位;TL0 TL0用作用作8 8位计数器,位计数器,TH0TH0用以保持初值。用以保持初值。在程序初始化时,在程序初始化时,TL0TL0和和TH0TH0由软件赋予相同由软件赋予相同的初值。的初值。旦旦TL0TL0计数溢出,置位计数溢出,置位TF0TF0,并将,并将TH0TH0中的中的初值再自动装入初值再自动装入TL0TL0,继续计数,循环重复。,继续计数,循环重复。用于定时器工作方式时,其定时时间用于定时器工作方式时,其定时时间(TF0(TF0溢出溢出周期周期)为;为;t t(2(28 8TH0TH0初值初值)振荡周期振荡周期1212用于计数器工作方式时,最大计数长度(用于计数器工作方式时,最大计数长度(TH0TH0初值初值0 0)为:)为:2 28 8256(256(个外部脉冲个外部脉冲)。这种工作方式可省去用户软件中重装常数的程这种工作方式可省去用户软件中重装常数的程序,并可产生相当精度的定时时间。特别适用序,并可产生相当精度的定时时间。特别适用作串行口波待率发生器。作串行口波待率发生器。4模式模式3 操作模式操作模式3 3对对T0T0和和T1T1是大不相同的。是大不相同的。若将若将T0设置为模式设置为模式3,TL0和和TH0被分成为两个互被分成为两个互相独立的相独立的8位计数器。位计数器。其中其中TL0TL0用原用原T0T0的各控制位、引脚和中断源。的各控制位、引脚和中断源。即即C CT T、GATEGATE、TR0TR0、TF0TF0和和T0(P3T0(P34)4)引脚、引脚、(P3(P32)2)引脚。引脚。TL0 TL0除仅用除仅用8 8位寄存器外,其功能和操作与模式位寄存器外,其功能和操作与模式0(130(13位计数器位计数器)、模式、模式1(161(16位计数器位计数器)完全相同。完全相同。TL0 TL0也可工作为定时器方式或计数器方式。也可工作为定时器方式或计数器方式。TH0 TH0只可用作简单的内部定时功能,它占用了定时只可用作简单的内部定时功能,它占用了定时器器T1T1的控制位的控制位TR1TR1和和T1T1的中断标志位的中断标志位TF1TF1,其启动,其启动和关闭仅受和关闭仅受TRlTRl的控制。的控制。定时器定时器T1无操作模式无操作模式3状态。状态。四、定时器计数器的编程和应用 例例1:假设利用定时器假设利用定时器T0T0模式模式1 1产生一个产生一个50Hz50Hz的方波,由的方波,由P1P10 0输出,采用输出,采用12MHz12MHz时钟时钟定时器,定时器,CPU不作其它工作。不作其它工作。定时器不作其它工作,因而可以采用查询定时器不作其它工作,因而可以采用查询的方式进行控制。初值可由下式算得:的方式进行控制。初值可由下式算得:(2(21616一一x)110 x)110-6-6(1/501/50)(1/21/2)得:得:x555360D8F0H。程序如下:MOVMOVTMOD,#01HTMOD,#01H;定时器定时器T0T0模式模式0 0SETBSETBTR0TR0;启动启动T0T0L0:L0:MOVMOVTH0,#0D8HTH0,#0D8H;置初值置初值 MOVMOVTL0,#0F0HTL0,#0F0H;L1:L1:JNBJNBTF0,L1TF0,L1;等待溢出等待溢出CLRCLRTF0TF0;清标志清标志CPLCPLP1.0P1.0;取反取反SJMPSJMPL0L0 例例2:测量在:测量在(P3.3)端出现的正端出现的正脉冲的宽度脉冲的宽度 门控制位门控制位GATE使定时器计数器使定时器计数器T1的启的启动计数受动计数受INT1的控制;的控制;当当GATE为为1,TR1为为1时,只有时,只有INT1引脚引脚输入高电平时,输入高电平时,T1才允许计数,才允许计数,利用利用GATE的这个功能,可测试的这个功能,可测试INT1引引脚脚(P33)上正脉冲的宽度上正脉冲的宽度(机器周期数机器周期数)原理:程序如下:MOV MOV TMOD,#90HTMOD,#90H;定时器定时器T1T1模式模式1 1、定时、定时MOVMOVTH1,#00HTH1,#00H;设定初值设定初值MOVMOVTL1,#00HTL1,#00H;JBJBP3.3,$P3.3,$;等待等待INT1INT1变低变低SETBSETBTR1TR1 ;启动启动T1T1JNBJNBP3.3,$P3.3,$;等待等待INT1INT1变高变高 JB JB P3.3,$P3.3,$;开始计数,等待变低开始计数,等待变低 CLRTR1;停止计数停止计数 请看下一节