第6章-1 定时器和计数器.ppt_第1页
第6章-1 定时器和计数器.ppt_第2页
第6章-1 定时器和计数器.ppt_第3页
第6章-1 定时器和计数器.ppt_第4页
第6章-1 定时器和计数器.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章定时器/计数器,6.1定时/计数器的结构与工作原理6.2定时器/计数器的控制6.3定时/计数器的工作方式6.4定时/计数器的编程和应用,1、计数概念的引入从选票的统计谈起:画“正”。这就是计数,又如:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,都是计数。2、定时概念的引入80C51中的计数器除了可以作为计数之用外,还可以定时用,如闹钟,电视机定时关机,空调定时开关等等,,一、基本概念,6.1定时/计数器的结构与工作原理,纯软件定时/计数方法:利用指令(延时子程序)运行所消耗的时间实现所需的定时时间。,delay(unsignedinttime)unsignedintj=0;for(;time0;time-)for(j=0;j125;j+);,存在问题:由CPU控制,占用CPU的资源;,单片机软硬件联合定时/计数方法:,那么计数器是如何作为定时器来用的呢?,硬件法:利用一个硬件电路实现所需的时间定时,一旦时间到就产生一个标志信号通知CPU。特点:由CPU控制定时的启动,但定时过程由专用模块实现,CPU不参与其过程。所以提高了CPU的工作效率。,一个闹钟,定时在1个小时后闹响,换言之,也可以说是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。所以,只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。计数器:对外部输入脉冲的计数;定时器:对机器周期计数。(1个机器周期计一个数,机器周期与晶振有关)结论:定时/计数器是个两用的设备,即能定时,又能计数,因此称做“定时/计数器”,简称“C/T”,定时:产生一个标准的时间间隔;如20mS,100mS或1000mS等.单片机使用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。,20mS,40mS,MCS-51Px.y,输出波形,计数:对外部的事件(脉冲)进行统计。外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计(计数)。当达到所要求的计数值时,单片机进行相应的操作。,MCS-51T0(T1)端口,外部脉冲,外部设备,单片机检测产品数量示意图,P0口MCS-51T0,红外线扫描发射器,红外线接收电路,产品包装控制器,产品生产线,产品,传送带,计数器的溢出空间可随计数初值改变定时时间t,t=(计数器最大空间-计数初值)机器周期=(2n-a)12/fosc(s),t与n、x、fosc三个因素有关,(每个机器周期产生一个计数脉冲),二、工作原理,计数方式下:计数值216初值a,THx、TLx,三、定时/计数器的结构,两个16位定时器T0(TH0、TL0)和T1(TH1、TL1)两个控制寄存器TCON和TMOD两个外部引脚T0(P3.4)和T1(P3.5),1、定时/计数器是两用的,你需要它定时,它就定时,需要它计数,它就计数就是说“定时”和“计数”需要选择模式,定时计数,定时计数,M1M0,工作方式控制寄存器TMOD,所以需要“模式控制”开关(TMOD),6.2定时器/计数器的控制,你只有告诉秘书说:“下午3点叫我开会”她才会叫你如果你不需要她,就不应该让她叫你,TR1=0关TR1=1开,TR0=0关TR0=1开,2、定时器是一直工作吗?,所以定时器需要有开关,不能。为什么呢?因为8位单片机只能表示0255。当把两个8位的空间连了起来就成了一个16位的,这样最大计数量是65535。,3、定时器是不是可以无限的计数呢?,当然不是,而是根据你需要的时间闹铃,4、定时器随便定多长时间闹都可以吗?,所以需要设置定时初值,计数初值寄存器,计数初值应为多少?,5、CPU怎么知道计数满了?,说明:定时器的工作方式是“溢出”方式,只有定时器到了上限(8位为256,16位为65536)时才会“闹铃”(即产生计数中断事件),定时到了硬件自动把标志位TF0/TF1置1例如我们要定时50000个周期,采用16位定时器,则定时器初值需设置为:65536-50000=15536就是说,定时器需要以15536为初值开始工作,才能在经过50000个定时周期后“闹铃”。,M1M0,(1)工作方式控制寄存器TMOD,T1(T0)方式选择位00-方式001-方式110-方式211-方式3,T1,T0,计数方式,定时方式,GATE:门控位,定时/计数器的特殊功能寄存器汇总,TCON(88H)可位寻址,(2)定时器控制寄存器TCON,TF1:定时器1溢出标志TF0:定时器0溢出标志,TR1:定时器1运行控制位TR0:定时器0运行控制位,T0计数初值寄存器,T1计数初值寄存器,(3)计数初值寄存器,(1)方式1M0M1为0116位定时/计数器,定时时间为:t=(216-a)12/fosc(s),最大定时时间(若fosc=12MHz)为:t=216(s)=65536(s)65(ms),6.3定时/计数器的工作方式,实例1设单片机的fosc=12MHz,采用T0定时方式1在P1.0脚上输出周期为2ms的方波。,虚拟示波器,分析:周期为2ms的方波由2个半周期为1ms的正负脉冲组成,方波输出原理:定时1ms后将端口输出电平取反。,TH0=a/256=0 xfcTL0=a%256=0 x18,1ms定时的计数初值应为:a=2n-1X10-3fosc/12,注意:需要不断重装计数初值。,(1)查询方式#includesbitP1_0=P10;main()TMOD=0 x01;/设置T0定时方式1(00000001B)TR0=1;/启动T0for(;)TH0=0 xfc;/装载计数初值TL0=0 x18;dowhile(!TF0);/等待TF0溢出P1_0=!P1_0;/定时时间到P1.0反相TF0=0;/TF0标志清0,图6.14实例1仿真波形图,(2)中断方式#includesbitP1_0=P10;timer0()interrupt1P1_0=!P1_0;/P1.0取反TH0=0 xfc;/装载计数初值TL0=0 x18;main()TMOD=0 x01;/T0定时方式1TH0=0 xfc;/装载计数初值TL0=0 x18;EA=1;/开总中断ET0=1;/开T0中断TR0=1;/启动T0while(1);,注意:中断响应后系统可自动将TFx标志位清0,小结:使用定时/计数器的步骤,强调:TMOD的设置只能以字节形式给出,(1)设置TMOD确定定时/计数器的工作状态,使用T0还是T1?采用定时模式还是计数模式?采用工作方式0、方式1、方式2、方式3?,M1M0,T1,T0,(2)计算计数初值产生期望的定时间隔,计数初值a=2n-tfosc/12(t65536s),THx=a/256TLx=a%256,装载计数初值:,ETx=1;/开定时x中断,x=0或1EA=1;/开总中断tx_srv()interruptn/n=1或3,(3)确定采用何种方式处理溢出结果,若是查询方式采用条件判断语句,若是中断方式中断初始化设置和中断服务程序:,dowhile(!TFx)/x=0或1,(4)启动定时器:TR0=1或TR1=1,(5)进行定时或计数结束后的其它工作,(6)为下次定时/计数做准备(清TFx标志+重装载计数初值)若是中断方式,则无需软件清TFx标志位;若是查询方式,需要软件清除TFx标志位。,采用8位计数器,延时时间t=(28-a)12/fosc(微秒)12MHz时的最大定时量为256s;可自动重装载计数初值(TLx溢出后,THx数值可自动装入TLx);不用重装载计数初值,方式2定时精度相对较高。,(2)方式2,(1)查询方式#includesbitP1_0=P10;main()TMOD=0 x02;TH0=a%256;TL0=a%256;TR0=1;for(;)dowhile(!TF0);P1_0=!P1_0;TF0=0;,(2)中断方式#includesbitP1_0=P10;timer0()interrupt1P1_0=!P1_0;main()TMOD=0 x02;TH0=a%256;TL0=a%256;EA=1;ET0=1;TR0=1;while(1);,补充实例1采用T0定时方式2在P1.0口输出周期为0.5ms的方波。,周期为0.5ms方波,(3)工作方式0使用13位的定时/计数器,定时时间t=(213-a)12/fosc(s),计数初值a=213-tfosc/12,12MHz时的最大定时量t=213s=8.192ms,解:设fosc=12MHz计数初值a=213-500012/12=3192=110001111000B,举例:计算T0方式0定时5ms的计数初值a,注意:方式0的TL0高3位未用,可填0,因此a=0110001100011000=6318H,编程时将此初值装载到Tx中,例如:TH0=0 x63;TL0=0 x18;,(4)方式3TH0+TF1+TR1组成的8位定时器TL0+TF0+TR0组成的8位定时/计数器T1组成的无中断功能的定时器特点:方式3下T0可有2个具有中断功能的8位定时器在定时器T0用作方式3时,T1仍可设置为方式02。,课后思考题1.定时/计数器的控制寄存器分别是那两个,初值存放在那些寄存器中?2.能看图解释控制寄存器中各位的定义.3.定时/计数器有几种工作模式,如何设置?4.如何计算定时器的初值?5.读懂书上程序实例2,实例3.,作业:,定时与计数的区别是什么?如何控制MCS-51单片机进行定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论