文库网
ImageVerifierCode 换一换
首页 文库网 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

【单片机应用课件】2.MCS-51指令系统.ppt

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

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

【单片机应用课件】2.MCS-51指令系统.ppt

1、寻址方式寻址方式寻址方式寻址方式数据传送类指令数据传送类指令数据传送类指令数据传送类指令算术运算类指令算术运算类指令算术运算类指令算术运算类指令逻辑操作类指令逻辑操作类指令逻辑操作类指令逻辑操作类指令控制转移类指令控制转移类指令控制转移类指令控制转移类指令位操作指令位操作指令位操作指令位操作指令第第章章MCSMCS5151指指令令系系统统本章内容本章内容1指令概述指令概述操作码操作码操作码操作码7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0双字节指令:双字节指令:双字节指令:双字节指令:标号:标号:标号:标号:操作码操作码操作码操作码操

2、作数或操作数地址操作数或操作数地址操作数或操作数地址操作数或操作数地址;注释;注释;注释;注释单字节指令:单字节指令:单字节指令:单字节指令:操作码操作码操作码操作码7 07 07 07 0三字节指令:三字节指令:三字节指令:三字节指令:操作码操作码操作码操作码7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0数据或寻址方式数据或寻址方式数据或寻址方式数据或寻址方式7 07 07 07 0指令按字节长度可以分为三种:指令按字节长度可以分为三种:指令按字节长度可以分为三种:指令按字节长度可以分为三种:指令格式指令格式指令格式指令格式指令的格式

3、:指令的格式:指令的格式:指令的格式:例如:例如:例如:例如:MOV AMOV A,R0R0例如:例如:例如:例如:MOV AMOV A,30H30H例如:例如:例如:例如:MOV DPTRMOV DPTR,#2010H#2010H2一、寻址方式一、寻址方式(找信找信找信找信方式方式方式方式)我的信在他我的信在他我的信在他我的信在他那那那那!找信找信找信找信去去去去!注:找信是寻找信的“地址”!3目的地目的地目的地目的地操作数操作数MOV P1,MOV P1,#55H55HMOV A,MOV A,#01H01H#55H55H目的地目的地信信寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对

4、寻址位寻址4目的地目的地目的地目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址内部内部内部内部RAMRAM或或或或SFRSFR区区区区操作数操作数XXHXXHMOV P1,20HMOV P1,20H20H20H目的地目的地20H20H注:寻址是寻操作数的“地址”!直接给出地址直接给出地址2020H H直接寻址直接寻址直接寻址直接寻址5目的地目的地目的地目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址寄存器寄存器寄存器寄存器目的地目的地操作数操作数XXHXXHMOV P1,AMOV P1,A寄存器寄存器寄存器寄存器R0-R7ABDPTR6寄存器寻址直接

5、寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址MOV P1,R0MOV P1,R0目的地目的地目的地目的地寄存器寄存器寄存器寄存器操作数操作数3AH3AH内部内部内部内部RAMRAM3AH3AH65H65H3AH3AHR0R1DPTR寄寄存存器器间间接接寻寻址址寄寄存存器器目的地目的地2 2号号号号信在信在2 2号箱子里号箱子里1 1号号号号7寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址MOVC A,A+DPTRMOVC A,A+DPTR目的地目的地目的地目的地寄存器寄存器寄存器寄存器操作数操作数内部内部内部内部RAMRAM65H65H基址基址基址基址寄存器寄存器寄存器

6、寄存器1212H H变址变址变址变址寄存器寄存器寄存器寄存器3434H H内部内部内部内部RAMRAM46H46H65H65HADPTRPC46H46H8目的地目的地目的地目的地寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址操作数操作数SJMP 54HSJMP 54H+54H54HPCPC2002H2002H2002H =2056H2002H =2056HPCPC2056H2056H9寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址20H20H27H27H21H21H28H28H21H21H20H20H100000000想一想想一想想一想想一想:如果想使如果想

7、使如果想使如果想使2727H H单单单单元的元的元的元的第第第第3 3位位位位置置置置1 1,该怎么办呢该怎么办呢该怎么办呢该怎么办呢?10单元地址单元地址单元地址单元地址2FH2FH2FH2FH2EH2EH2EH2EH2DH2DH2DH2DH2CH2CH2CH2CH2BH2BH2BH2BH2AH2AH2AH2AH29H29H29H29H28H28H28H28H 26H26H26H26H25H25H25H25H24H24H24H24H23H23H23H23H22H22H22H22H21H21H21H21H20H20H20H20H7F7F77776F6F67675F5F57574F4F47473

