第四章 定时计数器_第1页
第四章 定时计数器_第2页
第四章 定时计数器_第3页
第四章 定时计数器_第4页
第四章 定时计数器_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及应用1第四章第四章 定时器及应用定时器及应用主要内容主要内容1 1、定时器概述、定时器概述2 2、定时器的控制、定时器的控制3 3、定时器的四种工作模式及应用、定时器的四种工作模式及应用关键问题:关键问题: 1 1、如何实现定时和计数?、如何实现定时和计数?2 2、如何实现长定时?、如何实现长定时?3 3、用查询方式和中断方式实现定时。、用查询方式和中断方式实现定时。4 4、四种模式应用的区别。、四种模式应用的区别。单片机原理及应用2定时器概述定时器概述 8051单片机内单片机内有有两个两个1616位定时器位定时器/ /计数器计数器,常称,常称为定时器为定时器0 0和定时器和定时器

2、1 1,简称为简称为T0T0和和T1T1;均可作定时;均可作定时器用也可作计数器,器用也可作计数器,为加计数器为加计数器;用于定时控制、;用于定时控制、延时、外部计数和检测等。延时、外部计数和检测等。定时和计数本质上都是计数。定时和计数本质上都是计数。 外部信号外部信号内部振荡信号内部振荡信号计数器计数器计数源选择计数源选择单片机原理及应用3定时是要产生一定的时间间隔,此时计数来源是振荡定时是要产生一定的时间间隔,此时计数来源是振荡脉冲脉冲fosc的的12分频分频,定时时间定时时间t t实现原理如下:实现原理如下: 假定计数器从初值假定计数器从初值N N开始,到计满回开始,到计满回0 0时间为

3、时间为t t秒,秒,则则t=t=(65536-N65536-N)* *12 / fosc12 / fosc,通过设置合适的,通过设置合适的计数器初值计数器初值N N可以实现定时可以实现定时t t。写入初值写入初值计数值回计数值回65535N+1历时历时t秒,共秒,共( 65536-N )个脉冲个脉冲 N+212 foscS单片机原理及应用4 计数实现原理:计数实现原理:计数的计数的来源是外部待测信号,测量脉冲个来源是外部待测信号,测量脉冲个数。数。 计数器在计数器在0 0时刻写入初值时刻写入初值0 0,t t时刻测得计数值时刻测得计数值N N。运用计数功能可测外部信号频率运用计数功能可测外部信

4、号频率f=N/tHZf=N/tHZ写入初值写入初值0,计数开始计数开始计数结束,计数结束,计数值为计数值为N1历时已知时间历时已知时间t秒,共秒,共N个脉冲个脉冲 2待测信号一个待测信号一个周期周期单片机原理及应用5说明:说明: 定时器定时器/ /计数器是单片机内独立于计数器是单片机内独立于CPUCPU的硬件实的硬件实现模块现模块, , 因此在工作期间不占用因此在工作期间不占用CPUCPU的时间。的时间。 作为计数器使用时:计数器的计数脉冲来自于作为计数器使用时:计数器的计数脉冲来自于引脚引脚T0T0或或T1T1的一个下降沿的一个下降沿, , 每来一个下降沿,计数器加每来一个下降沿,计数器加1

5、, 1, 计数频率最高为振荡频率的计数频率最高为振荡频率的1/241/24。单片机原理及应用6定时器控制定时器控制 主要讨论两个定时主要讨论两个定时/计数器的控制寄存器计数器的控制寄存器TMOD和和TCON。系统复位时其初值为。系统复位时其初值为0。定时器编程定时器编程时要用到!时要用到!单片机原理及应用7工作模式寄存器工作模式寄存器TMOD单片机原理及应用8M1M1和和M0M0-工作模式控制位。其功能如下表:工作模式控制位。其功能如下表:定时器的四种工作模式分别为:定时器的四种工作模式分别为:模式模式0 0、模式、模式1 1、模、模式式2 2、模式、模式3 3,由特殊功能寄存器由特殊功能寄存

