【教学课件】第3章MCS-51单片机指令系统.ppt
《【教学课件】第3章MCS-51单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章MCS-51单片机指令系统.ppt(58页珍藏版)》请在三一办公上搜索。
1、第3章 MCS-51单片机指令系统,3.1 MCS-51指令系统的分类、格式及一般说明3.2 寻址方式3.3 分类指令,MCS-51单片机指令系统有如下特点:,(1)指令执行时间快。(2)指令短,约有一半的指令为单字节指令。(3)用一条指令即可实现2个一字节的相乘或相除。(4)具有丰富的位操作指令。(5)可直接用传送指令实现端口的输入输出操作。,3.1 MCS-51指令系统的分类、格式及一般说明,3.1.1 指令分类3.1.2 指令格式3.1.3 指令描述符号介绍,返回本章首页,3.1.1 指令分类,按指令功能,MCS-51指令系统分为数据传递与交换、算术运算、逻辑运算、程序转移、布尔处理操作
2、、CPU控制等6类。布尔处理操作类指令又称位操作指令。,返回本节,3.1.2 指令格式,在MCS-51指令中,一般指令主要由操作码、操作数组成。指令应具有以下功能:(1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。(2)操作数指明操作的数本身或者是操作数所在的地址。(3)指定操作结果存放的地址。,返回本节,3.1.3 指令描述符号介绍,Rn当前选中的寄存器区中的8个工作寄存器R0R7(n=07)。Ri当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。direct8位的内部数据存储器单元中的地址。#data包含在指令中的8位常数。#data16包含在指令中的16
3、位常数。addr1616位目的地址。addr1111位目的地址。,rel8位带符号的偏移字节,简称偏移量。DPTR数据指针,可用作16位地址寄存器。bit内部RAM或专用寄存器中的直接寻址位。A累加器。B专用寄存器,用于乘法和除法指令中。C进位标志或进位位,或布尔处理机中的累加器。,间址寄存器或基址寄存器的前缀,如Ri,DPTR。/位操作数的前缀,表示对该位操作数取反,如/bit。片内RAM的直接地址或寄存器。()由寻址的单元中的内容。箭头左边的内容被箭头右边的内容所代替。,返回本节,3.2 寻址方式,3.2.1 立即寻址3.2.2 直接寻址3.2.3 寄存器寻址3.2.4 寄存器间接寻址3.
4、2.5 变址寻址3.2.6 相对寻址3.2.7 位寻址,返回本章首页,3.2.1 立即寻址,指令中直接给出操作数的寻址方式。立即操作数用前面加有#号的8位或16位数来表示。例如:MOVA,#60H;A#60H MOVDPTR,#3400H;DPTR#3400HMOV30H,#40H;30H单元#40H 上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。,返回本节,3.2.2 直接寻址,指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。例如:MOVPSW,#20H;PSW#20H PS
5、W为直接寻址寄存器的符号地址。MOVA,30H;A30H内部RAM单元中的内容30H为直接给出的内部RAM的地址。,返回本节,3.2.3 寄存器寻址,以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B、DPTR以及R0R7。例如:CLR A;A0 INC DPTR;DPTRDPTR+1 ADDR5,#20H;R5#20H+R5,返回本节,3.2.4 寄存器间接寻址,以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。间接寻址的存储器空间包括内部数据RAM和外部数据RAM。能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。SP仅用于堆
6、栈操作。,例如:MOV R0,A;内部RAM(R0)A其指令操作过程示意图如图3-1所示。又如:MOVX A,R1;A外部RAM(P2R1)其指令操作过程示意图如图3-2所示。再如:MOVX DPTR,A;外部RAM(DPTR)A 其指令操作过程示意图如图3-3所示。,图3-1 MOV R0,A间接寻址示意图,图3-2 MOVX A,R1间接寻址示意图,图3-3 MOVX DPTR,A间接寻址示意图,返回本节,3.2.5 变址寻址,变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式(如图3-4所示)。例如:MOVC
7、A,A+DPTR;A(A+DPTR)又如,MOVC A,A+PC;A(A+PC)这条指令与上条指令不同的是,基址寄存器是PC。,图3-4 变址寻址示意图,返回本节,3.2.6 相对寻址,以当前程序计数器PC的内容为基础,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式。相对寻址用于修改PC值,主要用于实现程序的分支转移。例如,SJMP 08H;PCPC+2+08H 指令操作示意图如图3-5所示。,图3-5 相对寻址示意图,返回本节,3.2.7 位寻址,位寻址只能对有位地址的单元作位寻址操作。位寻址其实是一种直接寻址方式,不过其地址是位地址。例如:SETB 10H;将10H位置1若2
8、2H单元中存放着数据40H,22H单元的D0位的位地址为10H,执行上述指令后(22H)=41H。又如:MOV 32H,C;32H进位位C ORL C,32H;CC32H,返回本节,3.3 分类指令,3.3.1 数据传送类指令3.3.2 算术运算类指令3.3.3 逻辑运算与循环类指令3.3.4 程序转移类指令3.3.5 调用子程序及返回指令3.3.6 位操作指令3.3.7 空操作指令,返回本章首页,3.3.1 数据传送类指令,数据传送类指令共28条,是将源操作数送到目的操作数。指令执行后,源操作数不变,目的操作数被源操作数取代。数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、X
9、CHD、SWAP、PUSH、POP8种。源操作数可采用寄存器、寄存器间接、直接、立即、变址5种寻址方式寻址,目的操作数可以采用寄存器、寄存器间接、直接寻址3种寻址方式。MCS-51单片机片内数据传送途径如图3-6所示。,图3-6 MCS-51单片机片内数据传送图,1以A为目的操作数,MOV A,Rn;A RnMOV A,direct;A(direct)MOV A,Ri;A(Ri)MOV A,#data;A#data,2以Rn为目的操作数,MOV Rn,A;Rn AMOV Rn,direct;Rn(direct)MOV Rn,#data;Rn#data,3以直接地址为目的操作数,MOV Ri,A
10、;(Ri)AMOV Ri,direct;(Ri)(direct)MOV Ri,#data;(Ri)#data,4以间接地址为目的操作数,MOV Ri,A;(Ri)AMOV Ri,direct;(Ri)(direct)MOV Ri,#data;(Ri)#data例如:设(30H)=6FH,R1=40H,执行MOV R1,30H后,30H单元中数据取出送入R1间接寻址的40H单元,(40H)=6FH。,5以DPTR为目的操作数,MOV DPTR,#data16;DPTR#data16例如执行 MOV DPTR,#2000H 后,(DPTR)=2000H。,6访问外部数据RAM,MOVX A,DPT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 MCS 51 单片机 指令系统
链接地址:https://www.31ppt.com/p-5658503.html