8、7372F2F27271F1F17170F0F0707MSBMSBMSBMSB 位地址位地址位地址位地址 LSBLSBLSBLSB7E7E76766E6E66665E5E56564E4E4646 36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D454535352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C4444 34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B4343 33332B2B23231B1B1313

9、0B0B03037A7A72726A6A62625A5A52524A4A4242 32322A2A22221A1A12120A0A020279797171696961615959515149494141 313129292121191911110909010178787070686860605858505048484040 3030282820201818101008080000位寻址地址表位寻址地址表位寻址地址表位寻址地址表 例:SETB 3DHSETB 3DHSETB 3DHSETB 3DH3D3D3C3C3B3B3F3F3E3E3A3A3939383827H27H11寄存器寻址直接寻址立

10、即数寻址寄存器间接寻址变址寻址相对寻址位寻址SETB 3DHSETB 3DH20H20H27H27H21H21H28H28H21H21H20H20H00000001 012二、指令系统二、指令系统1、指令描述约定、指令描述约定符符 号号含含 义义RnRn表示当前选定寄存器组的工作寄存器表示当前选定寄存器组的工作寄存器R0R0R7R7RiRi表示作为间接寻址的地址指针表示作为间接寻址的地址指针R0R0R1R1#data#data表示表示8 8位立即数,即位立即数,即0000H HFFHFFH#data16#data16表示表示1616位立即数,即位立即数,即00000000H HFFFFHFFF

11、FHaddr16addr16表示表示1616位地址,用于位地址,用于6464K K范围内寻址范围内寻址addr11addr11表示表示1111位地址,用于位地址,用于2 2K K范围内寻址范围内寻址directdirect8 8位直接地址,可以是内部位直接地址,可以是内部RAMRAM区的某一单元或某一专用功能寄存器的地址区的某一单元或某一专用功能寄存器的地址RelRel带符号的带符号的8 8位偏移量(位偏移量(-128-128+127+127)BitBit位寻址区的直接寻址位位寻址区的直接寻址位(X X)X X地址单元中的内容,或地址单元中的内容,或X X作为间接寻址寄存器时所指单元的内容作为

12、间接寻址寄存器时所指单元的内容将将 后面的内容传送到前面去后面的内容传送到前面去132、MCS-51的指令的指令2.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)2.2 2.2 2.2 2.2 算术运算指令(算术运算指令(算术运算指令(算术运算指令(24242424条)条)条)条)2.3 2.3 2.3 2.3 逻辑运算指令(逻辑运算指令(逻辑运算指令(逻辑运算指令(24242424条)条)条)条)2.4 2.4 2.4 2.4 控制转移指令(控制转移指令(控制转移指令(控制转移指令(17171717条)条)条)条)2.5

13、2.5 2.5 2.5 位操作指令(位操作指令(位操作指令(位操作指令(17171717条)条)条)条)14目的地址目的地址目的地址目的地址源地址源地址源地址源地址数数数数 据据据据MOV ,MOV A,#20H,A ARnRndirect1direct1RiRiA ARnRndirect2direct2RiRi#data#dataA ARnRndirect2direct2RiRi#data#dataMOVMOVRnRnA A#data#datadirect2direct2direct1direct1A ARnRndirect2direct2RiRi#data#dataRiRiA Adirec

14、t2direct2#data#data20H20HA A2.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)8 8 8 8位位位位数据传送指令数据传送指令数据传送指令数据传送指令(15(15(15(15条条条条)152.1 2.1 2.1 2.1 数据传送指令数据传送指令数据传送指令数据传送指令举例举例MOVA,R1;将工作寄存器R1中的值送入到累加器A中,R1中的值保持不变。MOVA,50H;将内存50H单元中的值送入到累加器A中,50H单元中的值保持不变。MOVA,R1;先看R1中是什么值,把这个值当做地址,并将这个地址单

