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

    (精品)单片机学习资料3.ppt

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

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

    (精品)单片机学习资料3.ppt

    第三章 80C51单片机的指令系统一、概述1.指令分类数据传送类指令(28条)算术运算类指令(24条)逻辑运算类指令(25条)控制转移类指令(17条)布尔操作类指令(17条)2.指令格式1.单字节指令指令只有一个字节,操作数和操作码都在同一个字节中。2.双字节指令指令包括两个字节,其中一个字节是操作数,另一个字节为操作码。3.3字节指令操作码占一个字节,操作数占两个字节。3.符号的约定Rn 当前寄存器组的8个通用寄存器,n=0-7Ri R0、R1只能用做间址寄存器,i=0,1direct 表示8为地址#data表示8位立即数bit 片内ram直接寻址位二、寻址方式和寻址空间1.立即寻址如:mov a,#3ahmov dptr,#0a2b3h0111010000111010PCPC+1操作码立即数100100001010001010110011PCPC+1操作码立即数立即数PC+22.直接寻址如:mov a,3ah应用范围:1.低128单元2.特殊功能寄存器直接寻址是寻址特殊功能寄存器的唯一方法。3.寄存器寻址如:inc r01.通用寄存器Rn用RS0、RS1选择四组中的一组。2.某些特殊功能寄存器00001000操作码0 0 00 0 0RS0 RS18位地址4.寄存器间接寻址片内RAM低128单元,只能用R0、R1作间址寄存器;如:mov a,r0片外RAM 64k字节,只能用DPTR做间址寄存器;如:movx a,dptr片外RAM 低256字节,除了用DPTR做间址寄存器外,也能用Ri:movx a,r1堆栈操作5.相对寻址相对转移指令中,给出的地址为相对当前地址的偏移量。偏移量为有符号数。8位有符号数的范围是-128-127。如:jc rel6.变址寻址只有三条指令:movc a,a+dptrmovc a,a+pcjmp a+dptr7.位寻址1.片内位寻址RAM2.片内特殊功能寄存器指令中的表示方法:直接使用地址单元地址加位特殊功能寄存器符号加位位名称三、指令系统1.数据传送类指令可以进行直接地址到直接地址传送可以用R0、R1和DPTR 访问片外RAM累加器A功能丰富、强大能访问程序存储器1.一般传送指令1)以累加器A为目的操作数。mov a,Rnmov a,directmov a,Rimov a,#datai2)以Rn为目的操作数。mov Rn,amov Rn,directmov Rn,#data-3)以直接地址为目的操作数mov direct,amov direct,Rnmov direct,directmov direct,Rimov direct,#data4)以间接寻址Ri为目的操作数mov Ri,amov Ri,directmov Ri,#data2.目的地址传送指令只有一条:mov dptr,#data16如:mov dptr,#1234dph=12dpl=343.累加器传送指令 1.字节交换指令xch a,Rnxch a,directxch a,Ri2.半字节交换指令xchd a,Ri3.A与片外存储器的传送指令movx a,Rimovx a,dptrmovx dptr,amovx Ri,a-4.A与程序存储器传送指令movc a,a+pcmovc a,a+dptr5.堆栈操作push directpop direct2.算术运算类指令1.加法指令1.加法指令add a,Rn;a+Rn-aadd a,directadd a,Riadd a,#data这四个指令影响标志位AC、CY、OV、P加法指令2.带进位加法指令 addc a,Rn;a+Rn+CY-aaddc a,directaddc a,Riaddc a,#data这四个指令影响标志位AC、CY、OV、PR6+R7:mov a,r6Add a,r7mov r6,amov a,#0addc a,#0mov r7,a加法指令3.加1指令inc Rninc directinc Riinc ainc dptr这些指令不影响标志位加法指令4.二-十进制调整指令da a设a=56h,r3=67h,CY=1看成压缩的BCD码相加:addc a,r3 ;a=0behda a ;a=0be+6=0c4h a=0c4h+60h=124h结果:a=24h cy=1减法指令带借位减法subb a,Rnsubb a,directsubb a,Risubb a,#data没有不带借位的减法,可以先对CY清零:clr c减法指令减1指令dec Rndec directdec Ridec a无对dptr的减一操作举例由于无对dptr的减一操作,可用软件实现:mov a,dpldec amov dpl,acjne a,#0ffh,overmov a,dphdec amov dph,aover:乘法指令mul ab将A,B中两数相乘,积的低8位放在A中,高8位放在B中.A=50H B=0A0H MUL AB乘积为3200H,A=00H B=32H OV=1 CY=0除法指令DIV ABA等于A/B的商,B等于A/B的余数.如果B=0结果不定,这时OV=1.CY总是0.3.逻辑运算指令a.单操作数逻辑运算指令1.clr a2.cpl a3.rr a4.rrc a5.rl a6.rlc a7.swap a举例swap 指令的作用,下面的程序很容易将A中的数转化为BCD码:mov b,#10div abswap aadd a,b1.b.双操作数逻辑指令按位“与”运算anl a,Rnanl a,directanl a,Rianl a,#dataanl direct,aanl direct,#data1.b.双操作数逻辑指令按位“或”运算orl a,Rnorl a,directorl a,Riorl a,#dataorl direct,aorl direct,#data1.b.双操作数逻辑指令按位“异或”运算xrl a,Rnxrl a,directxrl a,Rixrl a,#dataxrl direct,axrl direct,#data举例 1.由于逻辑操作可以不用累加器,故常用下面指令取反:xrl p1,#0ffh2.anl、orl、xrl经常用来对位操作:anl a,11111110b;a=xxxxxxx0borl a,00000010b;a=xxxxxx10bxrl a,00000011b;a=xxxxxx01b4.控制转移类指令1)无条件转移指令sjmp rel相对偏移跳转,相对范围-128-+127ajmp addr11目标地址高5位不变,低11位由指令给出。只能跳转2k范围。指令2字节。ljmp addr16指令长度3字节,可给出全部地址范围。jmp a+dptr 支持情况转移举例利用情况转移,用如下代码:mov dptr,#jmp_tablemov a,indexrl ajmp a+dptrjmp_table:ajmp case_0ajmp case_1ajmp case_2ajmp case_3ajmp case_42)调用和返回指令acall addr11lcall addr16retreti3)条件转移指令jz reljnz relcjne a,direct,relcjne a,#data,relcjne Rn,#data,relcjne Ri,#data,rel以上都是相对转移。举例cjne指令同时修改标志位c.分三种情况比大小:cjne a,data,equjc lessgreat:;if greatless:;if lessequ:4)循环转移指令djnz Rn,reldjnz direct,rel先把Rn或direct减1,如果结果不为0,转移到rel继续执行循环,否则,退出循环。举例djnz常用作循环控制:mov counter,#10loop:;loop bodydjnz counter,loopjz,jnz,cjne都可以用来进行循环控制。而且执行时间都是2个指令周期。5)空操作nop空操作,单字节、单周期,常用于延时等操作。例:mov r7,#10delay:nopdjnz r7,delay5.布尔操作类指令anl c,bitc=c.and.bit2anl c,/bitc=c.and.not.bit 2orl c,bitc=c.or.bit2orl c,/bitc=c.or.not.bit2mov c,bitc=bit1mov bit,cbit=c2clr cc=01clr bitbit=015.布尔操作类指令setb cc=11setb bitbit=11cpl cc=.not.c1cpl bitbit=.not.bit1jc rel如c=1,则转移2jnc rel如c=0,则转移2jb bit,rel如bit=1,则转移2jnb bit,rel如bit=0,则转移2jbc bit,rel如bit=1,则转移,并清零bit2举例位操作指令中没有异或操作可用软件实现:求c=bit1.xrl.bit2mov c,bit1jnb bit2,overcpl cover:;continue to

    注意事项

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

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




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

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

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

    收起
    展开