欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第6章单片机的定时器计数器.ppt

    • 资源ID:2567058       资源大小:523.01KB        全文页数:42页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章单片机的定时器计数器.ppt

    第6章 单片机的定时器/计数器,本章的重点内容,定时器/计数器的结构及原理 定时器/计数器的各种工作方式 掌握定时器计数器的应用,6.1 定时器/计数器结构与原理,定时/实现方式: 1.软件定时; 2.不可编程硬件定时; 3.可编程定时 。,多重循环,定时芯片8253,定时/计数器,1. 定时功能-计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。,2. 计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。,定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。,定时/计数器的功能,图6-1 80C51定时器/计数器逻辑结构图,6.1.1 定时/计数器的结构,用一个简单的框图构造它的模型 :N位计数器构成了电路的核心。定时,计数两种方式的区别在于计数器的脉冲来源.初值寄存器是用来设定“定时/计数的具体参数” (1):何时控制启动计数?(2):如何控制定时还是计数? (3):如何控制定时/计数的长短?,N位+1计数器,TFx,N位初值寄存器,系统内部 时钟fosc/12,启动控制TR,外部脉冲,定时/计数 控制C/T,计数器溢出 中断信号,返回,计数脉冲CP,6.1.2 定时/计数器的工作原理,1)每过一个机器周期,计数器增1,直至计满溢出(12分频) 2)定时器的定时时间与系统的振荡频率紧密相关 3)MCS-51单片机的一个机器周期由12个振荡脉冲组成 如果晶振频率为12MHZ,则:,* 定时功能,(2)计数,T1控制,T0控制,M1 M0工作方式选择,6.2 定时计数器的相关控制寄存器 1模式控制寄存器TMOD,M1 M0,C/T 定时/计数工作方式选择,GATE位:门控位。 (1) 当GATE=1时,定时受外部脉冲的控制只有或引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作,这时可用于测量端出现的正脉冲宽度; (2) 当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通,而不管或的电平是高还是低。,定时/计数器工作方式,2控制寄存器TCON,触发方式选择,启动定时/计数器,0 低电平 1 下降沿,0 停止 1 启动,中断请求 标志,* 各标志位应注意的问题 TF1位:定时器1溢出标志位。 当定时/计数器1溢出时,由硬件置1。 使用查询方式时,此位做状态位供查询,查询有效后需由软件清零; 使用中断方式时,此位做中断申请标志位,进入中断服务后被硬件自动清零。 TR1位:定时器1运行位。 该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。,6.3 定时器计数器的工作方式,定时器计数器共有四种工作方式,1. 方式013位方式,13位计数器,定时器,演 示,继 续,TH0,TL0,返 回,当 =0时,控制开关接通内部振荡器,T0对机器周期进行计数,其定时时间为: t=(213-T0初值)×机器周期 当 =1时,控制开关接通外部输入信号,当外部信号电平从“1”到“0”跳变时,加1计数器加1,处于计数工作方式。,C / T,C / T,2. 方式116位方式 其定时时间为: t=(216-T0初值)×机器周期,3. 方式28位自动装入时间常数方式 其定时时间为: t=(28-T0初值)×机器周期,4. 方式32个8位方式,仅T0可以工作在方式3此时T0分成2个 独立的计数器TL0和TH0 , TL0用来作为T0的控制信号(TR0、TF0), TH0用来作为T1的控制信号(TR1、TF1)。,6.4 单片机定时器/计数器的应用, 计算计数器的计数初值: 编程时将计数初值送THi、 TLi;,可编程器件在使用前需要进行初始化:,确定TMOD控制字:编程时将控制字送 TMOD;, 开中断(如果使用中断方式): 编程实置位EA、ETi, TRi位置位控制定时器的启动和停止。,例1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。试以中断方式实现。, TMOD确定,T1控制,T0控制,控制字10H,定时器1 方 式1, 计算计数器的计数初值;,要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求计数初值为,则:,(216X)×2×10 -6 =250×10 -6 即216X=125 X216-125=10000H-7DH 0FF83H 所以,初值为:TH1=0FFH,TL1=83H,请思考 为什么?, 采用中断方式:编程时打开全局和局部中断。, 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。 TR11,启动; TR10,停止。,程序设计,ORG 0000H LJMP MAIN ;主程序入口 ORG 001BH LJMP INTT1 ;T1中断入口,INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI,ORG 1000H MAIN:MOV TMOD, #10H ;T1为方式1 MOV TH1, #0FFH MOV TL1,#83H ;初值 SETB EA ;允许中断 SETB ET1 SETB TR1 ;启动定时 SJMP $ ;等待中断,设计一个控制程序,使80C51的P1口输出8路低频方波脉冲,频率分别为100、50、25、20、10、5、2、1Hz。 使用定时器T0,产生5ms的定时,若晶振选11.0592MHz,则5ms相当于4608个机器周期,T0应工作于方式1,初值位x为:x=65536-4608=60928。用十六进制数表示则:x=0EE00H。 对应于P1.0 P1.7,设立8个计数器,初值分别为1、2、4、5、10、20、50、100,由T0的溢出中断服务程序对它们减“1”计数,当减为零时恢复初值,并使相应的口线改变状态,这样就使P1口输出所要求的方波。,【例2】低频信号发生器驱动程序,ORG 0000H START: AJMP MAIN ORG 000BH AJMP PTFO MAIN: MOV SP,#70 ;主程序:栈指针初始化 MOV 31H,#2 ;各路计数器置初值 MOV 32H,#4 MOV 33H,#5 MOV 34H,#10 MOV 35H,#20 MOV 36H,#50 MOV 37H,#100 MOV TMOD,#1 ;T0方式1定时 MOV TL0,#0 ;初值T0 MOV TH0,#0EEH MOV IE,#82H ;允许T0中断 SETB TR0 ;允许T0计数 HERE: SJMP HERE ;踏步,通常CPU处理其他工作,主程序,ORG 0030H PTF0: MOV TH0,#0EEH ;T0中断服务程序 MOV TL0,#0 ;初值T0 CPL P1.0 DJNZ 31H,PF01 ;对各路计数器进行计数 MOV 31H,#2 ;计数器减为0,恢复计数初值 CPL P1.1 PF01: DJNZ 32H,PF02 ;输出相反 MOV 32H,#4 CPL P1.2 PF02: DJNZ 33H,PF03 MOV 33H,#5 CPL P1.3,中断程序,PF03: DJNZ 34H,PF04 MOV 34H,#10 CPL P1.4 PF04: DJNZ 35H,PF05 MOV 35H,#20 CPL P1.5 PF05: DJNZ 36H,PF06 MOV 36H,#50 CPL P1.6 PF06: DJNZ 37H,PF07 MOV 37H,#100 CPL P1.7 PF07: RETI,中断程序,例题3:设晶振频率fOSC=6MHz,分别讨论各种工作方式下最长定时时间。,解: 1. 由fOSC=6MHz可知,MC=2us; 2. 由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。 所以此时有: 方式0: (2130)×2us=214us=16384us=16.384ms,方 式 1: (2160)×2us= 217us=131.072ms,方式2、3: (280)×2us= 29us=0.512ms,注意:以上是当fOSC=6MHz,即MC=2us时各种方式下的定时时间,若fOSC=12MHz,则最长定时时间将缩短一半。,例4:定时器/计数器应用,利用T0定时,产生2s定时,使得P1口输出信号,控制8个发光二极管循环点亮,设fOSC=12MHz, 。,分析:P1口输出信号,控制8个发光二极管循环点亮,但此处由于定时时间长达2s,所以单靠一个定时器不能解决问题。可以采取硬件定时和软件计数(或硬件计数)结合方式。,P1.0,P1.7,R,LED3,R,LED0,R,LED1,R,LED2,R,LED4,R,LED5,R,LED6,R,LED7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,8051,演 示,硬件定时与软件计数结合方式解题思路: 让T0作定时器用,如T0可以定时50ms; 在T0中断处理程序中一个寄存器内容加1,同时判断是否加到2000/50=40,如果不到40,则直接返回,如果计到40,说明2s时间到; 使P1口循环点亮8个发光二极管后再返回。 T0工作在方式1,控制字01H,计数初值:,(216X)×1×10 -6 =50×10 -3 即216X=50000 X216-50000=10000H-C350H 3CB0H 所以,初值为:TH1=3CH,TL1=B0H,ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP INTT0 ;T0中断入口,思考: 其他中断入口的 地址?,ORG 1000H MAIN:MOV TMOD, #01H ;T0为方式1 MOV TH0, #3CH MOV TL0,#B0H ;初值 SETB EA ;允许中断 SETB ET0 SETB TR0 ;启动定时 MOV A,#01H ; LED0先亮 MOV P1,A ; MOV R0,#0 SJMP $ ;等待中断,INTT0: MOV TH0,#3CH ;重新设置初值 MOV TL0,#B0H INC R0 CJNE R0,#40,NEXT ;不等直接返回 MOV R0,#0 ; 2s到 RL A ;依次点亮 NEXT: RETI,例题5:如图5-7所示,开始时P1.0亮,延时0.2秒后左移至P1.1亮,如此左移7次后至P1.7亮,再延时0.2秒右移至P1.6亮,如此右移7次后至P1.0亮。(时钟频率fOSC为12MHz)。 2000us初值(方式0): 6192=1830=0001100000110000 =1100 000100010000=C110H,方法 : 延时时间0.2秒,使用TIMER0在MODE0下工作 ORG 0000H ;起始地址 AJMP MAIN MAIN: MOV TMOD,#00H ;设定工作在MODE0 START:CLR C ;C=0 MOV A,#0FFH ;ACC=FFH,左移初值 MOV R2,#08 ;R2=08,设左移8次 LOOP: RLC A ;左移一位 MOV P1,A ;输出至P1 MOV R3,#100 ;0.2秒 ACALL DELAY ;2000微妙 DJNZ R2,LOOP ;左移8次,MOV R2,#07 ;R2=07,设右移7次 LOOP1: RRC A ;右移一位 MOV P1,A ;输出至P1 MOV R3,#100 ;0.2秒 ACALL DELAY ;2000微妙 DJNZ R2,LOOP1 ;右移7次 JMP START DELAY: SETB TR0 ;启动TIMER0开始计时 AGAIN: MOV TL0,#10H ;设定TL0的值 MOV TH0,#0C1H ;设定TH0的值 LOOP1: JBC TF0,LOOP3 ;TF0是否为1,是则跳 至LOOP3,并清TF0 JMP LOOP1 ;不是则跳到LOOP1 LOOP3: DJNZ R3,AGAIN CLR TR0 ;则停止TIMR0计数 RET END,

    注意事项

    本文(第6章单片机的定时器计数器.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开