15、元中的值送入累加器A中,前面我们已学过,这是寄存器间接寻址方式。162.1 2.1 2.1 2.1 数据传送指令(数据传送指令(数据传送指令(数据传送指令(29292929条)条)条)条)16161616位位位位数据传送指令(数据传送指令(数据传送指令(数据传送指令(1 1 1 1条)条)条)条)MOVDPTR,#data16 外部外部外部外部数据传送指令数据传送指令数据传送指令数据传送指令(4(4(4(4条条条条)MOVX ,,A ADPTRDPTRRiRiMOVXMOVXA ADPTRDPTRRiRiDPTRDPTRA ARiRiDPTRDPTRA ARiRiA A172.12.12.12

16、.1外部数据传送指令外部数据传送指令外部数据传送指令外部数据传送指令举例举例例:将外部RAM中100H单元中的内容送入外部RAM中200H单元中。MOVDPTR,#0100HMOVXA,DPTRMOVDPTR,#0200HMOVXDPTR,A18交换和查表类交换和查表类交换和查表类交换和查表类指令指令指令指令(9(9(9(9条条条条),A AXCHXCHdirectdirectDPTRDPTRRiRidirectdirectA ADPTRDPTRRiRi1)1)1)1)字节交换指令字节交换指令字节交换指令字节交换指令(3(3(3(3条条条条)2)2)2)2)低半字节交换指令低半字节交换指令低半

