第章MCS单片机指令系统.ppt
《第章MCS单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《第章MCS单片机指令系统.ppt(50页珍藏版)》请在三一办公上搜索。
1、第3章 MCS-51单片机指令系统,第3章 MCS-51单片机指令系统,第3章 MCS-51单片机指令系统,第3章 MCS-51单片机指令系统,熟练地使用MCS-51单片机指令编制一些简单的程序,3.1汇编语言的格式,机器语言、汇编语言和高级语言汇编语言是面向机器的程序设计语言 是用助记符来表示机器指令的程序设计语言语句格式:标号:操作码 操作数;注释,以字母开始的18个字母或数字串组成,以冒号结尾,指令或伪指令的助记符,规定指令的操作功能,必不可少,指令操作的对象,给出参加操作的数据或数据的地址。0-3个,增加程序的可读性,第3章 MCS-51单片机指令系统,单字节指令 操作码、操作数 同在
2、一个字节中 双字节指令 由两个字节组成:操作码+操作数(或操作数所在的地址)操作数可以是立即数、直接地址和寄存器等。三字节指令 由三个字节组成:操作码+操作数+操作数,第3章 MCS-51单片机指令系统,MCS-51单片机的指令格式按字节长度可分为,无操作数的单字节指令 含有寄存器编号的单字节指令,3.2 寻址方式,第3章 MCS-51单片机指令系统,寻址方式就是在指令中说明操作数所在地址的方法寻址方式所要解决的主要问题:如何在整个存储器和寄存器的寻址空间内快速地找到指定的地址单元。共7种寻址方式:立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 基寄存器加变址寄存器间接寻址 相对寻址 位寻址,
3、第3章 MCS-51单片机指令系统,立即寻址,寄存器寻址,MOV A,#3FH,MOV A,30H,MOV A,R6,第3章 MCS-51单片机指令系统,寄存器间接寻址,变址寻址,相对寻址,MOV A,R0,MOVC A,A+DPTR,JZ 08HJZ 0F4H,第3章 MCS-51单片机指令系统,MOV C,30H,指令中可以对数据位进行操作,即在指令中可以直接使用位地址。位寻址的寻址范围包括:内部RAM中的位寻址区在内部RAM中,20H2FH这16存储单元共有128位,位地址范围是00H7FH。位寻址区中的位有两种表示方法,一种是直接给出位地址;另一种是单元地址加上位数,例如(24H).3
4、。特殊功能寄存器中的可寻址位在特殊功能寄存器中有11个寄存器可进行位寻址,其中有5个数据位不可以位寻址,实际可寻址位有83个。这些可寻址位在指令中有如下4种表示方法:直接使用位地址。例如PSW寄存器的位2的位地址是0D2H。使用位的符号。例如PSW寄存器的位5,可使用F0表示。单元地址加位数。例如累加器A的单元地址为E0H,A的位3可用(E0H).3表示。单元符号加位数。例如B寄存器的位3可用B.3表示。,位寻址,7种寻址方式总结,MCS-51的基本指令共111条按指令所占的字节来分(1)单字节指令49条;(2)双字节指令45条;(3)三字节指令17条。按指令的执行时间来分:(1)1个机器周期
5、(12个时钟振荡周期)指令64条(2)2个机器周期(24个时钟振荡周期)指令45条(3)4个机器周期(48个时钟振荡周期)乘、除两条指令 12MHz晶振:机器周期为,3.3 指令系统,?,指令分类,第3章 MCS-51单片机指令系统,按指令的功能,MCS-51指令系统可分为下列五类:1.数据传送类(28条)2.算术运算类(24条)3.逻辑操作类(25条)4.位操作类(17条)5.控制转移类(17条),第3章 MCS-51单片机指令系统,指令符号的意义 Rn 当前工作寄存器区中的工作寄存器R0 R7,n=07 Ri 当前寄存器区中可作间接寻址寄存器的2个寄存器 R0、R1(i=0,1),间接寻址
6、的RAM单元(0255)direct 直接地址,即8位的内部RAM或特殊功能寄存器地址#data 指令中的8位立即数#data16指令中的16位立即数addr16 16位目标地址,用于LCALL和LJMP指令addr11 11位目标地址,用于ACALL和AJMP指令,第3章 MCS-51单片机指令系统,rel 相对转移指令中的偏移量,为8位的带符号补码数DPTR 数据指针,用作16位的数据地址寄存器 A 累加器 B 特殊功能寄存器,专用于乘(MUL)和除(DIV)指令 C(或Cy)进位标志或位累加器 bit 内部数据RAM或特殊功能寄存器中的直接寻址位 间接寻址寄存器前缀(X)X中的内容(X)
7、由X寻址的单元内容 位取反 箭头右边的内容被箭头左边的内容所取代,数据传送类指令,第3章 MCS-51单片机指令系统,数据传送指令一般的操作是把源操作数传送到指令所指定的目标地址,指令执行后,源操作数不变,目的操作数被源操作数所代替。,第3章 MCS-51单片机指令系统,1.内部数据存储器间数据传送指令,MOV,,A、Rn、Ri、direct#dataDPTR#data16A Rn、Ri、directdirect direct、Rn、Ri,该指令能实现内部RAM之间、特殊功能寄存器之间或特殊功能寄存器与内部RAM直接数据传送,第3章 MCS-51单片机指令系统,1.内部数据存储器间数据传送指令
8、,以累加器为目的操作数的指令MOVA,Rn;(Rn)A,n=07MOVA,Ri;(Ri)A i=0,1MOVA,direct;(direct)AMOVA,#data;#dataA,以Rn为目的操作数的指令MOV Rn,A;(A)Rn,n=07MOV Rn,direct;(direct)Rn,n=07MOV Rn,#data;#dataRn,n=07,第3章 MCS-51单片机指令系统,1.内部数据存储器间数据传送指令,以寄存器间接地址为目的操作数的指令MOVRi,A;(A)(Ri),i=0,1MOVRi,direct;(direct)(Ri),i=0,1MOVRi,#data;#data(Ri
9、),i=0,1,以直接地址direct为目的操作数的指令MOV direct,A;(A)directMOV direct,Rn;(Rn)direct,n=07MOV direct1,direct2;(direct2)direct1MOV direct,Ri;(Ri)direct,i=0,1MOV direct,#data;#datadirect,16位数传送指令MOVDPTR,#data16;#data16DPTR,第3章 MCS-51单片机指令系统,2.外部数据存储器数据传送指令 由DPTR内容指示外部数据存储器地址 MOVX A,DPTR;(A)(DPTR),E0 MOVX DPTR,A;
10、(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 MOVX A,DPTR;(A)(DPTR),E0 MOV 30H,A;(30H)(A),F5 30 MOV A,0FH;(A)0FH,74 0F MOVX DPTR,A;(DPTR)(A),F0 执行结果为:(DPTR)=0203H,(30H)=FFH,(0203H)=(A)=0FH。,MOVX,,第
11、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)=30H,执行指令:地址 指令 1000H MOVC A,A+PC结果为程序存储器中1031H单元的内容送入A。【例 3-3】设(DPTR)=8100H,(A)=30H,执行指令 MOVC A,ADPTR结果为程序存储器中8130H单元的内容送入累加器A。,MOVC,,第3章 MC
12、S-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)半字节交换指令将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
13、)结果:(A)=08H,(R7)=80H,第3章 MCS-51单片机指令系统,5.栈操作指令堆栈指针SP指出堆栈的栈顶位置(1)进栈指令指令功能是首先将栈指针SP的内容加1,然后把直接地址指出的单元内容传送到栈指针SP所指的内部RAM单元中。PUSH direct;SP(SP)+1,(SP)(direct)(2)出栈指令指令功能是栈指针SP所指的内部RAM单元内容送入直接地址指出的字节单元中,栈指针SP的内容减1。POP direct;direct(SP)SP(SP)-1,第3章 MCS-51单片机指令系统,【例 3-5】设(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:P
14、USH 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(SP)-1 POP DPL;DPL(SP),SP(SP)-1 结果:(DPTR)=7030H,(SP)=60H【例 3-7】设片内RAM 60H单元中存放的数值为86H,堆栈指针为30H,把此数值压入堆栈,然后再弹出到50H单元中。MOV SP,#30H;SP 30H PUSH 60
15、H;SP(SP)+1,(31H)(60H)POP 50H;(50H)(31H),SP(SP)-1 结果:(50H)=86H,(SP)=30H执行POP direct指令不影响标志,但当直接地址为PSW时,可以使一些标志改变,这也是通过指令强行修改标志的一种方法。,算术运算类指令,第3章 MCS-51单片机指令系统,单字节加、减、乘、除法指令,是针对8位二进制无符号数;执行结果将影响进位CY、辅助进位AC、溢出标志位OV;但增1和减1指令不影响上述标志;对于特殊功能寄存器,字节地址D0H或位地址D0HD7H进行操作将影响标志。,PSW,第3章 MCS-51单片机指令系统,1.加法指令 ADD A
16、,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【例 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
17、.带进位减法指令 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指令 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
18、)=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,(30H)=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结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 单片机 指令系统

链接地址:https://www.31ppt.com/p-5285247.html