6、器TMODTMOD的的M1M0M1M0确定确定单片机原理及应用9控制寄存器控制寄存器TCONTCON单片机原理及应用10模式模式0(0(1313位计数器模式位计数器模式) )一、模式一、模式0 0时的结构和工作原理时的结构和工作原理011313位计数器位计数器GATE为为1时,只有当时,只有当INT0为高电平和为高电平和TR0为为1时,计数器才启动计数。时,计数器才启动计数。GATE为为0时,时,TR0为为1就可启动计数就可启动计数单片机原理及应用11二、特点二、特点 1、13位方式(位方式(TL0、TL1的低的低5位和位和TH0、TH1的的8位);位); 2、计数器计满溢出并归、计数器计满溢

7、出并归0,重新新一轮计数。,重新新一轮计数。 3、如何定时、如何定时t?实现定时?实现定时t最重要确定计数初值最重要确定计数初值X。 t=(213-初值初值X)*振荡周期振荡周期*12 =(213-初值初值X)*机器周期机器周期Tcy 最大计数值最大计数值N为:为: 213 = 8192 6MHZ晶振下,定时最长为晶振下,定时最长为16.384ms。单片机原理及应用12三、应用举例三、应用举例 例例4-1 使用定时器使用定时器T0定时时间为定时时间为1ms,选择工,选择工作模式作模式0,osc=6MHz。试确定。试确定T0初值,计算初值,计算最大定时时间最大定时时间T。解:解: (1)求)求T

8、0的初值的初值X 由公式:由公式:t=(213-T0初值初值)*机器周期机器周期Tcy t=1ms=1000s 机器周期机器周期Tcy=12/osc=12/6000000s=2s得得 1000=( 213 -X)*2所以初值所以初值 X=8192-500=7692=1111000001100B (一定要写全(一定要写全13位)位) TL0: 00001100B=0CH TH0:11110000B=F0HTL0的低的低5位和位和TH0的的8位位单片机原理及应用13(2)最大定时时间)最大定时时间T (工作模式(工作模式0下)下) 当当T0的初值的初值=0时为最大定时时间时为最大定时时间 T=(2

9、13 -0)*2=8192*2s =16384 s =16.384ms单片机原理及应用14指定定时器指定定时器工作模式工作模式给定时器给定时器赋初值赋初值启动定时器启动定时器等待,直到溢出等待,直到溢出标志位为标志位为1定时到定时到采用查询方式定时采用查询方式定时处理定时到事件处理定时到事件TMODTL0(TL1)TH0(TH1)TR0(TR1)=1TF0(TF1)单片机原理及应用15 例例4-2 编程实现在编程实现在P1.0口产生宽度为口产生宽度为1ms的负脉冲,的负脉冲,要求采用定时器要求采用定时器T1以模式以模式0实现实现1ms定时,定时, osc=6MHz。解解(1)计算初值(同上,略

10、)计算初值(同上,略) F0HTH0,0CHTL0 (2)程序清单(查询方式)程序清单(查询方式) ORG 0040H AJMP MAIN ORG 0100HMAIN: SETB P1.0 MOV TMOD,MOV TL1,MOV TH1,SETB TR1CLR P1.0JNB TF1,$CLR TF1SETB P1.0END #0CH#0F0H模式模式0启动定启动定时器时器等待溢出等待溢出中断中断#0单片机原理及应用16指定定时器指定定时器工作模式工作模式给定时器给定时器赋初值赋初值中断初始化中断初始化启动定时器启动定时器等待中断等待中断采用中断方式定时采用中断方式定时TMODIE“定时到定

11、时到”事事件在哪里处件在哪里处理理? ?TL0(TL1)TH0(TH1)TR0(TR1)=1中断服务子程序中断服务子程序void Timer1() interrupt 1()void Timer2() interrupt 3()单片机原理及应用17 例例4-3 利用利用T0的工作模式的工作模式0产生产生1ms的定时,编程实现在的定时,编程实现在P1.0引脚上输出周期为引脚上输出周期为2ms的方波的方波。设单片机的晶振频率。设单片机的晶振频率osc=12MHz。 解解: 方法:方法:定时定时1ms,对,对P1.0取反,然后继续定时取反,然后继续定时 (1)设置模式字)设置模式字 TMOD= *