17、字节交换指令低半字节交换指令(1(1(1(1条条条条)XCHD A,XCHD A,RiRi3)3)3)3)累加器累加器累加器累加器A A A A中高中高中高中高4 4 4 4位和低位和低位和低位和低4 4 4 4位交换位交换位交换位交换(1(1(1(1条条条条)SWAP A SWAP A 4)4)4)4)查表指令查表指令查表指令查表指令(2(2(2(2条条条条)MOVC A,A+PCMOVC A,A+PCMOVC A,A+DPTRMOVC A,A+DPTR5)5)5)5)堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令(2(2(2(2条条条条)PUSH directPUSH directPOP

18、 directPOP direct19directdirectdirectdirect2.22.22.22.2算术运算类指令(算术运算类指令(算术运算类指令(算术运算类指令(24242424条)条)条)条)加法加法加法加法指令(指令(指令(指令(8 8 8 8条)条)条)条)A A ,RnRnRiRi#data#dataADDADDRnRnRiRi#data#datadirectdirectdirectdirectA A ,RnRnRiRi#data#dataADDCADDCRnRnRiRi#data#data减法减法减法减法指令指令指令指令(4(4(4(4条条条条)directdirectd

19、irectdirectA A ,RnRnRiRi#data#dataSUBBSUBBRnRnRiRi#data#dataBCDBCDBCDBCD码调整码调整码调整码调整指令指令指令指令(1(1(1(1条条条条)DA A DA A 注意注意注意注意:DA ADA A指令只能跟在指令只能跟在指令只能跟在指令只能跟在ADDADD或或或或ADDCADDC加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。加法指令后,不适用于减法指令。20带进带进位加法指令位加法指令位加法指令位加法指令 例如:1067H+10A0H,先做67H+A0H=107H,而107H显然超过

20、了0FFH,因此,最终保存在A中的数是7,而1则到了PSW中的CY位了,换言之,CY就相当于100H。然后再做10H+10H+CY,结果是21H,所以最终的结果是2107H。21助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期INCA00000100AA+1影响影响PSW的的P标志标志1INCRn00001rrrRnRn+1n=07,rrr=0001111INCdirect0101direct(direct)(direct)+11INCRi0000011i(Ri)(Ri)+1i=0,11INCDPTR10100011DPTRDPTR+12DECA00010

21、100AA-1影响影响PSW的的P标志标志1DECRn00011rrrRnRn-1n=07,rrr=0001111DECdirect00010101direct(direct)(direct)+11DECRi0001011i(Ri)(Ri)-1i=0,11加加加加1 1 1 1减减减减1 1 1 1指令指令指令指令22加加加加1 1 1 1减减减减1 1 1 1指令指令指令指令例:(A)=12H,(R0)=33H,(21H)=32H,(34H)=22H,DPTR=1234H。执行下面的指令;INCA;(A)=13HINCR0;(R0)=34HINC21H;(21H)=33HINCR0;(34H

22、)=23HINCDPTR;(DPTR)=1235H23练习练习练习练习1.执行如下三条指令后,执行如下三条指令后,30H单元的内容是单元的内容是()。MOVR1,#30HMOV40H,#0EHMOVR1,40HA.40HB.30HC.0EHD.FFH2.有如下程序段有如下程序段:MOVR0,#30HSETBCCLRAADDCA,#00HMOVR0,A执行结果是执行结果是()。A.(30H)=00HB.(30H)=01HC.(00H)=00HD.(00H)=01H24乘法乘法乘法乘法指令指令指令指令(1(1(1(1条条条条)MUL A BMUL A B这个指令的作用是把累加器A和寄存器B中的8位

23、无符号数相乘,所得到的是16位乘积,这个结果低低8位存在累加器位存在累加器A,而高而高8位存位存在寄存器在寄存器B中中。如果OV=1,说明乘积大于0FFFFH(65536),否则OV=0,但进位标志位CY总是等于0。例:(A)=4EH,(B)=5DH,执行指令MULAB后,乘积是1C56H,所以在B中放的是1CH,而A中放的则是56H。除法除法除法除法指令指令指令指令(1(1(1(1条条条条)DIV A BDIV A B这这个指令的作用是把累加器个指令的作用是把累加器A A的的8 8位无符号整数除以寄存器位无符号整数除以寄存器B B中的中的8 8位无符号整数,所得到的位无符号整数,所得到的商存

24、在累加器商存在累加器商存在累加器商存在累加器A A,而而余数存在寄存器余数存在寄存器余数存在寄存器余数存在寄存器B B中中中中。除法运算除法运算总总是使是使OVOV和和进进位位标标志位志位CYCY等于等于0 0。如果。如果OV=1OV=1,表明寄存表明寄存器器B B中的内容中的内容为为0000H H,那么那么执执行行结结果果为为不确定不确定值值,表示除法有溢出。,表示除法有溢出。例如:13/5,其商是2,余数是3。除了以后,商会放在A中,余数放在B中,CY和OV都是0。如果在做除法前B中的值是00H,也就是除数为0,那么OV=1252.32.32.32.3逻辑及移位类指令逻辑及移位类指令逻辑及

25、移位类指令逻辑及移位类指令逻辑与逻辑与逻辑与逻辑与指令(指令(指令(指令(6 6 6 6条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ANLA,direct01010101directAAdirect按位相与按位相与1ANLA,Rn01011rrrAARnn=07,rrr=0001111ANLA,Ri0101011iAA(Ri)i=0,11ANLA,#data01010100dataAA#data1ANLdirect,A01010010direct(direct)(direct)A不影响不影响PSW的的P标志标志1ANLdirect,#d

26、ata01010011directdata(direct)(direct)#data不影响不影响PSW的的P标志标志226逻辑或逻辑或逻辑或逻辑或指令(指令(指令(指令(6 6 6 6条)条)条)条)01000011directdata助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期ORLA,direct01000101directAAdirect按位相或按位相或1ORLA,Rn01001rrrAARnn=07,rrr=0001111ORLA,Ri0100011iAA(Ri)i=0,11ORLA,#data01000100dataAA#data1ORLdi

27、rect,A01000010direct(direct)(direct)A不影响不影响PSW的的P标志标志1ORLdirect,#data(direct)(direct)#data不影响不影响PSW的的P标志标志227逻辑逻辑逻辑逻辑异或异或异或异或指令(指令(指令(指令(6 6 6 6条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器机器周期周期XRLA,direct01100101directAA(direct)按位相异或按位相异或1XRLA,Rn01101rrrAA Rnn=07,rrr=0001111XRLA,Ri0110011iAA(Ri)i=

28、0,11XRLA,#data01100100dataAA#data1XRLdirect,A01100010direct(direct)(direct)A不影响不影响PSW的的P标志标志1XRLdirect,#data01100011directdata(direct)(direct)#data不影响不影响PSW的的P标志标志228累加器累加器累加器累加器A A A A清清清清0 0 0 0和取反和取反和取反和取反指令指令指令指令助记符格式机器码(B)相应操作指令说明机器周期CLRA11100100A00HA中内容清0,影响P标志1CPLA11110100A中内容按位取反,影响P标志1AA29A

29、.0A.7A.0A.7A.0A.7A.0A.7CYCYvRLAvRRAvRLCAvRRCA注意注意注意注意:执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给执行带进位的循环移位指令之前,必须给CYCY置位或清零。置位或清零。置位或清零。置位或清零。循环移位循环移位循环移位循环移位指令指令指令指令302.4 2.4 2.4 2.4 控制转移类指令控制转移类指令控制转移类指令控制转移类指令 无条件转移无条件转移无条件转移无条件转移指令指令指令指令(4(4(4(4条条条条)1)1)长转移指令:长转移指令:长转移指令:长转移指令:LJMP A

30、AAAH LJMP AAAAH ;AAAAH AAAAHPCPCPC=0000HPC=0000HPC=AAAAHPC=AAAAH0000H0000H0001H0001HAAA9HAAA9HAAAAHAAAAH0002H0002H假设执行该指假设执行该指令前,令前,PCPC的值的值为为00000000H H。注意注意注意注意:该指令可以转移到该指令可以转移到该指令可以转移到该指令可以转移到64 64 64 64 KBKBKBKB程序存储器中的任意位置。程序存储器中的任意位置。程序存储器中的任意位置。程序存储器中的任意位置。31PC高5位(保持不变)PC低11位A10A9A800 001A7A6A

31、5A4A3A2A1A0操作码(第一字节)操作数(第二字节)1111位转移地址的形成示意图位转移地址的形成示意图程序计数器PC2)2)2)2)绝对转移指令绝对转移指令绝对转移指令绝对转移指令AJMP AJMP addr11 addr11;PC+2 PC+2PCPC,addr11 addr11 PC.10PC.0PC.10PC.032PCPC2002H2002H2003H2003H0000H0000H0001H0001H2004H2004H2005H2005H2006H2006HPCPCPCPCPCPC2006H2006H2003H2003HPCPC0002H0002HPCPC3)3)3)3)短转

32、移指令短转移指令短转移指令短转移指令例:SJMP03HSJMP03H03H03H0303H H就是当前就是当前就是当前就是当前PCPC值值值值与目的与目的与目的与目的PCPC值值值值相对差相对差相对差相对差PCPC33条件转移条件转移条件转移条件转移指令指令指令指令(8(8(8(8条条条条)1)1)1)1)累加器累加器累加器累加器A A A A判判判判0 0 0 0指令指令指令指令(2(2(2(2条条条条)助记符格助记符格助记符格助记符格式式式式机器码机器码机器码机器码(B)B)相应操作相应操作相应操作相应操作机器机器机器机器周期周期周期周期JZJZrelrel01100000110000若若

33、若若A=0,A=0,则则则则PCPCPC+2+PC+2+relrel,否否否否则则则则程程程程序序序序顺顺顺顺序执行序执行序执行序执行 2 2JNZJNZrelrel0111000001110000若若若若A0,A0,则则则则PCPCPC+2+PC+2+relrel,否否否否则则则则程程程程序序序序顺顺顺顺序执行序执行序执行序执行2 22)2)2)2)减减减减1 1 1 1条件转移条件转移条件转移条件转移指令指令指令指令(2(2(2(2条条条条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期DJNZRn,rel11011rrrrelRnRn-1,若若Rn0,则则PCPC

34、+2+rel,否则顺序执行否则顺序执行2DJNZdirect,rel11010101directrel(direct)(direct)-1,若若(direct)0,则则PCPC+3+rel,否否则顺序执行则顺序执行2343)3)3)3)数值数值数值数值比较转移比较转移比较转移比较转移指令指令指令指令(4(4(4(4条条条条)助记符格式助记符格式机器码机器码(B)B)相应操作相应操作机器机器周期周期CJNE CJNE A,#data,A,#data,relrel10110100 10110100 data data relrel若若A#data,A#data,则则PCPCPC+3+PC+3+re

35、lrel,否否则则顺顺序序执执行行;若若 A#dataA#data,则则CY=1CY=1,否则否则CY=0CY=02 2CJNE CJNE RnRn,#data,#data,relrel1011110111rrrrrrdata data relrel若若 RnRn#data#data,则则PCPCPC PC+3+3+relrel,否否 则则 顺顺 序序 执执 行行;若若RnRn#data#data,则则CY=1CY=1,否则否则CY=0CY=02 2CJNE CJNE RiRi,#data,#data,rerel l10110111011011i idata data relrel若若(RiR

36、i)#data)#data,则则PCPCPC PC+3+3+relrel,否否 则则 顺顺 序序 执执 行行;若若(RiRi)#data,)#data,则则CY=1CY=1,否则否则CY=0CY=02 2CJNE CJNE A,direct,A,direct,relrel1011010110110101direct direct relrel若若A(direct)A(direct),则则PCPCPC PC+3+3+relrel,否否 则则 顺顺 序序 执执 行行;若若A(direct)A(direct),则则CY=1CY=1,否则否则CY=0CY=02 235条件转移类指令范例条件转移类指令范

37、例方案一方案一将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。MOVR0,#20HMOVR7,#0FHCLRALOOP:MOVR0,AINCAINCR0DJNZR7,LOOPSJMP$36条件转移类指令范例条件转移类指令范例方案二方案二MOVR0,#20HMOVR7,#0FHCLRALOOP:MOVR0,AINCAINCR0CJNEA,#0FH,LOOPSJMP$37条件转移类指令范例条件转移类指令范例方案三方案三 MOVR0,#20HMOVA,#0FHMOV30H,#00HLOOP:MOVR0,30HINC30HINCR0DECAJNZLOOPSJMP$38条件转移类指令范例

38、条件转移类指令范例方案方案四四 MOVR0,#20HMOVA,#0FHMOV30H,#00HLOOP:MOVR0,30HINC30HINCR0SUBBA,#01HJNCLOOPSJMP$39调用和返回调用和返回调用和返回调用和返回指令指令指令指令(8(8(8(8条条条条)1 1 1 1)绝对调用绝对调用绝对调用绝对调用指令(指令(指令(指令(1 1 1 1条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期ACALLaddr11a10a9a810001addr70PCPC+2SPSP+1,(SP)PC07SPSP+1,(SP)PC815PC010addr112

39、2)2)2)2)长调用长调用长调用长调用指令(指令(指令(指令(1 1 1 1条)条)条)条)助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期LCALLaddr1600010010addr158addr70PCPC+3SPSP+1,SPPC07SPSP+1,SPPC815PCaddr162403)3)3)3)返回返回返回返回指令指令指令指令助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期RET00100010PC815(SP),SPSP-1PC07(SP),SPSP-1子程序返回指令子程序返回指令2RETI00110010PC815SP,SPSP-1

40、PC07SP,SPSP-1中断返回指令中断返回指令2助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明NOP00000000空操作空操作消耗消耗1个机器周个机器周期期4)4)4)4)空操作空操作空操作空操作412.5 位操作类指令位操作类指令单元地址单元地址2FH2FH2EH2EH2DH2DH2CH2CH2BH2BH2AH2AH29H29H28H28H27H27H26H26H25H25H24H24H23H23H22H22H21H21H20H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707M

41、SBMSB 位地址位地址 LSBLSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524

42、A4A42423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901017878707068686060585850504848404038383030282820201818101008080000RAMRAM 位寻址区位地址表位寻址区位地址表位寻址区位地址表位寻址区位地址表42助记符格助记符格式式机器码机器码(B)相应操相应操作作指令说明指令说明机器周机器周期期MOVC,bit10100010 CYbit位位传传送送指指令令,结结果果影影响响CY标志标志2M

43、OVbit,C10010010 bitCY位位传传送送指指令令,结结果果不不影影响响PSW22.2.2.2.位置位和位清零指令位置位和位清零指令位置位和位清零指令位置位和位清零指令助记符格助记符格式式机器码机器码(B)相应操作相应操作指令说明指令说明机器周机器周期期CLRC11000011CY0位位清清0指指令令,结结果果影影响响CY标志标志1CLRbit11000010bitbit0位位清清0指指令令,结结果果不不影影响响PSW1SETBC11010011CY1位位置置1指指令令,结结果果影影响响CY标志标志1SETBbitbit1位位置置1指指令令,结结果果不不影影响响PSW1110100

