欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    定时单片机汇编精选PPT.ppt

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

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

    定时单片机汇编精选PPT.ppt

    定时单片机汇编第1页,此课件共20页哦例例题题 已已知知某某控控制制系系统统时时钟钟频频率率为为6MHz,请请用用MCS-51单单片片机机T0的的工工作作方方式式0在在P1.0脚脚输输出出周期为周期为500S的方波。的方波。解:题目要求采用解:题目要求采用T0的工作方式的工作方式0进行定时,故(进行定时,故(TMOD)=0000B。设初始值为设初始值为x,则:,则:x+125=213x=8192-125x=8067;t=(213-x)*T机器机器将其转换为十六进制数将其转换为十六进制数1F83H,正确填入,正确填入T0计数器应为:(计数器应为:(TH0)=0FCH,(,(TL0)=03H。如果采用查询方式则程序如下所示(注意。如果采用查询方式则程序如下所示(注意初始化的顺序初始化的顺序)MOV TMOD,#00H MOV TH0,#0FCH;00011111 10000011:11111100 00000011 MOV TL0,#03H MOV IE,#00H ;屏蔽中断;屏蔽中断;屏蔽中断;屏蔽中断 SETB TR0 ;启动定时;启动定时 LOOP:JBC TF0,LOOP1 ;查询查询TF0=1,转到,转到LOOP1,否则顺序执行,否则顺序执行 AJMP LOOP LOOP1:CPL P1.0 MOV TH0,#0FCH ;重新装入初值;重新装入初值 MOV TL0,#03H AJMP LOOP ;循环执行;循环执行第2页,此课件共20页哦设定时器设定时器T0选择工作模式选择工作模式0,定时时间为,定时时间为1ms,fOSC=6MHz。试确定。试确定T0初值,计算最大定时时间初值,计算最大定时时间T。解解:当:当T0处于工作模式处于工作模式0时,加时,加1计数器为计数器为13位。设位。设T0的初值为的初值为X。则。则X=7692转换为二进制数转换为二进制数X=1111000001100B=1E0CHT0的低的低5位:位:01100B=0CHT0的高的高8位:位:11110000B=F0HT0最大定时时间对应于最大定时时间对应于13位计数器位计数器T0的各位全为的各位全为1,即(,即(TH0)=FFH,(TL0)=1FH。则则第3页,此课件共20页哦例:例:利用利用T0的工作模式的工作模式0产生产生1ms的定时,在的定时,在P1.0引脚上输出引脚上输出2ms的的方波。设单片机晶振方波。设单片机晶振=12MHz。解:解:(1 1)选择工作模式)选择工作模式)选择工作模式)选择工作模式要在要在P1.0引脚输出周期为引脚输出周期为2ms方波,只要使方波,只要使P1.0每隔每隔1ms取反一次即取反一次即可。可。T0的模式字节的模式字节TMOD=00H,即,即TMOD.1TMOD.0M1M0=00,T0为模式为模式0;TMOD.2C/T=0,T0为定时状态;为定时状态;TMOD.3GATE=0,表示计数不受表示计数不受INT0控制控制;TMOD.4TMOD.7可为任意值。因可为任意值。因T1不用,这里取不用,这里取0第4页,此课件共20页哦(2 2)计算)计算)计算)计算1ms1ms定时时定时时定时时定时时T0T0的初值的初值的初值的初值机器周期机器周期设设T0的计数初值为的计数初值为X,则,则=8192-1000=7192D=1110000011000BTH0初值为初值为E0H,TL0初值为初值为18H。可查询。可查询TF0的状态来控制的状态来控制P1.0输出。输出。第5页,此课件共20页哦 (3 3)查询方式)查询方式)查询方式)查询方式采用查询方式的程序很简单,但在定时器计数过程中,采用查询方式的程序很简单,但在定时器计数过程中,CPU要不要不断查询溢出标志位断查询溢出标志位TF0的状态。这就占用了很多的状态。这就占用了很多CPU的工作时的工作时间,使间,使CPU的效率下降。的效率下降。程序清单:程序清单:MOVTMOD,#00H;设置设置T0T0为模式为模式0 0MOVTL0,#18H;送初值;送初值MOVTH0,#0E0HSETBTR0;启动;启动T0T0LOOP:JBCTF0,NEXT;查询定时时间到否?;查询定时时间到否?SJMPLOOPNEXT:MOVTL0,#18H;重装计数初值;重装计数初值MOVTH0,#0E0HCPLP1.0;输出取反;输出取反SJMPLOOP;重复循环;重复循环第6页,此课件共20页哦(4 4)定时器溢出中断方式)定时器溢出中断方式)定时器溢出中断方式)定时器溢出中断方式主程序主程序MAIN:MOVTMOD,#00H;设置设置T0T0为模式为模式0 0MOVTL0,#18H;送初值送初值MOVTH0,#0E0HSETBEA;CPUCPU开中断开中断SETBET0;T0T0中断允许中断允许SETBTR0;启动启动T0T0HERE:SJMPHERE;等待中断等待中断中断服务程序中断服务程序ORG000BH;T0T0入口入口AJMPCTC0;转中断服务程序转中断服务程序CTC0:MOVTL0,#18H;重装初值;重装初值MOVTH0,#0E0HCPLP1.0;输出方波;输出方波RETI;中断返回;中断返回第7页,此课件共20页哦模式模式1及应用及应用该模式对应的是该模式对应的是一个一个16位的定时器位的定时器/计数器计数器其结构与操作几乎与模式其结构与操作几乎与模式0完全相同,完全相同,唯一的差别是:在模式唯一的差别是:在模式1中,寄存器中,寄存器TH0和和TL0是以全部是以全部16位参与操作。位参与操作。用于定时工作方式用于定时工作方式时,定时时间为时,定时时间为t=(2t=(21616T0T0初值初值初值初值)振荡周期振荡周期振荡周期振荡周期1212用于用于计数工作方式计数工作方式时,计数长度为时,计数长度为216=65536(个外部脉冲)。(个外部脉冲)。第8页,此课件共20页哦模式模式1结构结构16位计数器位计数器 工工作作方方式式1与与工工作作方方式式0基基本本相相同同,只只是是其其可可以以实实现现16位位定定时时/计计数数,即即在在这这种种方方式式下下使使用用TH0与与TL0的的全全部部16位位。因因此此工工作作方方式式0所所能能完完成成的的功功能能,工工作作方方式式1都都可可以实现。以实现。第9页,此课件共20页哦例例:用定时器:用定时器T1产生一个产生一个50Hz的方波,由的方波,由P1.1输出。仍使用程序查输出。仍使用程序查询方式,询方式,fosc=12MHz。解解:方波周期:方波周期T=1/50Hz=0.02s=20ms,用用T1定时定时10ms,计数初,计数初值值X为为X=216-12101000/12=65536-10000=55536=D8F0H源程序如下:源程序如下:MOVTMOD,#10H;T1;T1模式模式1 1,定时,定时SETBTR1;启动启动T1T1LOOP:MOVTH1,#0D8H;装入装入T1T1计数初值计数初值MOVTL1,#0F0HJNBTF1,$;T1;T1没有溢出等待没有溢出等待CLRTF1;产生溢出,请标志位;产生溢出,请标志位CPLP1.1;P1.1;P1.1取反取反 输出输出SJMPLOOP;循环;循环第10页,此课件共20页哦 用查询方式与中断方式分别完成:用查询方式与中断方式分别完成:用查询方式与中断方式分别完成:用查询方式与中断方式分别完成:已已知知某某控控制制系系统统时时钟钟频频率率为为6MHz,请请用用MCS-51单单片片机机T0的的工工作作方方式式1在在P1.0脚脚输出周期为输出周期为500S的方波。的方波。MCS-51MCS-51单单单单片片片片机机机机的的的的工工工工作作作作方方方方式式式式1 1与与与与方方方方式式式式0 0基基基基本本本本相相相相同同同同,如如如如果果果果使使使使用用用用T1T1的的的的方方方方式式式式1 1则则则则寄寄寄寄存存存存器器器器(TMODTMOD)=10H=10H。计算初始值可得,(计算初始值可得,(计算初始值可得,(计算初始值可得,(TH1TH1)=0FFH=0FFH,(,(,(,(TL1TL1)=83H=83H。查询方式查询方式查询方式查询方式:ORG 0000HORG 0000H AJMP Main AJMP Main ORG 0030H ORG 0030HMain:MOV TMODMain:MOV TMOD,#10H#10H ;00010000B00010000B MOV TH1 MOV TH1,#0FFH#0FFH MOV TL1 MOV TL1,#83H#83H MOV IE MOV IE,#00H#00H;屏蔽所有中断;屏蔽所有中断;屏蔽所有中断;屏蔽所有中断 SETB TR1 SETB TR1 ;启动定时器;启动定时器;启动定时器;启动定时器T1T1LOOPLOOP:JBC TF1JBC TF1,LOOP1LOOP1 SJMP LOOP SJMP LOOP LOOP1 LOOP1:CPL P1.0CPL P1.0 MOV TH1 MOV TH1,#0FFH#0FFH;重新装入初值重新装入初值重新装入初值重新装入初值 MOV TL1MOV TL1,#83H#83H AJMP LOOP AJMP LOOP END END第11页,此课件共20页哦中断方式中断方式:主程序:主程序:ORG 0000H SJMP Main ORG 001BH SJMP INTT1 ORG 0030H Main:MOV TMOD,#10H MOV TH1,#0FFH MOV TL1,#83H SETB TR1 SETB ET1 SETB EA SJMP$中断服务程序:中断服务程序:中断服务程序:中断服务程序:INTT1:CPLP1.0INTT1:CPLP1.0MOVTH1MOVTH1,#0FFH#0FFHMOVTL1MOVTL1,#83H#83HRETIRETIENDEND第12页,此课件共20页哦模式模式2及应用及应用模式模式2结构结构8位计数器位计数器第13页,此课件共20页哦TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志位TF0置置1,而且还自动把,而且还自动把TH0中的内容重新装载到中的内容重新装载到TL0中。这里,中。这里,16位计数器被拆成二个,位计数器被拆成二个,TL0用作用作8位计数器,位计数器,TH0用以保护初值用以保护初值。在程序初始化时,在程序初始化时,TL0和和TH0由软件赋予相同的初值。由软件赋予相同的初值。一旦一旦TL0计数溢出,便置位计数溢出,便置位TF0,并将,并将TH0中的初值再自动装入中的初值再自动装入TL0,继续计,继续计数,循环重复。数,循环重复。用于定时工作模式时用于定时工作模式时用于定时工作模式时用于定时工作模式时,其定时时间(,其定时时间(TF0溢出周期)溢出周期)为为t=(2t=(28 8TH0TH0初值初值初值初值)振荡周期振荡周期振荡周期振荡周期1212用于计数工作方式时用于计数工作方式时用于计数工作方式时用于计数工作方式时,最大计数长度(,最大计数长度(TH0初值初值=0)为)为28=256(个外部脉冲)。(个外部脉冲)。这种工作模式可这种工作模式可省去用户软件中重装常数的语句省去用户软件中重装常数的语句,并,并可产生相当可产生相当精确的定时时间精确的定时时间,特别适于串行口波特率发生器。,特别适于串行口波特率发生器。第14页,此课件共20页哦 在某啤酒自动生产线上,需要每生产在某啤酒自动生产线上,需要每生产1010瓶执行装箱操作,将生产出的瓶执行装箱操作,将生产出的啤酒自动装箱。试用啤酒自动装箱。试用MCS-51MCS-51单片机的计数器实现该控制要求。单片机的计数器实现该控制要求。解:如果在啤酒生产线上装有传感装置,每检测到一瓶啤酒经过就向单片机发送一个脉冲信号,这样使用计数功能就可实现。设用T0的工作方式2来完成该题目。MOV TMOD,#06H;00000110B,T0采用方式2计数 MOV TL0,#0F6H ;装入初值 MOV TH0,#0F6H MOV IE,#00H ;禁止中断 SETB TR0 ;启动定时T0,开始计数 LOOP:JBC TF0,LOOP1 AJMP LOOP LOOP1:(驱动电机转动)AJMP LOOP第15页,此课件共20页哦 例例:当:当P3.4引脚上的电平发生负跳变时,从引脚上的电平发生负跳变时,从P1.0输出一个输出一个500s的同步脉冲。请编程实现该功能。的同步脉冲。请编程实现该功能。解解:模式选择模式选择模式选择模式选择首先选首先选T0为模式为模式2,外部事件计数方式。当,外部事件计数方式。当P3.4引脚上的电引脚上的电平发生负跳变时,平发生负跳变时,T0计数器加计数器加1,溢出标志,溢出标志TF0置置1;然后改变;然后改变T0为为500s定时工作方式,并使定时工作方式,并使P1.0输出由输出由1变为变为0。T0定时定时到产生溢出,使到产生溢出,使P1.0引脚恢复输出高电平,引脚恢复输出高电平,T0又恢复外部又恢复外部事件方式。事件方式。第16页,此课件共20页哦计数初值计数初值计数初值计数初值T0工工作作在在外外部部事事件件计计数数方方式式,当当计计数数到到28时时,再再加加1计计数数器器就就会会溢溢出出。设设计计数数初初值值为为X,当当再再出出现现一一次次外外部事件时,计数器溢出。则部事件时,计数器溢出。则X+1=28X=281=11111111B=0FFHT0工工作作在在定定时时方方式式时时,设设晶晶振振频频率率为为6MHz,500s相当于相当于250个机器周期。因此,初值个机器周期。因此,初值X为为(28X)2s=500sX=28250=6=06H第17页,此课件共20页哦程序清单程序清单程序清单程序清单START:MOVTMOD,#06H;设置设置T0T0为模式为模式2 2。外部计数方式。外部计数方式MOVTH0,#0FFH;T0;T0计数器初值计数器初值 MOVTL0,#0FFHSETBTR0;启动启动T0T0计数计数LOOP1:JBCTF0,PTFO1;查询查询T0T0溢出标志,溢出标志,TF0=1TF0=1时转移时转移 TF0=0(TF0=0(即查即查P3.4P3.4负跳变负跳变)SJMPLOOP1PTFO1:CLRTR0;停止计数停止计数MOVTMOD,#02H;设置设置T0T0为模式为模式2 2,定时方式,定时方式MOVTH0,#06H;T0;T0定时定时500us500us初值初值MOVTL0,#06HCLRP1.0;P1.0;P1.0清清0 0SETBTR0;启动定时启动定时500us500us第18页,此课件共20页哦 LOOP2:JBCTF0,PTFO2;查询溢出标志查询溢出标志,定时到定时到TF0=1TF0=1转转 移移,且且TF0=0(TF0=0(第一个第一个500us500us到否到否?)?)SJMPLOOP2PTFO2:SETBP1.0;P1.0P1.0置置1(1(到了第一个到了第一个500us)500us)CLRTR0;停止计数停止计数SJMPSTART第19页,此课件共20页哦第20页,此课件共20页哦

    注意事项

    本文(定时单片机汇编精选PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开