第3章MCS51单片机指令系统.ppt
《第3章MCS51单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《第3章MCS51单片机指令系统.ppt(46页珍藏版)》请在三一办公上搜索。
1、【学习目的和要求】了解MCS-51单片机的汇编指令格式、指令的分类和寻址方式;掌握指令的含义、功能和用途;掌握MCS-51汇编语言编程的基本方法;熟练地使用MCS-51单片机指令编制一些简单的程序。,第3章 MCS-51单片机指令系统,第3章 MCS-51单片机指令系统,3.1汇编语言的格式,计算机工作的基本原理是存储程序并执行程序,而程序则由能实现某种功能的指令序列构成。编写程序时使用的程序设计语言有三种:机器语言、汇编语言和高级语言汇编语言是用助记符来表示机器指令的一种程序设计语言 其语句格式如下:标号:操作码 操作数;注释 操作码:规定指令进行什么操作 操作数:指令操作的对象,单字节指令
2、 操作码、操作数 同在一个字节中 双字节指令 由两个字节组成:操作码+操作数(或操作数所在的地址)操作数可以是立即数、直接地址和寄存器等。三字节指令 由三个字节组成:操作码+操作数+操作数,第3章 MCS-51单片机指令系统,MCS-51单片机的指令格式按字节长度可分为,无操作数的单字节指令 含有寄存器编号的单字节指令,3.2 寻址方式,第3章 MCS-51单片机指令系统,寻址方式就是在指令中说明操作数所在地址的方法共7种寻址方式:立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 基寄存器加变址寄存器间接寻址 相对寻址 位寻址,第3章 MCS-51单片机指令系统,立即寻址,直接寻址,寄存器寻址,
3、第3章 MCS-51单片机指令系统,寄存器间接寻址,变址寻址,相对寻址,MCS-51的基本指令共111条,按指令所占的字节来分(1)单字节指令49条;(2)双字节指令45条;(3)三字节指令17条。按指令的执行时间来分:(1)1个机器周期(12个时钟振荡周期)指令64条(2)2个机器周期(24个时钟振荡周期)指令45条(3)4个机器周期(48个时钟振荡周期)乘、除两条指令 12MHz晶振:机器周期为1s,3.3 指令系统,3.3.1指令分类,第3章 MCS-51单片机指令系统,按指令的功能,MCS-51指令系统可分为下列五类:1.数据传送类(28条)2.算术运算类(24条)3.逻辑操作类(25
4、条)4.位操作类(17条)5.控制转移类(17条),第3章 MCS-51单片机指令系统,在分类介绍之前,先描述一下指令符号的意义 Rn 当前工作寄存器区中的工作寄存器R0 R7,n=07 Ri 当前寄存器区中可作间接寻址寄存器的2个寄存器 R0、R1(i=0,1),间接寻址的RAM单元(0255)direct 直接地址,即8位的内部RAM或特殊功能寄存器地址#data 指令中的8位立即数#data16指令中的16位立即数addr16 16位目标地址,用于LCALL和LJMP指令addr11 11位目标地址,用于ACALL和AJMP指令,第3章 MCS-51单片机指令系统,rel 相对转移指令中
5、的偏移量,为8位的带符号补码数DPTR 数据指针,用作16位的数据地址寄存器 A 累加器 B 特殊功能寄存器,专用于乘(MUL)和除(DIV)指令 C(或Cy)进位标志或位累加器 bit 内部数据RAM或特殊功能寄存器中的直接寻址位 间接寻址寄存器前缀(X)X中的内容(X)由X寻址的单元内容 位取反 箭头右边的内容被箭头左边的内容所取代,3.3.2数据传送类指令,第3章 MCS-51单片机指令系统,数据传送指令一般的操作是把源操作数传送到指令所指定的目标地址,指令执行后,源操作数不变,目的操作数被源操作数所代替。,第3章 MCS-51单片机指令系统,1.内部数据存储器间数据传送指令,立即寻址,
6、MOV,,操作码助记符 目的操作数 源操作数 功能注释 机器代码(H)MOV A,data;(A)data 74 data MOV direct,data;(direct)data 75 direct data MOV Ri,data;(Ri)data 7677 data MOV Rn,data;(Rn)data 787F data MOV DPTR,data16;(DPTR)data16 90 data15-data0,该指令能实现内部RAM之间、特殊功能寄存器之间或特殊功能寄存器与内部RAM直接数据传送,(2)寄存器寻址 MOV direct,A;(direct)(A),F5 direct
7、 MOV Ri,A;(Ri)(A),F6F7 MOV Rn,A;(Rn)(A),F8FF MOV A,Rn;(A)(Rn),E8EF MOV direct,Rn;(direct)(Rn),888F direct(3)直接寻址 MOV A,direct;(A)(direct),E5 direct MOV Rn,direct;(Rn)(direct),A8AF direct MOV Ri,direct;(Ri)(direct),A6A7 direct MOVdirect2,direct1;(direct2)(direct1),85direct1 direct2(4)寄存器间接寻址 MOV A,Ri
8、;(A)(Ri),E6E7 MOV direct,Ri;(direct)(Ri),8687 direct,第3章 MCS-51单片机指令系统,2.外部数据存储器数据传送指令 由DPTR内容指示外部数据存储器地址 MOVX A,DPTR;(A)(DPTR),E0 MOVX DPTR,A;(DPTR)(A),F0 由Ri内容指示外部数据存储器地址 MOVX A,Ri;(A)(Ri),E2E3 MOVX Ri,A;(Ri)(A),F2F3【例 3-1】设外部RAM(0203H)=FFH,分析以下指令执行后的结果。MOV DPTR,0203H;(DPTR)0203H,90 02 03 MOVXA,DP
9、TR;(A)(DPTR),E0 MOV 30H,A;(30H)(A),F5 30 MOV A,0FH;(A)0FH,74 0F MOVXDPTR,A;(DPTR)(A),F0 执行结果为:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH。,MOVX,,第3章 MCS-51单片机指令系统,3.程序存储器向累加器A传送数据指令采用变址寻址方式,把程序存储器(ROM或EPROM)中存放的表格数据读出,传送到累加器A。MOVC A,A+DPTR;(A)(A)+(DPTR),93 MOVC A,A+PC;(PC)(PC)+1,(A)(A)+(PC),83【例 3-2】设(A)
10、=30H,执行指令:地址 指令 1000H MOVC A,A+PC结果为程序存储器中1031H单元的内容送入A。【例 3-3】设(DPTR)=8100H,(A)=30H,执行指令 MOVC A,ADPTR结果为程序存储器中8130H单元的内容送入累加器A。,MOVC,,第3章 MCS-51单片机指令系统,4.数据交换指令(1)字节交换指令将累加器A和源操作数内容相互交换。源操作数有寄存器寻址、直接寻址和寄存器间接寻址等。XCH A,direct;(A)(direct),C5 directXCH A,Ri;(A)(Ri)i=0,1,C6C7XCH A,Rn;(A)(Rn)n=07,C8CF(2)
11、半字节交换指令将A的低4位和R0或R1指出的RAM单元低4位相互交换,各自的高4位不变。XCHD A,Ri;(A30)(Ri)30)i=0,1,D6D7SWAP A;(A74)(A30),C4【例 3-4】设(A)=80H,(R7)=08H,执行指令:XCH A,R7;(A)(R7)结果:(A)=08H,(R7)=80H,第3章 MCS-51单片机指令系统,5.栈操作指令堆栈指针SP指出堆栈的栈顶位置(1)进栈指令指令功能是首先将栈指针SP的内容加1,然后把直接地址指出的单元内容传送到栈指针SP所指的内部RAM单元中。PUSH direct;SP(SP)+1,(SP)(direct)(2)出栈
12、指令指令功能是栈指针SP所指的内部RAM单元内容送入直接地址指出的字节单元中,栈指针SP的内容减1。POP direct;direct(SP)SP(SP)-1,第3章 MCS-51单片机指令系统,【例 3-5】设(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:PUSH ACC;SP(SP)+1,即SP 61H,61H 30H PUSH B;SP(SP)+1,即SP 62H,62H 70H 结果:(61H)=30H,(62)=70H,(SP)=62H【例 3-6】设(SP)=62H,(62H)=70H,(61H)=30H,执行下列指令:POP DPH;DPH(SP),SP(S
13、P)-1POP DPL;DPL(SP),SP(SP)-1结果:(DPTR)=7030H,(SP)=60H执行POP direct指令不影响标志,但当直接地址为PSW时,可以使一些标志改变,这也是通过指令强行修改标志的一种方法。【例 3-7】设已把PSW的内容压入栈顶,用下列指令修改PSW内容使FO,RS1,RS0均为1,最后用出栈指令把内容送回程序状态字PSW,实现对PSW内容的修改。MOV R0,SP;取栈指针ORL R0,#38H;修改栈顶内容POP PSW;修改PSW,3.3.3 算术运算类指令,第3章 MCS-51单片机指令系统,单字节加、减、乘、除法指令,是针对8位二进制无符号数;执
14、行结果将影响进位CY、辅助进位AC、溢出标志位OV;但增1和减1指令不影响上述标志;对于特殊功能寄存器,字节地址D0H或位地址D0HD7H进行操作将影响标志。,第3章 MCS-51单片机指令系统,1.加法指令 ADD A,Rn n=07 ADD A,direct ADD A,Ri i=0,1 ADD A,#data【例 3-8】设(A)=85H,(R0)=20H,(20H)=0AFH,执行指令:ADD A,R0 结果:(A)=34H;CY=1,AC=1,OV=12.带进位加法指令 ADDC A,Rn n=07 ADDC A,direct ADDC A,Ri i=0,1 ADDC A,#data
15、【例 3-9】设(A)=85H,(20H)=OFFH,CY=1,执行指令:ADDC A,20H 结果:(A)=85H;CY=1,AC=1,OV=0 P=1(A中1 的位数 为奇数),第3章 MCS-51单片机指令系统,3.带进位减法指令 SUBB A,Rn n=07 SUBB A,direct SUBB A,Ri i=0,1 SUBB A,#data 注意如果位7有借位,则CY置位,否则CY清“0”;如果位3有借位,则AC置位,否则AC清“0”;如果位6有借位而位7没有借位或者位7有借位而位6没有借位则溢出标志OV置位,否则溢出标志清“0”。,第3章 MCS-51单片机指令系统,4.增1指令
16、INC A INC Rn n=07 INC direct INC Ri i=0,1 INC DPTR【例 3-10】设(A)=0FFH,(R3)=0FH,(40H)=0F0H(R0)=30H,(30H)=00H,执行下列指令:INC A;A(A)+1 INC R3;R3(R3)+1 INC 40H;40H(40H)+1 INC R0;(R0)(R0)+1结果:(A)=00H,(R3)=10H,(40H)=F1H,(30H)=01H,PSW不变。5.减1指令 DEC A DEC Rn n=07 DEC direct DEC Ri i=0,1【例 3-11】设(A)=0FH,(R7)=19H,(3
17、0H)=00H,(R1)=31H,(31H)=0FFH,执行指令:DEC A;A(A)-1 DEC R7;R7(R7)-1 DEC 30H;30H(30H)-1 DEC R1;(R1)(R1)-1结果:(A)=0EH,(R7)=18H,(30H)=0FFH,(31H)=0FEH,不影响标志。,第3章 MCS-51单片机指令系统,6.乘法指令 MUL AB【例 3-12】设(A)=50H,(B)=0A0H,执行指令:MUL AB 结果:(B)=32H,(A)=00H(即积为3200H)。CY=0,OV=1。7.除法指令 DIV AB【例 3-13】设(A)=0FBH,(B)=12H,执行指令。D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 指令系统
链接地址:https://www.31ppt.com/p-6617836.html