44、10bit1.1.1.1.位传送指令位传送指令位传送指令位传送指令433.3.3.3.位运算指令位运算指令位运算指令位运算指令助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明机器周期机器周期ANLC,bit10000010bitCYCYbit位与指令位与指令2ANLC,/bit10110010bit位与指令位与指令2ORLC,bit01110010bitCYCYbit位或指令位或指令2ORLC,/bit10100010bit位或指令位或指令2CPLC10110011位取反指令位取反指令2CPLbit10110010位位取取反反指指令令,结结果果不影响不影响CY2CYCYb

45、itCYCYbitCYCYbitbit助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期JBbit,rel00100000bitrel若若bit=1,则则PCPC+3+rel,否否则则顺顺序执行序执行2JNBbit,rel00110000bitrel若若bit=0,则则PCPC+3+rel,否否则则顺序执行顺序执行2JBCbit,rel00010000bitrel若若 bit=1,则则 PCPC+3+rel,bit0,否则顺序执行否则顺序执行24.4.4.4.位转移指令位转移指令位转移指令位转移指令445.5.5.5.判判判判CYCYCYCY标志指令标志指令标志指令标志指令

46、助记符格助记符格式式机器码机器码(B)相应操作相应操作机器周期机器周期JCrel01000000 若若CY=0,则则PCPC+2+rel,否否则则顺序执行顺序执行2JNCrel01010000 若若CY0,则则PCPC+2+rel,否否则则顺序执行顺序执行245练习练习1.1.程序计数器程序计数器PCPC用来用来()。a.a.存放指令存放指令b.b.存放正在执行的指令地址存放正在执行的指令地址c.c.存放下一条的指令地址存放下一条的指令地址d.d.存放上一条的指令地址存放上一条的指令地址 2.8051 2.8051 有四个工作寄存器区,由有四个工作寄存器区,由 PSW PSW 状态字中的状态字

