分享
分销 收藏 举报 申诉 / 38
播放页_导航下方通栏广告

类型单片机——算术运算类指令.ppt

  • 上传人:二***
  • 文档编号:12674930
  • 上传时间:2025-11-22
  • 格式:PPT
  • 页数:38
  • 大小:223.54KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 算术 运算 指令
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,成,都,理,工,大,学,工,程,技,术,学,院,第三章 MCS-51指令系统,2 算术运算类指令,(,24条),Arithmetic Operations,主要对8位无符号数;也可用于带符号数运算。,包括:加、减、乘、除、加1、减1运算指令,影响PSW有关位。,1,算术运算类指令,(6种/24条),加法运算:(,ADD,4条),带进位加法运算:(,ADDC,4条),带借位减法运算:(,SUBB,4条),加1/减1操作:(,INC,DEC,9条),单字节乘/除法运算,:(,MUL,DIV,2条),十进制调整:(,DA A,1条),2,加法运算:(,ADD,4条),带进位加法运算:(,ADDC,4条),带借位减法运算:(,SUBB,4条),所有的加法(,ADD,)、带进位加法(,ADDC,)、带借位减法(,SUBB,)运算都是以,A,为一个加数或被减数,最终结果也存进,A,。,加法(,ADD,)、带进位加法(,ADDC,)以及带借位减法(,SUBB,)运算中,如果产生了进位或借位,将自动对PSW中的,Cy,标志位置“,1,”。,带进位加法(,ADDC,):(A),(A)+(Cy)+(第二操作数)带借位减法(,SUBB,):(A),(A)-(Cy)-(第二操作数),3,ADD A,,#,data,;,A,data,A,ADD A,direct,;,A(direct)A,ADD A,Rn,;,ARnA,ADD A,,Ri,;,A(Ri)A,用途:,将A中的值与源操作数所指内容相加,最终结果,存在A中。,1.,不带进位位的加法指令,(4条),加法指令,4,例:,设(A)=49H,(R0)=6BH,执行:ADD A,R0,结果:,CY,=?,,AC,=?,,P,=?,,OV,=?,,(A),=?,CY=0,AC=1,P=0,OV=1,(A)=B4H,5,2.,带进位位的加法指令,(4条),ADDC A,Rn,;,ARn,CY,A,ADDC A,direct,;,A(direct)CYA,ADDC A,Ri,;,A(Ri)CYA,ADDC A,#data,;,AdataCYA,用途:,将,A中的值,和其后面的值以及进位位,C,中的值相加,最终,结果存在A,,常用于多字节数运算中。,6,说明:,由于51单片机是一种8位机,所以只能做8位的数学运算,但8位运算的范围只有0255,这在实际工作中是不够的,因此就要进行扩展,一般是将2个8位(两字节)的数学运算合起来,成为一个16位的运算,这样,可以表达的数的范围就可以达到065535。,7,例:,先做67H+A0H=107H,而107H显然超过了0FFH,因此最终保存在A中的是07H,而1则到了PSW中的CY位了。换言之,CY就相当于是100H。,然后再做10H+30H+CY,结果是41H,所以最终的结果是4107H。,1067H+30A0H,0001 0000 0110 0111,0011 0000 1010 0000,0100 0001 0000 0111,1067H,30A0H,4107H,8,例:,设1067H存在R1R0中,3020H存在R3R2中,计算R1R0+R3R2,结果存在R5R4中。,MOV A,R0,ADD A,R2 ;R0+R2A和CY,MOV R4,A,MOV A,R1,ADDC A,R3 ;R1+R3+,CYA和CY,MOV R5,A,9,又例:,先做67H+20H=87H,没有超过0FFH,因此最终保存在A中的是87H,而PSW中的CY=0。,然后再做10H+30H+CY,结果是40H,所以最终的结果是4087H。,1067H+3020H,0001 0000 0110 0111,0011 0000 0010 0000,0100 0000 1000 0111,1067H,3020H,4087H,10,DA A,在进行BCD码加法运算时,跟在ADD和ADDC指令之后,用于对累加器A中刚进行的两个BCD码的加法的结果进行十进制调整。,例:,A=0001 0101BCD(代表十进制数15),ADD A,#8,3.,十进制调整指令,(1条),;A=1DH,按二进制规律加,;A=23H,按十进制规律加,DA A,11,调整要完成的任务是:,(1)当累加器A中的,低4,位数出现了非BCD码(10101111)或低4位产生进位(AC=1),则应在低4位加6调整,以产生低4位正确的BCD结果。,(2)当累加器A中的,高4位,数出现了非BCD码(10101111)或高4位产生进位(CY=1),则应在高4位加6调整,以产生高4位正确的BCD结果。,十进制调整指令执行后,PSW中的CY表示结果的百位值,。,12,例 若(A)0101 0110B,表示的BCD码为56,(R3)0110 0111B,表示的BCD码为67,(CY)0。执行以下指令:,ADD A,R2,DA A,由于(A)0010 0011B,即23,且(CY)1,即,结果为BCD数123。,应该注意,DA指令不能对减法进行十进制调整。,13,减法指令,(8条),SUBB A,Rn,;,ARn,CY,A,SUBB A,direct,;,A(direct)CYA,SUBB A,,Ri,;,A(Ri),CY,A,SUBB A,,#,data,;,AdataCYA,将A中的值减去源操作数所指内容以及进位位C中的,值,最终结果存在A中。,1.,带借位的减法指令,(4条),14,例:,SUBB A,R2,设:A=C9H,R2=55H,CY=1,,执行指令之后,A中的值为73H。,15,说明:,没有不带借位的减法指令,如果需要做不带位的减法指令(在做第一次相减时),只要将CY清零即可。,对带符号数,要注意OV标志。OV=1,出错。,16,例,:设(A)=52H,(R0)=B4H,执行指令:,CLR C,SUBB A,R0,结果为:,(A),=?,CY,=?,AC,=?,OV,=?,P,=?,(A)=9EH,CY=1,AC=1,OV=1,P=1,17,加1/减1操作:,(INC,DEC9条),INC,DEC,与用加/减法指令做加1/减1 操作不同之处在于INC、DEC,不影响标志位,(CY、OV、AC).只有涉及累加器A的指令INC A、DEC A才影响奇偶标志P。,18,单字节乘/除运算:,(MUL,DIV2条),两个单字节数的乘/除法运算只在A与B之间进行。,MUL AB,:(A)与(B)相乘,积为16位数,(B),积的,高8位;(A),积的,低8位,DIV AB,:(A)除以(B),结果用2字节表示,(A),商的整数部分;(B),余数,19,乘法指令执行后,进位标志,CY,总是清零,即,CY=0,除法指令执行后,进位标志,CY,和溢出标志,OV,均被,清零,。若,除数B,中的内容,为0,时,除法运算没有意义,结果为不定值,此时溢出标志OV被置为1,即,OV=1,而CY仍为0.,20,1、写出下列程序的运行结果。,MOV SP,#40H,MOV 42H,,,#85H,MOV 55H,,,#37H,PUSH 42H,PUSH 55H,POP 42H,POP 55H,(SP)=,?,(42H)=,?,(55H)=,?,练习题,21,2、执行下面程序段后,片内RAM 30H和片外RAM 30H单元的值是:,MOV 30H,#30,MOV R1,#30H,MOV A,#03H,MOVX R1,A,XCH A,R1,MOVX R1,A,内部RAM(30H)=?;外部RAM(30H)=?,22,3、判断题,下面指令是否正确,并将错误指令改正之。,MOV#30H ,A,MOV DPTR ,A,DA R1,DIV A ,R0,MOV 30H,40H,PUSH#30H,23,5 逻辑运算类指令,(,24条),主要用于对2个操作数按,位进行逻辑,操作,结果送到,A或直接寻址单元。,主要操作,与、或、异或、移位、取反、清零等。,对标志位的影响,除了目的操作数为,ACC,的指令影响奇偶标志,P,外,一般不影响标志位。,Logic Operations,24,逻辑运算指令的常见用法,逻辑与ANL用于,清0,或者,保留,某些位:,例,:ANL A,#0FH;则(A)=0AH,(已知累加器A中已存有数:9AH ),逻辑或ORL用于,置1,或者,保留,某些位:,例,:ORL A,#0FH;则(A)=9FH,逻辑异或XRL用于,取反,或者,保留,某些位:,例,:XRL A,#0FH;则(A)=95H,25,1,逻辑或指令,(6条),ORL A,Rn;,ARnA,ORL A,direct;,A(direct)A,ORL A,,Ri;,A(Ri)A,ORL A,,#,data;,AdataA,ORL direct,A;,(direct)A(direct),ORL direct,,#,data;,(direct)data(direct),影响,P,标志,后两条指令,若直接地址为,I/O,端口,则为“,读改写,”操作。,OR,Logic Instruction,26,例:,71H和56H相或:,01110001(71H),)01010110(56H),01110111 即77H,27,2,逻辑与指令,(6条),ANL A,Rn,;,ARnA,ANL A,direct,;,A(direct)A,ANL A,,Ri,;,A(Ri)A,ANL A,,#,data,;,AdataA,ANL direct,A,;,(direct)A(direct),ANL direct,,#,data,;,(direct)data(direct),影响,P,标志,后两条指令,若直接地址为I/O端口,则为,“,读改写,”操作。,AN,d,L,ogic,Instruction,28,例:,71H和56H相与:,01110001(71H),)01010110(56H),01010000 即50H,29,3,逻辑异或指令,(6条),XRL A,Rn ;,A,RnA,XRL A,direct ;,A(direct)A,XRL A,,Ri ;,A(Ri)A,XRL A,,#,data ;,A dataA,XRL direct,A ;(direct),A(direct),XRL direct,,#,data ;,(direct)data(direct),影响,P,标志,后两条指令,若直接地址为I/O端口,则为“,读改写,”操作,。,e,X,clusive,-,o,R,L,ogic Instruction,30,例:,71H和56H相异或:,01110001(71H),)01010110(56H),00100111 即27H,31,4,清0与,取反指令,(2条),取反:CPL A,;,/AA,例:,若A=5CH,执行CPL A,结果:A=A3H,清0:CLR A,;0A,C,om,P,lement,L,ogic Operation,32,5,循环移位指令,(4条),RL A,RR A,RLC A,RRC A,A.7 A.0,A.7 A.0,A.7 A.0,CY,CY,A.7 A.0,后两条指令,影响,P,标志和,CY,。,R,otate,L,ogic instruction,33,例:,若A=5CH,CY=1,执行,RLC A,后,,对,RLC,、,RRC,指令,在,CY=0,时,RLC,相当于,乘,以,2,RRC,相当于,除,以,2,结果:A=B9H,CY=0,P=1,0101 1100,1,1011 1001,0,34,例:按要求编程,完成下列各题:,1)选通工作寄存器组中0区为工作区。,2)利用移位指令实现累加器A的内容乘6。,3)将ACC的低4位送P1口的低4位,P1口的高4位不变。,1)ANL PSW,#11100111B ;PSW的D4、D3位为00,2)CLR C,RLC A ;左移一位,相当于乘2,MOV R0,A,CLR C,RLC A ;再乘2,即乘4,ADD A,R0;乘2+乘4=乘6,3)ANL A,#0FH;高4位屏蔽(清0),ANL P1,#F0H;P1低4位清0,ORL P1,A ;(P1.31.0)(A30),35,例:将八盏霓虹灯从右往左逐个循环点亮,MOV A,#01H,MOV P1,A,RL A,XXXX(跳转指令),36,阅读程序段并写出运行结果,设(A)=83H,(R0)=17H,(17H)=34H,问执行以下程序段后,(A)=?,ANL A,#17H,ORL 17H,A,XRL A,R0,练习,37,Over!,38,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:单片机——算术运算类指令.ppt
    链接地址:https://www.zixin.com.cn/doc/12674930.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork