第3章 MCS-51 单片机的指系统.ppt
《第3章 MCS-51 单片机的指系统.ppt》由会员分享,可在线阅读,更多相关《第3章 MCS-51 单片机的指系统.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 MCS-51单片机的指令系统单片机的指令系统1 指令系统概述指令系统概述一、指令格式一条用助记符表示的汇编语言,一般由操作码和操作数两部分组成。操作码表示指令的功能,操作数表示指令的操作对象。例:LOOP:ADD A,#50H;执行加法 操作码 标号 目的操作数 源操作数 注释 在指令格式中方括号中的内容为可选项,不一定都有.二、指令字长和指令周期二、指令字长和指令周期指令字长是指存储这条指令所占的存储单元的个数。指令字长是指存储这条指令所占的存储单元的个数。指令字长有单字节、双字节和三字节三种。指令字长有单字节、双字节和三字节三种。例:例:RETRET;单字节指令;单字节指令 0
2、0100010 22H 00100010 22H 例:例:MOV AMOV A,#0FH#0FH;双字节指令;双字节指令 例:例:MOV 55HMOV 55H,#0AH#0AH;三字节指令;三字节指令 机器周期:机器周期:MCS-51MCS-51MCS-51MCS-51规定一个机器周期由规定一个机器周期由规定一个机器周期由规定一个机器周期由12121212振荡周期组振荡周期组振荡周期组振荡周期组成。成。成。成。T T机器周期机器周期机器周期机器周期=1/f1/f振荡振荡振荡振荡12指令字节数越多,所占存储单元越多,但指令周期并不指令字节数越多,所占存储单元越多,但指令周期并不与指令所占字节数成
3、比例。与指令所占字节数成比例。例:例:f=12MHZ T=1usf=12MHZ T=1us指令周期:执行一条指令所需的时间。指令周期:执行一条指令所需的时间。例:例:MUL ABMUL AB;乘法指令,是单字节指令,但指令;乘法指令,是单字节指令,但指令周期为周期为4 4个机器周期。个机器周期。凡以字母凡以字母A-FA-F开头的十六进制数均需加前导开头的十六进制数均需加前导0 0 2 2 寻址方式寻址方式寻址方式是指寻址方式是指CPUCPU寻找操作数或操作数地址的方法寻找操作数或操作数地址的方法一、直接寻址一、直接寻址指令中直接给出操作数所在的单元地址或位地址指令中直接给出操作数所在的单元地址
4、或位地址1 1、可访问的存储空间、可访问的存储空间1.1 1.1 内部内部RAMRAM低低128128单元(单元(00H-7FH00H-7FH)例:例:MOV AMOV A,0D0H0D0H;(D0HD0H)(A A)MOV AMOV A,PSWPSW;(PSWPSW)(A A)1.2 1.2 特殊功能寄存器区,可以以单元地址给出,也可用特殊功能寄存器区,可以以单元地址给出,也可用寄存器符号形式给出。(寄存器符号形式给出。(A A,ABAB,DPTRDPTR除外)除外)例:例:MOV AMOV A,70H70H;(70H70H)(A A)1.3 2111.3 211个位地址空间个位地址空间。内
5、内部部RAMRAM中可位寻址的中可位寻址的20H-2FH20H-2FH对应的对应的128128个位地址和个位地址和1111个个SFRSFR中中8383个可用的位地址空间个可用的位地址空间 例:例:MOV AMOV A,30H30H;30H30H是单元地址是单元地址 例:例:MOV CMOV C,30H30H;30H30H是位地址是位地址 二、立即寻址二、立即寻址 操作数为立即数。立即数前加操作数为立即数。立即数前加“#”#”,以区别地址,以区别地址例:例:MOV AMOV A,#7AH#7AH;7AH 7AH (A A)MOV DPTRMOV DPTR,#1234H#1234H;12H 12H
6、 (DPHDPH),),34H 34H (DPLDPL)三、寄存器寻址三、寄存器寻址操作数在寄存器中。操作数在寄存器中。寻址范围:寻址范围:1 1 四组工作寄存器四组工作寄存器R0-R7R0-R7共共3232个工作寄存器个工作寄存器 例:例:MOV AMOV A,R0R0;(;(R0R0)(A A)2 2 特殊功能寄存器中有:特殊功能寄存器中有:A A,ABAB,DPTRDPTR,CYCY寄存器寄存器B B只有在执行只有在执行乘除法乘除法指令时,才是寄存器寻指令时,才是寄存器寻址方式址方式四、寄存器间接寻址四、寄存器间接寻址间接寻址是由指令指定某一间接寻址是由指令指定某一寄存器的内容寄存器的内
7、容作为操作数的作为操作数的地址地址。该地址指定的单元内容作为被寻找的操作数。该地址指定的单元内容作为被寻找的操作数。MCS-51MCS-51用于间接寻址的寄存器有用于间接寻址的寄存器有R0R0、R1R1、堆栈指针、堆栈指针SPSP、数据指针数据指针DPTR DPTR 1 1、内部、内部RAMRAM低低128128单元,地址范围单元,地址范围00H-7FH00H-7FH,用,用RiRi(i=0i=0、1 1)和和SPSP作为间址寄存器作为间址寄存器例:例:(R0)=30H(R0)=30H,(30H)=20H(30H)=20H MOV A MOV A,R0R0;结果:(结果:(A A)=20H=2
8、0H;2 2 与与P2P2口配合,用口配合,用RiRi指示低指示低8 8位地址,可寻址片外数据位地址,可寻址片外数据存储器或存储器或I/OI/O的的64K64K区域区域 例:(例:(P2P2)=20H=20H,(,(R0)=10H,(2010H)=30H R0)=10H,(2010H)=30H MOVX A,MOVX A,R0;R0;结果:(结果:(A A)=30H =30H 3 DPTR 3 DPTR 间接寻址寄存器,可寻址片外程序存储器、数间接寻址寄存器,可寻址片外程序存储器、数据存储器、据存储器、I/OI/O的的64KB64KB区域区域.例:(例:(DPTRDPTR)=4000H=400
9、0H,(,(4000H4000H)=50H=50H MOVX A,MOVX A,DPTR;DPTR;结果:(结果:(A A)=50H =50H 寄存器间接寻址方式不能用于对特殊功能寄寄存器间接寻址方式不能用于对特殊功能寄存器区存器区SFRSFR的寻址的寻址 例:例:MOV R0MOV R0,#0F0H#0F0H;MOV AMOV A,R0R0;以上指令不能执行,因为以上指令不能执行,因为0F0H0F0H为特殊功能寄存器为特殊功能寄存器B B的单元地址,的单元地址,而对特殊功能寄存器只能直接寻址,而对特殊功能寄存器只能直接寻址,不能间接寻址。不能间接寻址。五五 基址加变址寄存器间接寻址(变址寻址
10、)基址加变址寄存器间接寻址(变址寻址)变址寻址是以数据指针变址寻址是以数据指针DPTRDPTR或程序指针或程序指针PCPC作为基址寄作为基址寄存器,以累加器存器,以累加器A A作为变址寄存器,并以两者内容相作为变址寄存器,并以两者内容相加形成新的加形成新的1616位地址作为操作数地址,再寻址该地址,位地址作为操作数地址,再寻址该地址,读取数据。读取数据。变址寻址指令:变址寻址指令:MOVC AMOVC A,A+PCA+PC MOVC AMOVC A,A+DPTR A+DPTR 37H 37H 例:(例:(A A)=50H=50H,PC=3F00HPC=3F00H,(,(3F51H3F51H)=
11、37H=37H MOVC A MOVC A,A+PC;A+PC;(A)=?(A)=?变址寻址方式只能对程序存储器进行寻址,因此变址寻址方式只能对程序存储器进行寻址,因此只能用于读取数据,而不能用于存放数据,它主只能用于读取数据,而不能用于存放数据,它主要用于查表性质的访问。要用于查表性质的访问。六六 相对寻址相对寻址 它以它以PCPC值加上指令中给出的相对偏移量(值加上指令中给出的相对偏移量(relrel)形成转形成转移地址。相对偏移量是一个带符号的移地址。相对偏移量是一个带符号的8 8位二进制数,以位二进制数,以补码形式出现。补码形式出现。相相对对转转移移指指令令满满足足条条件件后后,转转移
12、移的的地地址址(一一般般称称为为目目的地址)的地址)目的地址目的地址 =当前当前PCPC值值 +relrel =源地址源地址 +转移指令字节数转移指令字节数 +relrel例如:例如:JZ 08HJZ 08H 累累加加器器A A为为零零条条件件满满足足后后,从从源源地地址址(2050H2050H)分分别别向下、向下、向上转移向上转移1010个单元。个单元。例:例:relrel=75H,CY=1=75H,CY=12002H:JC 2002H:JC relrel;(;(如如CY=1CY=1,则跳转到,则跳转到PC+relPC+rel处去执行程序处去执行程序)结果结果:程序转向(程序转向(PCPC)
13、+2+rel=2002H+2+75H=2079H+2+rel=2002H+2+75H=2079H单元去执行单元去执行 相对寻址用于访问程序存储器,只出现在转移指相对寻址用于访问程序存储器,只出现在转移指令中。寻址不是寻找操作数的地址,而是要得到令中。寻址不是寻找操作数的地址,而是要得到程序跳转地址程序跳转地址PCPC值。值。七七 位寻址位寻址 1 1 位寻址范围:内部位寻址范围:内部RAMRAM的位寻址区,共的位寻址区,共1616个单元的个单元的128128位,单元地址为:位,单元地址为:20H-2FH20H-2FH,位地址为:,位地址为:00H-7FH00H-7FH ;特殊功能寄存器;特殊功
14、能寄存器SFRSFR可供位寻址的专用寄存器可供位寻址的专用寄存器1111个,个,实用位地址实用位地址8383位。位。2 2 位地址在指令中的位地址在指令中的4 4种表达方式种表达方式 2.1 2.1 直接使用位地址直接使用位地址 MOV CMOV C,0D6H0D6H;2.2 2.2 位名称表示法位名称表示法 MOV CMOV C,ACAC;2.3 2.3 单元地址加位的表示法单元地址加位的表示法 MOV CMOV C,0D0H.6;0D0H.6;2.4 2.4 专用寄存器符号加位的表示法专用寄存器符号加位的表示法 MOV CMOV C,PSW.6PSW.6 目的操作数寻址方式少,源操作数寻址
15、方式多。在指目的操作数寻址方式少,源操作数寻址方式多。在指目的操作数寻址方式少,源操作数寻址方式多。在指目的操作数寻址方式少,源操作数寻址方式多。在指令中一般说的寻址方式是指源操作数的寻址方式。令中一般说的寻址方式是指源操作数的寻址方式。令中一般说的寻址方式是指源操作数的寻址方式。令中一般说的寻址方式是指源操作数的寻址方式。表表31 7 种寻址方式及使用空间种寻址方式及使用空间 MCSMCS5151单单片片机机指指令令系系统统分分为为:数数据据传传送送类类指指令令、算算术术运运算算类类指指令令、逻逻辑辑运运算算及及移移位位类类指指令令、控控制制转转移移类类指指令令和和位位操操作作(布布尔尔操操
16、作作)指指令令5 5大大类类,共共计计111111条条指指令令。现现按按其其分分类类分分别别介介绍绍各各条条指指令令的的格格式式、功能、对状态标志的影响以及应用。功能、对状态标志的影响以及应用。3 MCS-513 MCS-51单片机指令系统单片机指令系统A A累加器。累加器。B B寄存器寄存器,用于用于MULMUL和和DIVDIV指令中。指令中。C C进位标志或进位位。进位标志或进位位。间间接接寻寻址址寄寄存存器器或或基基址址寄寄存存器器的的前前缀缀,如如 Ri,DPTRRi,DPTR。/位操作数的前缀位操作数的前缀,表示对该位取反。表示对该位取反。(X X)X X中的内容。中的内容。(X X
17、)由由X X寻址的单元中的内容。寻址的单元中的内容。箭头左边的内容被箭头右边的内容所代替。箭头左边的内容被箭头右边的内容所代替。RnRn寄存器区中的寄存器区中的8 8个工作寄存器个工作寄存器R0R0R7,R7,即即n=0n=07 7。RiRi寄存器区中的寄存器区中的2 2个寄存器个寄存器R0R0、R1,i=0R1,i=0、1 1。directdirect8 8位位内内部部RAMRAM单单元元的的地地址址,它它可可以以是是一一个个内内部数据区部数据区RAMRAM单元单元(00H(00H7FH)7FH)或特殊功能寄存器地址或特殊功能寄存器地址datadata指令中的指令中的8 8位常数。位常数。d
18、ata16data16指令中的指令中的1616位常数。位常数。addr16addr161616位位的的目目的的地地址址,用用于于LJMP,LJMP,LCALLLCALL指指令令,可指向可指向64KB64KB程序存储器地址空间。程序存储器地址空间。addr1111addr1111位位的的目目的的地地址址,用用于于AJMP,AJMP,ACALLACALL指指令令。目目的的地地址址必必须须与与下下一一条条指指令令的的第第一一个个字字节节在在同一个同一个2 KB2 KB程序存储器地址空间之内。程序存储器地址空间之内。relrel 8 8位位带带符符号号的的偏偏移移量量字字节节,用用于于SJMPSJMP
19、和和所所有有条条件件转转移移指指令令中中。偏偏移移量量相相对对于于下下一一条条指指令令的的第一个字节计算第一个字节计算,在在128128+127+127范围内取范围内取bitbit内内部部数数据据RAMRAM或或特特殊殊功功能能寄寄存存器器中中的的可可直直接接寻址位。寻址位。DPTRDPTR数据指针数据指针,可用作可用作 16 16 位的地址寄存器。位的地址寄存器。一一 数据传送指令数据传送指令 1 1 内部数据传送指令(内部数据传送指令(MOVMOV)指令格式:指令格式:MOV MOV 目的操作数目的操作数,指令的源操作数和目的操作数都在单片机内部。可以是指令的源操作数和目的操作数都在单片机
20、内部。可以是片内片内RAMRAM地址,也可以是特殊功能寄存器地址,也可以是特殊功能寄存器SFRSFR的地址的地址 指令的功能是把源操作数指定的字节变量复制到目的操指令的功能是把源操作数指定的字节变量复制到目的操作数所规定的单元或寄存器中,源字节不变。作数所规定的单元或寄存器中,源字节不变。1.1 1.1 立即数传送指令立即数传送指令 源操作数为立即数源操作数为立即数 八位立即数传送指令:八位立即数传送指令:MOV AMOV A,#DATA#DATA;DATADATA (A A)例:例:MOV AMOV A,#02H#02H;MOV MOV RnRn,#DATA#DATA;DATADATA (R
21、nRn)n=0-7n=0-7 例:例:MOV RMOV R3 3,#02H#02H;例:例:MOV 30HMOV 30H,#02H#02H;MOV MOV RiRi,#DATA#DATA;DATADATA ((RiRi))i=0i=0,1 1 例:例:MOV MOV R1R1,#02H#02H;MOV directMOV direct,#DATA#DATA;DATADATA (direct)direct)立即数的高八位送立即数的高八位送DPHDPH,低八位送,低八位送DPLDPL。例例:(:(R0R0)=30H=30H,求,求A A,R4R4,30H30H,31H31H的内容的内容 MOV A
22、MOV A,#10H#10H;MOV R4MOV R4,#36H#36H;MOV MOV R0R0,#7AH#7AH;MOV 31HMOV 31H,#01H#01H;结果:(结果:(A A)=10H=10H,(,(R4R4)=36H=36H,(,(30H30H)=7AH=7AH (31H31H)=01H =01H 1616位立即数传送指令位立即数传送指令MOV DPTRMOV DPTR,#DATA16#DATA16;例:例:MOV DPTRMOV DPTR,#2500H#2500H;结果:(结果:(DPTRDPTR)=2500H=2500H,(,(DPHDPH)=25H=25H,(,(DPLD
23、PL)=00H=00H1.2 1.2 内部数据存储器与累加器内部数据存储器与累加器A A之间传送数据之间传送数据 MOV AMOV A,Rn;(RnRn;(Rn)()(A),nA),n=0-7=0-7 MOV MOV RnRn,A;(A)(A;(A)(Rn),nRn),n=0-7=0-7 MOV AMOV A,RiRi;((RiRi))(A),iA),i=0,1=0,1 MOV MOV RiRi,A;A;(A A)((RiRi)),i=0,1,i=0,1 MOV AMOV A,direct;direct;(directdirect)(A),(A),MOV directMOV direct,A;
24、(A)A;(A)(direct),direct),例例:(A)=40H,(40H)=42H:(A)=40H,(40H)=42HMOV R0,A;MOV R0,A;MOV A,MOV A,R0R0 ;MOV 30HMOV 30H,A A;求(求(30H30H)=?(R0R0)=40H =40H (A A)=42H=42H(30H30H)=42H =42H MOV directMOV direct,Rn;(RnRn;(Rn)()(direct),ndirect),n=0-7=0-7 MOV MOV RnRn,direct;(directdirect;(direct)()(Rn),nRn),n=0-
25、7=0-7 MOV directMOV direct,RiRi;((RiRi))(direct),idirect),i=0,1=0,1 MOV MOV RiRi,direct;direct;(directdirect)((RiRi)),i=0,1,i=0,1 MOV direct2MOV direct2,direct1;direct1;(direct1direct1)(direct2),(direct2),1.3 1.3 内部内部RAMRAM中中Rn,SFRRn,SFR与片内与片内RAMRAM之间的数据传送之间的数据传送 例:设内部例:设内部RAMRAM中中30H30H单元的内容为单元的内容为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 MCS-51 单片机的指系统 MCS 51 单片机 系统
限制150内