您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 单片机原理及应用课件(第3讲)
E_mail:zht_sir@126.comAuthor:Zhanghaitao1第3章MCS-51单片机指令系统第3章MCS-51单片机指令系统3.1概述3.2寻址方式3.3指令系统3.4伪指令E_mail:zht_sir@126.comAuthor:Zhanghaitao2第3章MCS-51单片机指令系统§3-1概述1.概述指令是使计算机完成某种操作的命令,计算机能够执行的全部操作所对应的指令集合,称为计算机的指令系统。2.指令格式[标号:]操作码[操作数1],[操作数2],[操作数3];注解3.操作数类型操作数类型:立即数、寄存器操作数、存储器操作数3.1概述E_mail:zht_sir@126.comAuthor:Zhanghaitao3第3章MCS-51单片机指令系统4.指令描述约定•Rn、direct、@Ri•#data、#data16•addr16、addr11、rel•bit、/bit•DPTR、•A、B、C•(X)、((X))§3-1概述E_mail:zht_sir@126.comAuthor:Zhanghaitao4第3章MCS-51单片机指令系统§3-1寻址方式1、概述寻址就是寻找指令中操作数或操作数所在的地址。寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法。它是计算机的重要性能指标之一,也是汇编语言程序设计中最基本的内容之一。E_mail:zht_sir@126.comAuthor:Zhanghaitao5第3章MCS-51单片机指令系统§3-2寻址方式说明立即寻址寄存器器寻址R0~R7、ACC、B、DPTR、C直接寻址SFR,片内RAM,位地址空间寄存器间接寻址R0、R1、DPTR基寄存器加变址寄存器间接寻址PC、DPTR相对寻址当前PC的值加上指令中给定的偏移量offsetJZrel位寻址RAM(128位),SFR(93位)E_mail:zht_sir@126.comAuthor:Zhanghaitao6第3章MCS-51单片机指令系统§3-2寻址方式说明几点原则:程序存储器只能采用基寄存器加变址寄存器间接寻址方式。对特殊功能寄存器只能采用直接寻址,不能采用寄存器间接寻址方式。内部数据存储器128字节既能采用寄存器间接寻址方式,又能采用直接寻址方式。外部扩展的数据存储器只能采用MOVX指令来访问。E_mail:zht_sir@126.comAuthor:Zhanghaitao7第3章MCS-51单片机指令系统§3-3指令系统共111条指令,42种操作助记符,描述33种操作功能。从功能:数据传送(29)、算术运算(24)、逻辑操作(24)、控制转移(17)、位操作(17);从空间:单字节(49)、双字节(45条)、三字节(17条);从时间:单机器周期(64条)、双机器周期(45条)、四机器周期(2)E_mail:zht_sir@126.comAuthor:Zhanghaitao8第3章MCS-51单片机指令系统§3-3指令系统——数据传送类共29条。按其操作方式,又可把它们分为三种:数据传送、数据交换和栈操作。助记符:MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP。E_mail:zht_sir@126.comAuthor:Zhanghaitao9第3章MCS-51单片机指令系统§3-3指令系统——数据传送类1.Mov目的,源(1)8位二进制数的传送指令,以A,Rn,direct,@Ri为目的操作数。MOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@RiMOVdirect,#dataMOV@Ri,AMOV@Ri,directMOV@Ri,#dataMOVA,RnMOVA,directMOVA,@RiMOVA,#dataMOVRn,AMOVRn,directMOVRn,#dataE_mail:zht_sir@126.comAuthor:Zhanghaitao10第3章MCS-51单片机指令系统§3-3指令系统——数据传送类1.Mov目的,源(1)8位二进制数的传送指令,以A,Rn,direct,@Ri为目的操作数。例如:MOVA,R7MOVA,@R0MOVR2,70HMOVR3,#70HMOV40H,70HMOV50H,@R0MOV@R0,AMOV@R1,60HMOV@R1,60HMOV@R0,#77HE_mail:zht_sir@126.comAuthor:Zhanghaitao11第3章MCS-51单片机指令系统§3-3指令系统——数据传送类1.Mov目的,源(2)16位二进制数的传送指令MOVDPTR,#data16MOVDPL,#data8MOVDPH,#data8例如:MOVDPTR,#1234HMOVDPL,#34HMOVDPH,#12HE_mail:zht_sir@126.comAuthor:Zhanghaitao12第3章MCS-51单片机指令系统§3-3指令系统——数据传送类2.MOVC指令MOVCA,@A+PCMOVCA,@A+DPTR例1:ORG8000HMOVA,#30HMOVCA,@A+PC…ORG8030HDB‘ABCDEFGHIJ’例2:Sdata:DB0,1,2,3,4,5,6,7,8,9MOVDPTR,#SdataMOVA,#8MOVCA,@A+DPTRE_mail:zht_sir@126.comAuthor:Zhanghaitao13第3章MCS-51单片机指令系统§3-3指令系统——数据传送类3.MOVX指令MOVXA,@RiMOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,A例如:MOVDPTR,#6000HMOVXA,@DPTRMOVDPTR,#6000HMOVA,#10HMOVX@DPTR,AMOVR0,#30HMOVX@R0,AMOVP2,#20HMOVR0,#97HMOVXA,@R0E_mail:zht_sir@126.comAuthor:Zhanghaitao14第3章MCS-51单片机指令系统§3-3指令系统——数据传送类4.PUSH,POP堆栈操作指令PUSHdirect;SP+1,再存数POPdirect;先取数,SP-1例如:(SP)=60H,(A)=30H,(B)=70HPUSHACCPUSHBPOPDPLPOPDPH(SP)=?(DPTR)=?E_mail:zht_sir@126.comAuthor:Zhanghaitao15第3章MCS-51单片机指令系统§3-3指令系统——数据传送类4.PUSH,POP堆栈操作指令注意:堆栈操作指令用于子程序调用、中断操作时保护数据或CPU现场;指令PUSH和POP应该成对出现(包括隐性存在的PUSH,POP指令,例如子程序调用LCALL指令隐含压栈两次,子程序返回指令RET隐含出栈两次)。E_mail:zht_sir@126.comAuthor:Zhanghaitao16第3章MCS-51单片机指令系统§3-3指令系统——数据传送类5.XCH字节交换指令XCHA,RnXCHA,directXCHA,@RiXCHDA,@RiSWAPA例如(A)=10H,(R1)=20H,执行指令XCHA,R1后(A)=?(R1)=?E_mail:zht_sir@126.comAuthor:Zhanghaitao17第3章MCS-51单片机指令系统§3-3指令系统——数据传送类6.XCHD,SWAP半字交换指令XCHDA,@RiSWAPA例如(A)=12H,(R1)=30H,(30H)=34HXCHDA,@R1(A)=?(30H)=?例如(A)=12HSWAPA(A)=?E_mail:zht_sir@126.comAuthor:Zhanghaitao18第3章MCS-51单片机指令系统应用举例:1、把片内RAM6AH单元内容传送到片外RAM300H单元。2、把片外I/O口2000H数据读入片内RAM40H单元。3、把片外I/O口2000H数据读入片外RAM4000H单元。E_mail:zht_sir@126.comAuthor:Zhanghaitao19第3章MCS-51单片机指令系统4、把外部数据存储器2040H单元内容和片外RAM2230H单元互换。5、已知片内RAM50H单元中存放数据为0AAH,设堆栈指针为30H,把此数据值压入堆栈,然后再弹回到40H单元中。E_mail:zht_sir@126.comAuthor:Zhanghaitao20第3章MCS-51单片机指令系统二、算术运算类(24条)加、减、乘、除基本四则运算和增量(加1)、减量(减1)运算。助记符:ADD、ADDC、INC、DASUBB、DEC、MUL、DIV共8种操作助记符。E_mail:zht_sir@126.comAuthor:Zhanghaitao21第3章MCS-51单片机指令系统二、算术运算类(24条)1.不带进位的加法指令,影响P,OV,AC,CADDA,RnADDA,directADDA,@RiADDA,#data2.带进位的加法指令,影响P,OV,AC,CADDCA,RnADDCA,directADDCA,@RiADDCA,#data3.带借位的减法指令,影响P,OV,AC,CSUBBA,RnSUBBA,directSUBBA,@RiSUBBA,#dataE_mail:zht_sir@126.comAuthor:Zhanghaitao22第3章MCS-51单片机指令系统二、算术运算类(24条)4.增量指令,影响PINCAINCRnINCdirectINC@RiINCDPTR5.减量指令,影响PDECADECRnDECdirectDEC@RiE_mail:zht_sir@126.comAuthor:Zhanghaitao23第3章MCS-51单片机指令系统二、算术运算类(24条)4.十进制调整指令,影响P,AC,CDAA98H+62H=?99H+99H=?开始ACC.0~ACC.3大于9吗?AC=1?(A)+06H→AACC.4~ACC.7大于9吗?Cy=1?(A)+06H→A结束NNYNNYE_mail:zht_sir@126.comAuthor:Zhanghaitao24第3章MCS-51单片机指令系统二、算术运算类(24条)4.乘法指令MULAB,影响P,OV,C=0除法指令DIVAB,影响P,OV,C=0E_mail:zht_sir@126.comAuthor:Zhanghaitao25第3章MCS-51单片机指令系统应用举例:3.7、试编写计算1234H+0FE7H的程序,将和的高8位存入片内RAM41H,低8位存入40H。3.8、把上例中的加法运算改为减法,其他要求相同。3.9、编写17H*68H的程序,将乘积的高8位存入31H,低8位存入30H;E_mail:zht_sir@126.comAuthor:Zhanghaitao26第3章MCS-51单片机指令系统3.10、设被加数存入片内RAM30H~32H单元中,加数存入片内RAM40H~42H,低位在前,高位在后,各单元中均为压缩的BCD码。将结果之和分别存入50H~52H单元中。3.11设被减数存入片内RAM30H~32H单元中,减数存入片内RAM40H~42H单元中,低位对应低位地址,高位对应高位地址。其差值存入50H~52H单元中。E_mail:zht_sir@126.comAuthor:Zhanghaitao27第3章MCS-51单片机指令系统3.12编写十进制减法程序,被减数和减数均为压缩BCD码,分别存入R3、R4中,其差值也存入R3中。3.13、把R1R0和R3R2中的两个4位BCD码数相加,结果送R5R4中,如有进位存入进位位C中。E_mail:zht_sir@126.comAuthor:Zhanghaitao28第3章MCS-51单片机指令系统应用举例:课堂练习:1、将片内RAM40H和41H单元内容
本文标题:单片机原理及应用课件(第3讲)
链接地址:https://www.777doc.com/doc-4675326 .html