8051定时计数器

上传人:guoc****ang 文档编号:243045845 上传时间:2024-09-14 格式:PPT 页数:28 大小:455KB
返回 下载 相关 举报
8051定时计数器_第1页
第1页 / 共28页
8051定时计数器_第2页
第2页 / 共28页
8051定时计数器_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单片机原理与接口应用,8051定时/计数器,华中科技大学光电子工程系,MCS51,一、,8051,定时,/,计数器概述,8051,单片机片内有二个十六位定时器计数器:定时器0(,T0),和定时器1(,T1)。,都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。,2个16位定时器实际上都是16位加1计数器。,T0,由2个8位持殊功能寄存器,TH0,和,TL0,构成,,T1,由,TH1,和,TL1,构成。,每个定时器都可由软件设置为定时工作方式或计数工作方式。,这些功能都由特殊功能寄存器,TMOD,设置和,TCON,所控制。,1. 定时工作方式,设置为定时工作方式时,定时器计数的脉冲是由8051片内振荡器输出经12分频后产生的。,每个机器周期使定时器(,T0,或,T1),的数值加1直至计计数满产生溢出。,如:当8051采用12,MHz,晶体时,每个机器周期为1,s,,计数额率为1,MHz。,2. 计数工作方式,设置为计数工作方式时,通过引脚,T0(P34),和,T1(P35),对外部脉冲信号计数。,当输入脉冲信号产生由1至0的下降沿时,定时器的值加1,,在每个机器周期的,S5P2,期间采样,T0,和,T1,的输入电平。若前一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期,S3P1,期间,新的数值装入计数器。,检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。,输入脉冲信号的基本要求,虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。,不管是定时工作方式还是计数方式,定时器,T0,或,T1,在对内部时钟或对外部事件计数时,不占用,CPU,的时间,除非定时器计数器溢出,才可能中断,CPU,的当前操作。,由此可见,定时器是单片机中效率高而且工作灵活的部件。,除了可以选择定时器或计数器工作方式外,每个定时器计数器还有四种工作模式,也就是每个定时器可构成四种电路结构模式。其中,模式0一模式2对,T0,和,T1,是一样的,模式3对两者是不同的。,二、定时计数器的控制字,定时器共有两个控制字:,定时器控制寄存器,TCON(88H),定时器工作模式寄存器,TMOD(89H),由软件写入,TMOD,和,TCON,两个八位寄存器,用来设置,T0,或,T1,的,工作模式和控制功能。,定时器控制寄存器,TCON,除可字节寻址外,各位还可位寻址,当8051系统复位时两个寄存器都被清0。,1. 工作模式寄存器,TMOD(89H),TMOD,用于控制,T0,和,T1,的操作模式。其各位的定义格式如下:,定时器,T1,定时器,T0,TMOD,D7,D6,D5,D4,D3,D2,D1,D0,(89,H),GATE,C/T,M1,M0,GATE,C/T,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/T,计数器方式定时器方式选择位,C/T0,,设置为定时方式。,定时器计数 805,l,片内脉冲,亦即对机器周期计数。,C/T1,,设置为计数方式,,计数器的输入是来自,T0(P34),或,Tl,(P3.5),端的外部脉冲。,1.3,GATE ,门控位,GATE0,时,只要用软件使,TR0(,或,TRl,),置1就启动了定时器,而不管,INT0(,或,INT1),的电平是高还是低。,GATEl,时,只有当,INT0(,或,INT1),引脚为高电平且由软件使,TR0(,或,TRl,),置1时,才能启动定时器工作。,TMOD,不能位寻址,只能用字节设置定时器工作方式;,低半字节设定,T0,,高半字节设定,T1。,2. 控制寄存器,TCON(88H),TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H),TF1 TR1 TF0 TR0,IE1 IT1,IE0 IT0,TCON,各位的作用如下:,TF1:,T1,溢出标志位。当,T1,溢出时由硬件自动使中断触发器,TF1,置1,并向,CPU,申请中断。当,CPU,响应进入中断服务程序后,,TF1,又被硬件自动清0。,TF1,也可以用软件清0。,TF0:,T0,溢出标志位。其功能和操作情况如,TF1。,TR1:,T1,运行控制位。可由软件置1或清0来启动或关闭,T1。,指令(,SETB,TRl,),使,TR1,位置1,定时器,T1,便开始计数。,TR0:,T0,运行控制位。其功能及操作情况同,TRl,。,8051,复位时,,TCON,的所有位被清,0,。,三、,定时器的四种工作模式,8051单片机的定时器计数器,T0,和,T1,可由软件对特殊功能寄存器,TMOD,中控制位,CT,的设置,以选择定时功能或计数功能。,对,M1、M0,位的设置,可选择四种工作模式,即模式0、模式1、模式2和模式3。,在模式0、,I,和2时,,T0,与,T1,的工作模式相同;在模式3,时,两个定时器的工作模式不同。,1.模式0,模式0是选择定时器(,T0,或,T1),高8位加低5位的个13位定时器计数器。,在这种模式下,16寄存器(,TH0,和,TL0),只用13位,其中,TL0,的高3位末用,其余位占整个13位的低5位,,TH0,占高8位。,当,TL0,的低5位溢出时向,TH0,进位而,TH0,溢出时向中断标志位,TF0,进位(硬件置位,TF0),,并申请中断。,T0,溢出否可查询,TF0,是否置位,以产生,T0,中断。,T0,在模式,0,时的逻辑电路结构,C/T0,时,控制开关接通振荡器十二分频输出端,就是定时工作方式。其定时时间为:,t(2,13,一,T0,初值)振荡周期12,当,C/T1,时,控制开关使引脚,T0(P34),与13位计数器相连,外部计数脉冲由引脚,T0P34,输入,当外部信号电平发生“1”到“0”跳变时计数器加1,这时,,T0,成为外部事件计数器。这就是计数工作方式。,GATE0,时,使或门输出,A,点电位为常“1”,或门被封锁,于是,引脚,INT0,输入信号无效。这时或门输出的常“1”打开与门,,B,点电位取决于,TR0,状态,于是由,TR0,一位就可控制计数开关,K,开启或关断,T0。,若软件使,TR0,置1,便接通计数开关,K,,启动,T0,在原值上加1计数,直至溢出。溢出时,13位寄存器清0,,TF0,置,位,并申请中断,,T0,仍从0重新开始计数。,若,TR00。,则关断计数开关,K,,停止计数。,当,GATE =1,时,,A,点电位取决于(,P3.4),引脚的输入电平。仅当(,P3.4),输入高电平时,TR0l,时,,B,点才是高电平,计数开关,K,闭合,T0,开始计数,当,INT0,由1变0时,,T0,停止计数。这一特性可以用来测量在(,P3.4),端出现的正脉冲的宽度。,2模式1,该模式是一个16位定时器计数器。,其结构与操作几乎与模式0完全相同,唯一的差别是:在模式1中,寄存器,TH0,和,TL0,是以全16位参与操作,,用于定时工作方式时,定时时间为:,t(2,16,一,T0,初值) 时钟周期12,用于计数工作方式时,计数长度为2,16,65536(个外部脉冲),3.,模式,2,模式2把,T0(,或,T1),配置成个可以自动重装载的8位定时器计数器。,TL0,计数溢出时,不仅使溢出中断标志位,TF0,置1,而且还自动把,TH0,中的内容重装载到,TL0,中。,这时16位的计数器被拆成两个8位;,TL0,用作8位计数器,,TH0,用以保持初值。,在程序初始化时,,TL0,和,TH0,由软件赋予相同的初值。,旦,TL0,计数溢出,置位,TF0,,并将,TH0,中的初值再自动装入,TL0,,继续计数,循环重复。,用于定时器工作方式时,其定时时间(,TF0,溢出周期)为;,t(2,8,TH0,初值)振荡周期12,用于计数器工作方式时,最大计数长度(,TH0,初值0)为:,2,8,256(个外部脉冲)。,这种工作方式可省去用户软件中重装常数的程序,并可产生相当精度的定时时间。特别适用作串行口波待率发生器。,4,模式,3,操作模式3对,T0,和,T1,是大不相同的。,若将,T0,设置为模式3,,TL0,和,TH0,被分成为两个互相独立的8位计数器。,其中,TL0,用原,T0,的各控制位、引脚和中断源。即,CT、GATE、TR0、TF0,和,T0 (P34),引脚、 (,P32),引脚。,TL0,除仅用8位寄存器外,其功能和操作与模式0(13位计数器)、模式1(16位计数器)完全相同。,TL0,也可工作为定时器方式或计数器方式。,TH0,只可用作简单的内部定时功能,它占用了定时器,T1,的控制位,TR1,和,T1,的中断标志位,TF1,,其启动和关闭仅受,TRl,的控制。,定时器,T1,无操作模式3状态。,四、定时器计数器的编程和应用,例,1:,假设利用定时器,T0,模式1产生一个50,Hz,的方波,由,P10,输出,采用12,MHz,时钟,定时器,,CPU,不作其它工作。,定时器不作其它工作,因而可以采用查询的方式进行控制。初值可由下式算得:,(2,16,一,x)110,-6,(1/50)(1/2),得:,x555360D8F0H。,程序如下:,MOVTMOD,#01H;,定时器,T0,模式0,SETBTR0;,启动,T0,L0:MOVTH0,#0D8H;,置初值,MOVTL0,#0F0H;,L1:JNBTF0,L1;,等待溢出,CLRTF0;,清标志,CPLP1.0;,取反,SJMPL0,例2:测量在,(,P3.3),端出现的正脉冲的宽度,门控制位,GATE,使定时器计数器,T1,的启动计数受,INT1,的控制;,当,GATE,为1,,TR1,为1时,只有,INT1,引脚输入高电平时,,T1,才允许计数,,利用,GATE,的这个功能,可测试,INT1,引脚(,P33),上正脉冲的宽度(机器周期数),原理:,程序如下:,MOV TMOD,#90H;,定时器,T1,模式1、定时,MOVTH1, #00H;,设定初值,MOVTL1, #00H;,JBP3.3, $;,等待,INT1,变低,SETBTR1 ;,启动,T1,JNBP3.3, $;,等待,INT1,变高,JB P3.3, $;,开始计数,等待变低,CLRTR1;,停止计数,请看下一节,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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