47、中的 RS1 RS1、RS0 RS0 两位的状态来决定,单片机两位的状态来决定,单片机 复位后,若执行复位后,若执行 SETB RS1 SETB RS1 指令,此时只能使用(指令,此时只能使用()区)区的工作寄存器。的工作寄存器。a.0 a.0 区区 b.1 b.1 区区c.2 c.2 区区 d.3 d.3 区区 463.3.当执行调用指令时,首先将该指令下一条指令的地址压当执行调用指令时,首先将该指令下一条指令的地址压入到堆栈区,保护其下一条指令的地址,然后再将转移的入到堆栈区,保护其下一条指令的地址,然后再将转移的地址送地址送 ()实现转移;当再执行实现转移;当再执行 RET RET 指令

48、时自动将指令时自动将堆栈中的地址弹入堆栈中的地址弹入 PC PC 从而实现返回。从而实现返回。a.DPTRa.DPTRb.PCb.PCc.SPc.SPd.PSWd.PSW 4.将内部数据存储单元的内容传送到累加器将内部数据存储单元的内容传送到累加器A中的指令是中的指令是()。a.MOVdirect,Rnb.MOVA,Ric.MOVA,#datad.MOVXA,Ri475.80515.8051单片机的堆栈区位于单片机的堆栈区位于 。a.a.片内数据存储器片内数据存储器b.b.片内程序存储器片内程序存储器c.c.片外数据存储器片外数据存储器 d.d.片外程序存储器片外程序存储器 6.6.在下列指令

49、中在下列指令中,属判位转移的指令是(属判位转移的指令是()。)。a.AJMP addr11a.AJMP addr11b.CJNE A,direct,b.CJNE A,direct,relrelc.DJNZ c.DJNZ RnRn,relreld.JNC d.JNC relrel487.7.在程序运行过程中执行在程序运行过程中执行 PC=0200HPC=0200H的一条指令的一条指令LCALL addr16LCALL addr16,实施该调用指令时,压入堆栈保存的程序地址是(实施该调用指令时,压入堆栈保存的程序地址是()。)。a.2000Ha.2000Hb.0102Hb.0102Hc.0203H

50、c.0203Hd.0201Hd.0201H8.分别指出指令分别指出指令INCR0和和INCR0的执行结果。的执行结果。设设R0=30H,(,(30H)=00H。INCR0INCR0 499.分析下面程序段,累加器分析下面程序段,累加器A中的内容为()中的内容为()ORG0000HMOV30H,#45HMOVR0,#30HMOVA,R0ANLA,#0F0HSWAPAORLA,#30HSJMP$ENDa.45Hb.35Hc.30Hd.34H 5010.分析下面程序段,累加器分析下面程序段,累加器A中的内容为()中的内容为()。ORG0000HMOV30H,#45HMOVR0,#30HMOVA,#3


注意事项

本文(【单片机应用课件】2.MCS-51指令系统.ppt)为本站会员(鼎天工程图书馆)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(点击联系客服),我们立即给予删除!




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

文库网用户QQ群:731843829  微博官方号:文库网官方   知乎号:文库网

Copyright© 2025 文库网 wenkunet.com 网站版权所有世界地图

经营许可证编号:粤ICP备2021046453号   营业执照商标

1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png