12、0000B =00000000B=00H (2)计算初值)计算初值 由公式:由公式:t=(213-T0初值初值)*机器周期机器周期 t=1ms=1000s, 机器周期机器周期Tcy=12/osc=12/12000000s=1s 1000=( 213 -X)*1=(8192-X)*1 X=7192=1110000011000B T0的低的低5位:位:11000B=18H T0的高的高8位:位:11100000B=E0H1ms2ms单片机原理及应用18一、模式一、模式1 1时的结构和工作原理时的结构和工作原理 与模式与模式0 0类似,不同之处在于是类似,不同之处在于是1616位计数器位计数器01模

13、式模式1 1及其应用及其应用单片机原理及应用19二、特点二、特点 1、1616位方式(位方式(TL0TL0、1 1的低的低8 8位和位和TH0TH0、1 1的的8 8位);位); 2、计数器计满回计数器计满回0 0,重新新一轮计数。,重新新一轮计数。 计数值计数值N和定时时间和定时时间t的计算的计算 : N= 216-初值初值X t=(216-初值初值X) *机器周期机器周期Tcy最大计数值为:最大计数值为: 216 =65536计算初值与方式计算初值与方式0不同不同单片机原理及应用20例例4-4 4-4 用定时器用定时器T1T1产生一个产生一个50Hz50Hz的方波,由的方波,由P1.1输输

14、 出。使用程序查询方式,设出。使用程序查询方式,设osc=12MHzosc=12MHz。 解解: (1 1)计算初值)计算初值 方波周期方波周期T为:为:T=1/50s=0.02s=20ms 定时时间为:定时时间为:t=T/2=10ms=10000s 由公式:由公式: t=(216-X)*机器周期机器周期Tcy 因因Tcy=1s,得,得 10000= (216-X)*1, 10000=65536-X X=55536=D8F0H单片机原理及应用21 (2 2)模式字)模式字TMOD TMOD=0001*B=10H (3 3)源程序)源程序 ORG 0030H MOV TMOD,#10H MOV

15、TH1,#0D8H MOV TL1,#0F0H SETB TR1LP: JNB TF1,$ CLR TF1 MOV TH1,#0D8H MOV TL1,#0F0H CPL P1.1 SJMP LP单片机原理及应用22 例例4-4-门控位门控位GATEGATE的使用的使用使用定时器使用定时器0工作在方式下,测量工作在方式下,测量/INT0/INT0引脚上的正脉引脚上的正脉冲宽度。冲宽度。 方法:方法:用用/INT0/INT0引脚信号启动计数器计数,引脚信号为低引脚信号启动计数器计数,引脚信号为低时停止计数。通过读入计数值,算出正脉冲宽度。时停止计数。通过读入计数值,算出正脉冲宽度。程序:程序:

16、MOV TMOD,#09H MOV TL0,#0 MOV TH0,#0 CLR EA JNB P3.2,$ ;等待高电平等待高电平 SETB TR0;软件启动软件启动JB P3.2,$ ;等待低电平等待低电平CLR TR0 ;关定时器关定时器MOV 30H,TL0MOV 31H,TH0只有当只有当TR0TR0和和INT0INT0同时为同时为高时才开始计数高时才开始计数单片机原理及应用23一、模式一、模式2 2时的结构和工作原理时的结构和工作原理 与以前模式区别在于:与以前模式区别在于: 计数器为计数器为8 8位位自动重装初值自动重装初值计数器,在循环定时或计数时,计数器,在循环定时或计数时,不

17、必反复预置计数初值。不必反复预置计数初值。可连续计数可连续计数模式模式2 2及其应用及其应用单片机原理及应用24二、特点二、特点 1 1、自动重装方式;、自动重装方式; 2 2、8 8位定时位定时/ /计数器,定时时间短,计数器,定时时间短, 计数值计数值N N和定时时间和定时时间t t的计算的计算 : N= 2N= 28 8- -初值初值X X t=t=(2 28 8- - 初值初值X X) * *机器周期机器周期TcyTcy 最大计数值为:最大计数值为: 2 28 8 =256=256 说明:通常使用定时期说明:通常使用定时期T1T1工作在模式工作在模式2 2作为作为串口串口的波特率发生器

18、的波特率发生器。单片机原理及应用25例例4-6 4-6 利用定时器利用定时器T1T1的模式的模式2 2对外部信号计数,要求每计满对外部信号计数,要求每计满100100次对次对P1.0P1.0端取反。端取反。解:解: (1 1)计算计数初值)计算计数初值X X 100=28-X X=256-100=156=9CH (2 2)模式字)模式字 TMOD=0110*B=60H (3 3)程序清单)程序清单 ;用中断方式;用中断方式 ORG 0030HMAIN:MOV TMOD,#60H MOV TL1,#9CH MOV TH1,#156 MOV IE,#88H SETB TR1 SJMP $中断服务程

19、序中断服务程序ORG 001BHORG 001BHCPL P1.0CPL P1.0RETIRETI单片机原理及应用26一、模式一、模式3时的结构和工作原理时的结构和工作原理 定时定时/计数器计数器T0有工作模式有工作模式3,T1无此工作模式无此工作模式。 模式模式3使单片机具有使单片机具有3个定时器,其中一个是个定时器,其中一个是8位的定时位的定时/计计数器,一个是只能定时的数器,一个是只能定时的8位定时器,还有一个位定时器,还有一个16位的定时器位的定时器固定用作串口波特率发生器。固定用作串口波特率发生器。模式模式3 3及其应用及其应用01单片机原理及应用27二、特点二、特点 1 1、仅、仅

20、T0T0具有模式具有模式3 3,为,为两个两个8 8位方式位方式,用用TL0TL0和和TH0TH0 (1 1)用)用TL0TL0的既的既可计数也可定时可计数也可定时,与其它模式完全相同;,与其它模式完全相同; (2 2)用)用TH0TH0的的仅能够定时仅能够定时,不能用外部控制门,且占用,不能用外部控制门,且占用T1T1的的 资源资源TR1TR1和和TF1TF1,有运行控制有运行控制和溢出和溢出中断请求中断请求。 2 2、当、当T0T0工作在模式工作在模式3 3时,时,T1T1常以模式常以模式2 2工作工作,作为串口的波,作为串口的波特率发生器。特率发生器。单片机原理及应用28 模式模式0:1

21、3位计数器方式位计数器方式 模式模式1:16位计数器方式位计数器方式模式模式2:8位重装计数器方式位重装计数器方式模式模式3:相当于:相当于2个个8位的计数器,只有定时器位的计数器,只有定时器T0才有才有 适用于特殊的场合适用于特殊的场合重点掌握重点掌握了解即可了解即可定时定时/ /计数器总结计数器总结单片机原理及应用29(1)最大定时时间长度)最大定时时间长度Tmax: 在晶振频率在晶振频率Fosc=6MHz情况下,情况下, 模式模式0 : Tmax=2s*8192=16.384ms 模式模式1: Tmax=2s*65536=131.072ms 模式模式2: Tmax=2s*256=512s

22、 如何定时时间长度超出如何定时时间长度超出TmaxTmax的时间?的时间? 比如定时比如定时1S?单片机原理及应用30指定定时器工作模式指定定时器工作模式给定时器赋初值给定时器赋初值启动定时器启动定时器定时定时100ms到到软件计数器软件计数器-1采用查询方式定时采用查询方式定时1 1S处理定时处理定时到事件到事件定时定时100ms的初值的初值软件计数器赋值软件计数器赋值1010程序实现:程序实现: 采用一个软件计数器配合定时器计数,采用一个软件计数器配合定时器计数,实现长定时实现长定时。1S=100ms1S=100ms1010, 1010个个100ms100ms就得到就得到1S1S。软件计数器软件计数器为为0 0?YN重赋初值重赋初值单片机原理及应用31指定定时器指定定时器工作模式工作模式给定时器给定时器赋初值,赋初值,100ms中断初始化中断初始化启动定时器启动定时器等待中断等待中断采用中断方式定时采用中断方式定时1STMODT

温馨提示

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

最新文档

评论

0/150

提交评论