欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    片机的定时器计数器.ppt

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

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

    片机的定时器计数器.ppt

    1,5.1 定时方法概述1.软件定时:执行一个循环程序进行时间延迟。但是单片机CPU被占用,无法进行多任务处理。2.硬件定时:定时时间较长。3.可编程定时器定时:对系统时钟脉冲的计数来实现。采用专门的定时器和计数器独立运行,有利于提高单片机的性能,适用于实时多任务处理的要求,第五章2 单片机的定时器计数器,2,5.2、定时器/计数器的结构和功能,以8051系列为例:2个16位可编程定时器/计数器:T0和T1.T0:TL0/TH0;T1:TL1/TH1TMOD/TCON:工作方式寄存器/控制寄存器1.结构,3,2.功能16位的定时器/计数器的实质:加法计数器。(1)定时对机器周期进行计数,即计数脉冲来自单片机的内部。即每个机器周期产生一个计数脉冲使得计数器加1,直至计满溢出。计数频率fosc/12,即1个机器周期;“定时”时间:开始计数到溢出;预置计数法:初值越大,定时越短。,4,(2)计数对外部脉冲信号计数(T0P3.4/T1P3.5)。下降沿出现时,计数器值加1.在每个机器周期的S5P2拍节时对外部计数脉冲进行采样;如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。下一个周期的S3P1期间,新的计数值装入计数器。最高计数频率fosc/24,即2个机器周期。注:定时器按设定的工作方式独立运行,不占用CPU的操作时间,除非定时器计满溢出,中断CPU。,5,1.定时器控制寄存器TCON功能:控制定时器T0或T1的运行或停止,并标志定时器的溢出和中断情况。位地址:88H,可以位寻址。TF0/TF1:定时器溢出标志。溢出时,硬件自动使TF0/TF1置1,并申请中断。TR0/TR1:定时器运行控制位。置1启动工作,置0停止工作。IE0/IE1:外部中断0(INT0)/1(INT1)请求标志。IT0/IT1:外部中断0/1触发方式选择位。,5.3 控制寄存器和方式寄存器,6,2.方式寄存器GATE门控位GATE=0 以运行控制位TR启动定时器GATE=l 以外中断请求信号或启动定时器 C/T定时方式或计数方式选择位C/T=0 定时工作方式C/T=1 计数工作方式,7,TMOD的位地址是89H,不能位寻址,只能用字节传送指令设置定时器的工作方式。复位时,TMOD所有位均清零。,8,5.4.1 工作方式01.电路逻辑结构,C/T=0:定时器工作方式:C/T=1:计数器工作方式:下降沿有效。,GATE=0:或门输出为1,与INTX无关;TRx1,接通计数器,否则断开停止计数。GATE=1:TRx1,或门、与门输出仅受INTX控制。,5.4 定时器/计数器的工作方式,9,2.定时和计数应用在方式0下,当为计数工作方式时,计数值的范围是:18192(213)当为定时工作方式时,定时时间的计算公式为:(213 计数初值)晶振周期12 或(213 计数初值)机器周期其时间单位与晶振周期或机器周期相同(s)。如晶振频率为6 MHz,则最小定时时间为213(213 1)2us=2(s)最大定时时间为(213 0)2 us=16 384(s),10,例5.1设单片机晶振频率为6MHz,使用定时器1以方式0产生周期为500s的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。1计算计数初值(213 X)2=250十六进制表示,高8位为:0FCH,低5位为03H。其中高8位放入TH1,即TH1=0FCH;低5位放入TL1,即TL1=03H,11,2.TMOD寄存器初始化为把T1设定为方式0,则M1M0=00;为实现定时功能,应使C/T=0;为实现T1的运行控制,则GATE=0。T0不用,有关位设定为0。因此TMOD寄存器应初始化为00H。3.由TCON中的TR1位控制定时的启动和停止TR1=1启动TR1=0停止。,12,例5.1 ORG 0030H;查询方式 P112MAIN:MOVTMOD,#00HMOVTH1,#0FCHMOVTL1,#03HMOVIE,#00HSETBTR1LOOP:JBCTF1,LOOP1AJMPLOOPLOOP1:MOVTH1,#0FCHMOVTL1,#03HCPLP1.0AJMP LOOP END,13,5.4.2 工作方式1 P113,M1=0 M0=1 与方式0一样,唯一差别是16位定时/计数器,由THx8位和TLx8位组成16位加1计数器计数。,14,2.定时和计数当为计数工作方式时,计数值的范围是 165536(216)当为定时工作方式时,定时时间的计算公式为(216 计数初值)晶振周期12 或(216 计数初值)机器周期其时间单位与晶振周期或机器周期相同(s)。,15,以中断方式完成例6.1。单片机晶振频率为6MHz,使用定时器1以工作方式1产生周期为500s的等宽正方波连续脉冲,并由P1.0输出。1计算计数初值TH1=0FFH TL1=83H2TMOD寄存器初始化TMOD=10H3程序设计,16,ORG 0000HLJMP MAINORG 001BHLJMP TOINTMIAN:MOVTMOD,#10HMOVTH1,#0FFHMOVTL1,#83HSETBEASETBET1SETBTR1HERE:SJMPHERETOINT:MOVTH1,#0FFHMOVTL1,#83HCPLP1.0RETI,17,例5.2:利用定时器T1方式1进行定时,使P1.1端每隔1s取反一次,设晶振频率为12MHz。解:方式1下最大定时时间:Tmax2161us65536us65.536ms当定时时间大于Tmax时,可设置软件计数器。设T1定时时间为50ms,则计满20次就可。(216X)1us50000usX15536=3CB0H所以TH1=3CH,TL1=B0H程序如下:,18,START:MOVA,#00;A赋计数初值0MOVTMOD,#10H;T1为方式1MOVTH1,#3CHMOVTL1,#0B0HSETBTR1;启动T1LOOP:JBCTF1,NEXTSJMPLOOPNEXT:MOVTH1,#3CHMOVTL1,#0B0HINCACJNEA,#20,LOOPCPLP1.1MOVA,#00SJMPLOOP,19,5.4.3 定时工作方式2 P113,M1=1 M0=0 自动装载初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。用于需要重复定时和计数的场合,最大计数值:256(28)最大定时时间(12MHZ T=1s):256s 定时时间=(28-Tx初值)x 振荡周期 x 12,20,例5.3 使用定时器0以工作方式2产生100s定时,在P1.0输出周期为200s的连续正方波脉冲。已知晶振频率fosc=6MHz。1计算计数初值6MHz晶振下,一个机器周期为2us,以TH0作重装载的预置寄存器,TL0作8位计数器,假设计数初值为X,则(256X)2=100us求解得X=206D=11001110B=0CEH把0CEH分别装入TH0和TL0中:TH0=0CEH,TL0=0CEH,21,例5.3(查询方式)ORG 0000H LJMP MAIN ORG 0030H MAIN:MOVIE,#00HMOVTMOD,#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JBCTF0,LOOP1AJMPLOOPLOOP1:CPLP1.0AJMP LOOP END,22,(中断方式),ORG0000HLJMPMAINORG000BHLJMPT1INT,23,例5.4:用定时器1以工作方式2实现计数,每计100次进行累加器加1操作。1.计算计数初值256-100=156D9CH则TH1=TL1=9CH2.TMOD初始化M1M0=10,C/T=1,GATE=0因此TMOD=60H,24,例5.4 ORG0000H P115LJMPMAIN ORG 0030H;查询方式MAIN:MOVIE,#00HMOVTMOD,#60HMOVTH1,#9CHMOVTL1,#9CHSETBTR1DEL:JBCTF1,LOOPAJMPDELLOOP:INCAAJMP DEL END,25,例:(应用两个定时器)设重复周期大于1ms的低频脉冲信号从P3.5引脚(T1)输入。要求P3.5每发生1次负跳变时,P1.0输出1个500s同步负脉冲,同时P1.1输出1个1ms的同步正脉冲,其波形图如下,设fosc6MHz。,26,计算计数初值:定时器T0定时500us,使用方式2,T1用于计数1个脉冲(每一次负跳变发生一次变化,考虑如何检测负跳变?)同时使用两个定时计数器:T0:(28-x)2us500us x=6D=06H TH006H,TL006HT1:X=28-1 X=255D=0FFH TH1=0FFH,TL1=0FFHT0用于定时CT0,方式2 M1 M010,GATE=0 T1用于计数CT1,方式2 M1 M010,GATE=0 TMOD寄存器初始化:TMOD62H,27,ORG 0030HSTART1:MOV TMOD,#62HMOV TH0,#06H;T0,定时500usMOV TL0,#06HMOV TH1,#0FFH;T1,计数一个脉冲MOV TL1,#0FFHSETB P1.0 CLR P1.1 SETB TR1;启动T 1LP1:JBC TF1,NEX1;检测外部跳变信号SJMP LP1,NEX1:CLR P1.0SETBP1.1 SETB TR0;启动T 0LP2:JBC TF0,NEX2;定时500usSJMP LP2NEX2:SETB P1.0LP3:JBC TF0,NEX3SJMP LP3NEX3:CLR P1.1;定2次500us共1msCLR TR0;T0停止工作AJMP LP1,28,5.4.4 定时工作方式3 P115,只适用于定时器T0,被分成两个独立的8位计数器TL0和TH0.定时器T1没有方式3状态,若设置为方式3,则停止工作。,29,T0方式3时T1的工作方式,30,5.5 外部中断源的扩展,5.5.1 通过OC门线或实现,利用一个外部中断输入线INT0(或INT1),采用集电极开路的非门构成或非电路。查询P1.0P1.3的逻辑电平来判断哪个中断源引起中断。,31,中断INT1服务程序段如下:ORG00013H;中断矢量地址LJMPINTRPT;转到入口地址INTRPT:PUSHPSW;保护现场。PUSHACCJBP1.0,SERV1JBP1.1,SERV2JBP1.2,SERV3JBP1.3,SERV4EXIT:POPACCPOPPSWRETISERV1:.AJMPEXIT,32,利用T0/T1的外部事件计数输入端作为边沿触发器的外部中断输入端;将T0/T1设置成计数方式,计数器初值设为满量程值,即全1状态;T0/T1端出现负跳变脉冲时,计数器加1就溢出产生中断;TF0/TF1作为外部中断请求标志。,5.5.2 通过定时器/计数器实现,33,例:定时器T1设置为方式2外部计数方式,允许T1中断,且CPU开放中断。MOVTMOD,#60HMOVTL1,#0FFHMOVTH1,#0FFHSETBEASETBET1SETBTR1,5.5.2 通过定时器/计数器实现,34,5.6 定时器与中断综合应用,例:利用定时器0控制产生周期为2ms和100ms的方波信号,分别由P1.0和P1.1引脚输出,采用中断方式。系统时钟为12MHz。,分析:方波为2ms,定时时间为1ms。机器周期为1s,采用方式0,则计数初值为 X=213 TH0=E0H,TL0=18H 方波为100ms,定时时间为50ms,可采用50次1ms定时,35,ORG 0000HLJMP BEGINORG 000BHLJMP TOINTORG 2000HBEGIN:MOV TMOD,#00H MOV TL0,#18H MOV TH0,#0E0H MOV R2,#50 SETB EA SETB ET0 SETB PT0 SETB TR0HERE:SJMP HERE,TOINT:MOV TL0,#18H MOV TH0,#0E0H CPL P1.0 DJNZ R2,RETURN CPL P1.1 MOV R2,#50RETURN:RETI,36,查询方式,中断方式,LOOP1:JBCTF0,LOOP2SJMPLOOP1,HERE:SJMP HERE,ORG 000BHLJMP TOINT,SETB EA SETB ET0 SETB PT0 SETB TR0,SETB TR0,TOINT:,使用中断方式时:定时器溢出中断请求标志位TF0,TF1,由硬件自动清0。,使用查询方式时:定时器溢出中断请求标志位TF0,TF1,由用户软家清0。,37,例:设单片机振荡频率为6MHz,要求每隔100ms,从外部ROM以data开始的数据区传送一个字节数据到P1口输出,共传送100个数据。要求(1)定时采用定时器T0以方式2实现(2)数据输出在中断服务程序中完成。解:定时器T0,方式2,最大定时时间512us0.512ms因此,设定时时间为0.5ms500us,采用一个软件计数器计数200次实现达到100ms。(256X)2=500X6=06H。程序如下:,38,ORG0000HAJMPSTARTORG000BHAJMPTOINTSTART:MOVTMOD,#02HMOVTL0,#06HMOVTH0,#06HSETBEASETBET0SETBPT0SETBTR0MOVDPTR,#dataMOVR6,#100DLOOP:MOVR7,#200DMOVA,R7HERE:JNZHEREDJNZR6,LOOPCLRTR0,TOINT:DJNZR7,LP1CLRAMOVCA,A+DPTRMOVP1,AINCDPTRLP1:MOVA,R7RETI,39,单片机专门固化的定时器/计数器的特点:总结1、51子系统有2个计数器、52子系统有3个计数器2、每个计数器都是一个加法计数器。3、每个计数器都可定义为8bit、13bit、16bit等4种工 作方式,以方便在不同的环境下使用。4、每个计数器都可以置初值,每来一个脉冲+1。5、每个计数器都可以选择计数源,内部或外部。6、当选择内部振荡源,由于已知频率,所以可以当定 时器,计数频率固定为振荡频率的12分频。7、当选择外部脉冲,由于频率未知,可用内部振荡频 率去测量,最大计数脉冲为振荡频率的24分频。,40,作业,1、8051单片机内有几个定时器/计数器?每个定时器/计数器有几种工作方式,如何选择?2、定时器工作在方式2有什么特点?适用于什么场合?3、假定单片机的晶振频率为6MHz,使用定时器0以定时方法在P1.0输出周期为400us,占空比为10:1的矩形脉冲,以定时工作方式2编程实现。4、假定单片机的晶振频率为12MHz,利用定时器T0(工作方式2)在P1.1引脚上输出周期为0.4ms的方波信号,采用中断方式实现。5、假定单片机的晶振频率为6MHz,要求每隔50ms,从内部RAM以30H开始的数据区传送一个字节数据外部RAM以2000H开始的连续存储区,共传送50个数据。要求以定时器T1的工作方式2实现,并且数据传送在中断服务程序中完成。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开