湖南工大单片机辅助课件第3章MCS-51系列单片机的指令系统.ppt
《湖南工大单片机辅助课件第3章MCS-51系列单片机的指令系统.ppt》由会员分享,可在线阅读,更多相关《湖南工大单片机辅助课件第3章MCS-51系列单片机的指令系统.ppt(125页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 MCS-51单片机指令系统单片机指令系统本章内容本章内容寻址方式 指令的分类、格式及符号说明 分类指令掌握MCS-51指令系统的各种寻址方式掌握每条指令的格式、功能及用法掌握指令的操作过程中操作数的变化情况以及对标志位的影响。学会正确选用指令完成简单的任务学习目的学习目的MCS-51指令系统共有255种操作代码,用汇编语言表达时,只需熟记42种助记符就能表示33种指令功能共111条指令。3.1 寻址方式寻址方式 MCS-51的指令系统共用了七种寻的指令系统共用了七种寻址方式。址方式。3.1.1寄存器寻址以寄存器的内容为操作数的寻址方式。可进行寄存器寻址的寄存器有:工作寄存器R0R7、A
2、、B、DPTR和进位CY。MOV A,R0 ;A R0例如例如:R0(35H)A结果结果A=35H 指令码中直接含有所需的操指令码中直接含有所需的操作数,操作数字前加作数,操作数字前加“#”符号为符号为前缀。以区别直接地址。使用时一前缀。以区别直接地址。使用时一定要注意!定要注意!立即寻址立即寻址 特点特点功能:功能:功能:功能:(1 1)将片内将片内将片内将片内RAMRAM中中中中4444HH单元单元单元单元 的内容送累加器的内容送累加器的内容送累加器的内容送累加器A A,属于直属于直属于直属于直 接寻址;接寻址;接寻址;接寻址;(2 2 2 2)则是把则是把则是把则是把4444HH这个数本
3、这个数本这个数本这个数本 身送到累加器身送到累加器身送到累加器身送到累加器A A,属于立即寻址。属于立即寻址。属于立即寻址。属于立即寻址。(1)MOV A,44H ;A (44H)(2)MOV A,#44H ;A 44H例例 直接寻址指令的指令码中含有操作数地址。可用于访问可用于访问程序存储器程序存储器,也可用,也可用于访问于访问数据存储器数据存储器。直接寻址功能:将片内将片内RAMRAM56H56H单元中的内容单元中的内容3434H H送到累加器送到累加器A A中。中。如左图如左图3.13.1例:例:例:例:MOVA,56H;A(56H)机器码:E55634H片内RAM34H累加器A56H
4、图3.1 指令传递 3.1.4寄存器间接寻址指令指定寄存器中的内容为操作数的地址。工作寄存器R0、R1和专用寄存器DPTR可用于间接寻址,在寄存器前加“”符号作前缀。MOVA,R0;AR0MOVA,R0;A(R0)例如:R065H,65H26H如图3.2所示,所示,执行结果A65H,执行结果A26H。注意:是它区别寄存器寻址的标志。26H片内RAMA65H图3.2R065H3.1.5相对寻址相相对对寻寻址址是是将将程程序序计计数数器器PC中中的的当当前前内内容容与与指指令令第第二二字字节节所所给给出出的的数数相加,其和为跳指令的转移地址。相加,其和为跳指令的转移地址。2000200080268
5、026HHSJMPSJMPrelrel;PC PC+2+relPC PC+2+rel程序存储器A图3-3 指令过程PC 26H0000H2000H2001H80H26H2028H02H20H A L U2002H例例3.1.6变址寻址以DPTR和PC基址寄存器和累加器A变址寄存器的内容和为地址,寻址该地址单元,读取数据。(1)MOVCA,APC;A(APC)(2)MOVCA,ADPTR;A(ADPTR)执执执执行行行行第第第第一一一一条条条条时时时时先先先先使使使使当当当当前前前前PCPC值值值值加加加加1 1,然然然然后后后后把把把把这这这这个个个个加加加加1 1后后后后的的的的PCPC值值
6、值值和和和和累累累累加加加加器器器器A A中中中中的的的的偏偏偏偏移移移移量量量量相相相相加加加加,作作作作为为为为操操操操作作作作数数数数地地地地址址址址,从从从从该该该该地地地地址址址址中中中中取取取取出出出出操操操操作作作作数数数数送送送送入入入入A A中。第二条过程与第一条指令类似,例如:中。第二条过程与第一条指令类似,例如:中。第二条过程与第一条指令类似,例如:中。第二条过程与第一条指令类似,例如:已已已已知知知知:片片片片外外外外ROMROM的的的的20062006HH单单单单元元元元中中中中有有有有一一一一数数数数3434HH,编编编编写写写写程程程程序序序序用用用用变变变变址址
7、址址寻寻寻寻址址址址方方方方法法法法把把把把这这这这个个个个数数数数送送送送入入入入A A中中中中,试试试试进进进进行分析。行分析。行分析。行分析。解解解解:根根根根据据据据题题题题目目目目要要要要求求求求,基基基基址址址址可可可可定定定定为为为为20002000HH,地地地地址偏移量则为址偏移量则为址偏移量则为址偏移量则为0606HH,程序如下:程序如下:程序如下:程序如下:MOVDPTR,2000H ;DPTR2000HMOVCA,ADPTR;A34HMOVA,06H ;A06H例例3.1程序存储器A图3.4DPTR2006H0000H34H2006H00HA L U 如图如图如图如图3.
8、43.4所示所示所示所示,这里这里这里这里A A具有双重作用,在具有双重作用,在具有双重作用,在具有双重作用,在指令执行前用来存放地址偏移量,指令执行指令执行前用来存放地址偏移量,指令执行指令执行前用来存放地址偏移量,指令执行指令执行前用来存放地址偏移量,指令执行后为目的操作数。后为目的操作数。后为目的操作数。后为目的操作数。3.1.7位寻址当当我我们们把把八八位位二二进进制制数数中中某某一一位位作作为为操操作作数数看看待待时时,这这个个操操作作数数的的地地址址就就称称为为位位地地址址,对对位位地地址址寻寻址址简简称称位位寻寻址。址。MOV 30H MOV 30H,C C ;30H 30H是位
9、寻址位地址是位寻址位地址是位寻址位地址是位寻址位地址 MOV A,30h MOV A,30h ;30H 30H是直接寻址的字节地址是直接寻址的字节地址是直接寻址的字节地址是直接寻址的字节地址 MOV MOVC,ACC.7C,ACC.7 ;CyACC.7CyACC.7 由由由由上上上上面面面面指指指指令令令令可可可可知知知知,位位位位寻寻寻寻址址址址的的的的位位位位地地地地址址址址与与与与直直直直接接接接寻寻寻寻址址址址的的的的字字字字节节节节地地地地址址址址形形形形式式式式完完完完全全全全一一一一样样样样,主主主主要要要要由由由由操操操操作作作作码码码码来区分,使用时需应该特别注意。来区分,使
10、用时需应该特别注意。来区分,使用时需应该特别注意。来区分,使用时需应该特别注意。例如例如 本本节节主主要要论论述述指指令令格格式式、指指令令的的三三种种表表示示形形式式、指指令令字字节节数数、指指令令分分类类和和指令系统综述指令系统综述等五个问题。等五个问题。3.2 指令系统指令系统 指令格式是指令码的结构形式。表达形式为:指令格式是指令码的结构形式。表达形式为:指令格式是指令码的结构形式。表达形式为:指令格式是指令码的结构形式。表达形式为:指令格式 标标号号又又称称为为指指令令地地址址符符号号,一一般般由由1-1-6 6个符组成,以字母开头的字母数字串。个符组成,以字母开头的字母数字串。标号
11、标号:操作码操作码操作数操作数;注释注释 操操作作码码用用MCS-51MCS-51单单片片机机所所规规定定的的助助记记符符来来表示,它命令表示,它命令CPUCPU作何种操作。作何种操作。注释注释是对该指令作用或功能的说明,以便于是对该指令作用或功能的说明,以便于阅读,不参与编译阅读,不参与编译(可有可无,不是必备的可有可无,不是必备的)。注注释部分前一定要用分号释部分前一定要用分号“;”隔开。隔开。操操作作数数分分为为目目的的操操作作数数和和源源操操作作数数,常常用用符符号号(如如寄寄存存器器、标标号号)、常常量量(如如立立即即数数、地地址址值值等等)来来表表示示。操操作作码码和和操操作作数数
12、之之间间用用若若干干空空格格分分隔隔,而而目目的的操操作作数数和和源源操操作作数数之之间间用用逗逗号号“,”分隔。分隔。指令的三种表达形式 通常,指令有二进制,十六制和助记符等三通常,指令有二进制,十六制和助记符等三种表示形式种表示形式 1)1)指令的二进制形式指令的二进制形式指令的二进制形式指令的二进制形式 具具具具有有有有难难难难读读读读、难难难难写写写写、难难难难记记记记忆忆忆忆和和和和难难难难修修修修改改改改等等等等缺缺缺缺点点点点,因因因因此此此此人们通常不用它来编写程序。人们通常不用它来编写程序。人们通常不用它来编写程序。人们通常不用它来编写程序。2)2)指令的十六进制形式指令的十
13、六进制形式指令的十六进制形式指令的十六进制形式 虽然读写方便,但仍不易为人们识别和修改,通虽然读写方便,但仍不易为人们识别和修改,通虽然读写方便,但仍不易为人们识别和修改,通虽然读写方便,但仍不易为人们识别和修改,通常也不被用来编写程序,常也不被用来编写程序,常也不被用来编写程序,常也不被用来编写程序,3)指令的助记符形式指令的助记符形式 又又又又称称称称为为为为指指指指令令令令的的的的汇汇汇汇编编编编符符符符或或或或汇汇汇汇编编编编语语语语句句句句形形形形式式式式,是是是是一一一一种种种种由英文单词或缩写字母形象表征指令功能的形式由英文单词或缩写字母形象表征指令功能的形式由英文单词或缩写字母
14、形象表征指令功能的形式由英文单词或缩写字母形象表征指令功能的形式。如果累加器如果累加器如果累加器如果累加器A A中已有一个加数中已有一个加数中已有一个加数中已有一个加数2020,那么能够完,那么能够完,那么能够完,那么能够完成成成成20206 6并把结果送入累加器并把结果送入累加器并把结果送入累加器并把结果送入累加器A A的加法指令的的加法指令的的加法指令的的加法指令的:二进制形式二进制形式二进制形式二进制形式为为为为:0011100000000110:0011100000000110B;B;十六进制形式十六进制形式十六进制形式十六进制形式为为为为:3806:3806H;H;助记符形式助记符形
15、式助记符形式助记符形式为:为:为:为:ADD ADDA A,06H ;A A+06H06H ;A A+06H例如例如3.2.3指令的字节数MCS-51MCS-51单单单单片片片片机机机机通通通通常常常常可可可可以以以以分分分分为为为为单单单单字字字字节节节节、双双双双字字字字节和三字节节和三字节节和三字节节和三字节指令三种。指令三种。指令三种。指令三种。(1)(1)单字节指令(单字节指令(4949条)条)单字节指令只有一个字节。通常又可分为两类:单字节指令只有一个字节。通常又可分为两类:单字节指令只有一个字节。通常又可分为两类:单字节指令只有一个字节。通常又可分为两类:1 1)无操作数单节指令
16、)无操作数单节指令这这这这类类类类指指指指令令令令的的的的指指指指令令令令码码码码光光光光有有有有操操操操作作作作码码码码字字字字段段段段,操操操操作作作作数数数数是隐含在操作码中的。是隐含在操作码中的。是隐含在操作码中的。是隐含在操作码中的。这这这这类类类类指指指指令令令令的的的的指指指指令令令令码码码码有有有有操操操操作作作作码码码码字字字字段段段段和和和和专专专专门门门门用用用用来来来来指示操作数所在寄存器号的字段组成。指示操作数所在寄存器号的字段组成。指示操作数所在寄存器号的字段组成。指示操作数所在寄存器号的字段组成。例如:八位数传送指令例如:八位数传送指令例如:八位数传送指令例如:八
17、位数传送指令 MOV MOVA A,RnRn其中,其中,其中,其中,n n的取值范围为的取值范围为的取值范围为的取值范围为0 07 7。2 2)含有操作数寄存器号的单字节指令)含有操作数寄存器号的单字节指令双字节指令含有两个字,操作码字节在前,双字节指令含有两个字,操作码字节在前,双字节指令含有两个字,操作码字节在前,双字节指令含有两个字,操作码字节在前,操作数字节在后。操作数字节在后。操作数字节在后。操作数字节在后。例如:八位数传送指令例如:八位数传送指令例如:八位数传送指令例如:八位数传送指令 MOV MOV A,A,data ;Adatadata ;Adata 这这这这条条条条指指指指令
18、令令令的的的的含含含含义义义义是是是是指指指指令令令令码码码码第第第第二二二二字字字字节节节节datadata取出来存放到累加器取出来存放到累加器取出来存放到累加器取出来存放到累加器A A中中中中2)2)双字节指令(双字节指令(4646条)条)这类指令的指令码的第一字节为操作码,第这类指令的指令码的第一字节为操作码,第这类指令的指令码的第一字节为操作码,第这类指令的指令码的第一字节为操作码,第 二字节为操作数或操作数地址。二字节为操作数或操作数地址。二字节为操作数或操作数地址。二字节为操作数或操作数地址。故三字节指令共可有如下四类故三字节指令共可有如下四类故三字节指令共可有如下四类故三字节指令
19、共可有如下四类:操作码操作码操作码操作码Data15-8Data15-8Data7-0Data7-0例如:指令例如:指令例如:指令例如:指令MOV DPTRMOV DPTR,data16data16操作码操作码操作码操作码DirectDirectDataData例如:指令例如:指令例如:指令例如:指令MOVMOVdirectdirect,datadata3)3)三字节指令(三字节指令(1616条)条)操作码操作码操作码操作码DataDataDirect(rel)Direct(rel)例如:指令例如:指令例如:指令例如:指令CJNE A,#data,relCJNE A,#data,rel操作码操
20、作码操作码操作码Data15-8Data15-8Data7-0Data7-0例如:指令例如:指令例如:指令例如:指令LCALL addr16LCALL addr163.2.4指令的分类及符号说明 MCS-51单片机可以分为五类:单片机可以分为五类:1.指令分类指令分类2)算术运算指令算术运算指令4)位操作指令位操作指令3)逻辑运算指令逻辑运算指令1)数据传送指令数据传送指令5)控制转移指令控制转移指令2 2、符号的说明、符号的说明、符号的说明、符号的说明(1)Rn:表表示示当当前前选选中中的的寄寄存存器器区区的的8个个工作寄存器,工作寄存器,(n=0-7)中的一个。中的一个。(2)Ri:表表示
21、示寄寄存存器器间间接接寻寻址址,Ri只只能能 是是R0或或R1。(3)#data:8位位直直接接地地址址,实实际际使使用用时时 data应是应是00H-0FFH中的一个。中的一个。(4)#data16:表表示示包包含含在在指指令令中中的的16位位立立 即数。即数。(5)direct:表表示示8位位内内部部数数据据存存储储器器单单 元的地址。元的地址。(6)Addr16:表示表示16位的目的地址。位的目的地址。(7)Addr11:表示表示11位的目的地址。位的目的地址。(8)Rel:表示表示8位带符号的偏移量。位带符号的偏移量。(9)DPTR:为为数数据据指指针针,可可用用作作16位位 的地址寄
22、存器。的地址寄存器。(10)Bit:表表示示内内部部RAM或或专专用用寄寄存存器器中中 的直接寻址位。的直接寻址位。(11)A:累加器累加器ACC。(12)B:专专用用寄寄存存器器,用用于于MUL和和DIV指指 令中。令中。(13):为为间间址址寄寄存存器器或或基基址址寄寄存存器器的的前前 缀。如缀。如Ri,A+PC,A+DPTR。(14)/:位位操操数数的的前前缀缀,表表示示对对该该位位操操作作 数取反。如数取反。如/bit.(15)$:当前指令的地址。当前指令的地址。一、内部数据传送指令(一、内部数据传送指令(15条)条)这类指令的源操作数和目的操作这类指令的源操作数和目的操作数地址都在单
23、片机内部。数地址都在单片机内部。3.2.5数据传送指令 已已知知:R0R030H30H,试试问问执执行行如如下下指指令令后后累累加器加器A A、R3R3、30H30H、31H31H单元中内容各是什么?单元中内容各是什么?MOVMOVAA,#20H#20HMOVR3,#45HMOVR3,#45HMOVR0,#46HMOVR0,#46HMOV31H,#47HMOV31H,#47H(1)立即寻址型传送指令立即寻址型传送指令例例例例 3.2 3.2执行后,结果为执行后,结果为执行后,结果为执行后,结果为:A=20H,R3=45H,A=20H,R3=45H,(30H)=46H,(31H)=47H (30
24、H)=46H,(31H)=47H(2)直接寻址型传送指令 已已 知知:R1=20HR1=20H、(21H)=54H(21H)=54H、(22H)=55H(22H)=55H、(30H)=56H(30H)=56H,试试问问执执行行如如下下指指令令后后,结结果果A A、40H40H、R2R2、20H20H、和和P2P2口中的内容各是什么?口中的内容各是什么?MOVAMOVA,21H21HMOV40HMOV40H,A AMOVR2,22HMOVR2,22HMOVR1,21HMOVR1,21HMOVP2,30HMOVP2,30H结结 果果 为为:A=54HA=54H,(40H)=54H(40H)=54H
25、,R2=55HR2=55H,(20H)=54H(20H)=54H,P2=56HP2=56H例例例例 3.3 3.3 3.3 3.3(3)寄存器寻址传送指令寄存器寻址传送指令 已知已知已知已知:R1=30HR1=30H、R2=31HR2=31H、(56H)=23H(56H)=23H,试试试试问执行以下指令后,结果各是什么?问执行以下指令后,结果各是什么?问执行以下指令后,结果各是什么?问执行以下指令后,结果各是什么?MOVA,R1MOVA,R1MOVR2,AMOVR2,AMOV56H,R1MOV56H,R1结果为:结果为:A=30HA=30H,R2=30HR2=30H,(56H)=30H(56H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南 单片机 辅助 课件 MCS 51 系列 指令系统
限制150内