MCS-51单片机指令系统课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《MCS-51单片机指令系统课件.ppt》由会员分享,可在线阅读,更多相关《MCS-51单片机指令系统课件.ppt(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型计算微型计算机原理及接口技术机原理及接口技术授课专业:自动化授课专业:自动化授课学时:授课学时:60学时学时1第三章第三章 MCS-51单片机指令系统单片机指令系统 3.1 指令系统概述指令系统概述13.2 数据传送类指令数据传送类指令2 3.3 算算术术运算运算类类指令指令33.4 逻辑运算类指令逻辑运算类指令43.5 控制转移类指令控制转移类指令53.6 位操作类指令位操作类指令623.1 3.1 指令系指令系统统概述概述2学习内容学习内容1指令概述指令概述寻址方式寻址方式31、概念、概念 指令:指令:指令:指令:是指示单片机完成特定操作的命令。是指示单片机完成特定操作的命令。指令系统
2、:指令系统:指令系统:指令系统:是单片机能够执行的全部命令的集合。是单片机能够执行的全部命令的集合。汇编语言指令:汇编语言指令:汇编语言指令:汇编语言指令:用助记符、符号地址、标号等表示的用助记符、符号地址、标号等表示的书写程序的语言。书写程序的语言。2、指令的格式、指令的格式一一、指令概述、指令概述 标号:标号:标号:标号:操作码助记符操作码助记符操作码助记符操作码助记符 目的操作数,目的操作数,目的操作数,目的操作数,源操作数源操作数源操作数源操作数 ;注;注;注;注释释释释 如:如:如:如:STARTSTART:MOVMOV A,#01HA,#01H ;A#01H;A#01H 标号标号标
3、号标号 操作码助记符操作码助记符操作码助记符操作码助记符 操作数操作数操作数操作数 注释注释注释注释4注:注:注:注:标号由标号由16个字符数字串组成,第一个必须是个字符数字串组成,第一个必须是字母字母字母字母;不一定每句都有标号,标号不产生不一定每句都有标号,标号不产生目标代码目标代码目标代码目标代码;汇编语言中已经有确切定义的符号不能作为标号;汇编语言中已经有确切定义的符号不能作为标号;同一标号在一个程序中只能定义一次;同一标号在一个程序中只能定义一次;标号后面必须跟冒号。标号后面必须跟冒号。标号:标号:给该条语句起个给该条语句起个名字名字名字名字,以便在其它语句中,以便在其它语句中寻找该
4、条语句,它代表该条语句所在的寻找该条语句,它代表该条语句所在的地址地址地址地址。5注:注:注:注:操作数可以是操作数可以是数的本身数的本身数的本身数的本身或其或其所在地址所在地址所在地址所在地址;十六进制数以十六进制数以AF打头的数前面要加打头的数前面要加0,以区别于标号。,以区别于标号。操作码助记符:操作码助记符:规定指令进行规定指令进行何种操作何种操作,是指令,是指令中中不能空缺不能空缺的部分,一般采用具有相关含义的英语的部分,一般采用具有相关含义的英语单词或缩写表示。单词或缩写表示。操作数:操作数:说明被操作的数的说明被操作的数的源源及及目的目的。注释:注释:为便于阅读理解程序,对语句所
5、作的解释为便于阅读理解程序,对语句所作的解释说明,说明,不产生目标代码不产生目标代码不产生目标代码不产生目标代码,用分号开始表示注释。,用分号开始表示注释。63、指令系统中有关符号说明、指令系统中有关符号说明符号符号含义含义Rn当前当前R0-R7RiR0 R1(i=0,1)direct8位直接地址(内部位直接地址(内部RAM的低的低128个单元的地址)个单元的地址)或指或指SFR#data8/168位常数(立即数)位常数(立即数)16位常数(立即数)位常数(立即数)Addr11/1611位目的地址位目的地址,16位目的地址位目的地址rel转移指令转移指令8位偏移量位偏移量(补码)补码)-128
6、+127bit位地址位地址/对该位内容取反对该位内容取反间接寻址符号(前缀)间接寻址符号(前缀)(x)X存储单元中的内容存储单元中的内容(x)以以X中的内容为地址的存储单元中的内容中的内容为地址的存储单元中的内容7 MCS-51汇编语言有汇编语言有111111种指令,种指令,4242种操作码助记种操作码助记符用来描述符用来描述33种操作功能。种操作功能。l按按功能功能分分为为数据传送类:数据传送类:29条条算术运算类:算术运算类:24条条逻辑运算类:逻辑运算类:24条条控制转移类:控制转移类:17条条位操作类:位操作类:17条条4、指令分类、指令分类8l按按字节数字节数分分为为单单字节指令:字
7、节指令:49条条双双字节指令:字节指令:45条条三三字节指令:字节指令:17条条l按按运算速度运算速度分分为为单单周期指令:周期指令:64条条双双周期指令:周期指令:45条条四四周期指令:周期指令:2条条9n n寻址方式:寻址方式:寻址方式:寻址方式:寻找指令中操作数的地址,并把操作数取寻找指令中操作数的地址,并把操作数取出来的方法。出来的方法。n51单片机一共单片机一共七种七种七种七种寻址方式:寻址方式:立即寻址立即寻址立即寻址立即寻址 直接寻址直接寻址直接寻址直接寻址 寄存器寻址寄存器寻址寄存器寻址寄存器寻址 寄存器间接寻址寄存器间接寻址寄存器间接寻址寄存器间接寻址 变址寻址变址寻址变址寻
8、址变址寻址 相对寻址相对寻址相对寻址相对寻址 位寻址位寻址位寻址位寻址二、二、MCS-51MCS-51的的寻寻址方式址方式10它是操作数它是操作数直接直接直接直接在指令中给出的寻址方式。在指令中给出的寻址方式。这这种种操操作作数数称称为为立立立立即即即即数数数数,立立即即数数有有8位位和和16位位两两种种,立立即即数数可可以以是是十十进进制制,也也可可以以是是十十六六进进制制,还还可可以以二进制。立即数前面带二进制。立即数前面带“”。1、立即寻址、立即寻址例例3-1:MOV A,#20H ;A#20H MOV A,#10000111B ;A#10000111B MOV A,#50 ;A#50
9、MOV DPTR,#1808H;DPTR#1808H注:注:注:注:立即数只能作为源操作数。立即数只能作为源操作数。11MOV A,#20H;A#20H 即把即把20H这个数据送入累加器这个数据送入累加器A中。中。PC分析分析分析分析74H74H20H20H操作码操作码立即数立即数PC执行执行执行执行PCACC 20H 20HMOV A,#20H执行示意图执行示意图 执行结果执行结果:(A)=20H12指令中直接给出操作数所在指令中直接给出操作数所在地址地址地址地址的寻址方式。的寻址方式。可可用用符符号号“direct”direct”表表示示指指令令中中的的直直接接地地址址,寻寻址址范围是内部
10、范围是内部RAM的低的低128字节和字节和SFR.2.直接寻址直接寻址 例例3-2:MOV A,20H ;将将片片内内RAM20H单单元元中中的的内内容容送送入累加器入累加器A,70H为直接地址。为直接地址。13 MOV A A,20H20H;A(20H)PC分析分析PC执行执行PCE5HE5H20H20H操作码操作码直接地址直接地址ROM62H62HRAM20HACC 62H 62H 执行结果执行结果:(A)=62H14在指定的在指定的寄存器寄存器寄存器寄存器中存放操作数的寻址方式。中存放操作数的寻址方式。这类寄存器包括工作寄存器这类寄存器包括工作寄存器R0R7、A、B、DPTR。3.寄存器
11、寻址寄存器寻址 例例3-3:MOVA,R0;把把工工作作寄寄存存器器R0中中的的内内容容传传送送到到累加器累加器A中。中。15把把操操作作数数所所在在的的地地地地址址址址存存放放在在指指定定的的寄寄寄寄存存存存器器器器中中,而而操操作作数数本本身身则则存存放放在在该该地地址址所所对对应应的的存存存存储储储储单单单单元元元元中中的寻址方式。的寻址方式。间接寻址寄存器前用间接寻址寄存器前用“”表示前缀。表示前缀。能能够够用用于于寄寄存存器器间间接接寻寻址址的的寄寄存存器器有有R0R0、R1R1、DPTRDPTR和和SPSP(SP不用间接寻址符不用间接寻址符“”)。)。4.寄存器寄存器间接寻址间接寻
12、址 例例3-4:MOVA,R0;A(R0)16以以16位位寄寄存存器器(PCPC或或或或DPTRDPTR)的的内内容容作作为为基基基基址址址址,以以累累加加器器A A的的内内容容作作为为偏偏偏偏移移移移量量量量,将将两两者者进进行行相相加加得得到到的的和和和和作为作为操作数地址操作数地址操作数地址操作数地址。变址寻址只能对程序存储器进行寻址,分为变址寻址只能对程序存储器进行寻址,分为两种两种两种两种:l以以PCPC的当前值的当前值的当前值的当前值为基址为基址l以以DPTRDPTR的内容为基址的内容为基址5.变址寻址变址寻址 17例例3-5:MOVC A,A+PC;A(A)+(PC)上上述述指指
13、令令的的功功能能是是,PC的的当当前前值值与与累累加加器器A的的内内容容相加,形成操作数的地址。相加,形成操作数的地址。例例3-6:MOVC A,A+DPTR ;A(A)+(DPTR)上上述述指指令令的的功功能能是是,DPTR的的值值与与累累加加器器A的的内内容容相加,形成操作数的地址。相加,形成操作数的地址。18ACCACCSFRSFRROMROMDPLDPLDPHDPH30H30H20H20H48H48H2035H2035H例例3-7:将将程程序序存存储储器器ROM中中2035H单单元元的的内内容容读读入入累加器累加器A中:中:MOV DPTR,#2030H ;DPTR#2030H MOV
14、 A,#05H ;A#05H MOVC A,A+DPTR ;A(2035H)05H48H19主主要要用用于于转转转转移移移移指指指指令令令令,它它是是把把指指令令中中给给出出的的相相对对地地址址偏偏移移量量relrel与与与与PCPC当当当当前前前前值值值值相相相相加加加加,得得到到程程序序转转移移的的目目标标地地址。址。6.相对寻址相对寻址 目标地址目标地址=PC当前值当前值+rel =转移指令所在地址转移指令所在地址+转移指令字节数转移指令字节数+relrel是一个带符号的是一个带符号的8位位二进制补码二进制补码二进制补码二进制补码,其取值范围为,其取值范围为 -128127,负负数数表表
15、示示从从当当前前地地址址向向上上上上转转移移,正正数数表表示从当前地址向示从当前地址向下下下下转移。转移。20相对寻址方式示意图相对寻址方式示意图程序存储器程序存储器ROM2002HSJMP/80H2009Hrel=07H07HPCPC2000HPC+12001HPC+22002HXXH例例3-8:在地址在地址2000H处有一条相对转移指令:处有一条相对转移指令:SJMP loop ;机器码:机器码:2000H 80H 07H 目标地址目标地址=(2000+2+07)H=2009H。21指令中直接给出指令中直接给出位位位位操作数的地址。操作数的地址。位地址可用符号位地址可用符号“bit”bit
16、”表示。表示。7.位位寻址寻址 例例3-9:MOV C,F0 ;CY(F0)指令的功能:将位指令的功能:将位F0的内容送到进位标志的内容送到进位标志CY中。中。例例3-10:MOV C,2EH ;CY(2EH)指令的功能:将位地址指令的功能:将位地址2EH的内容送到进位标志的内容送到进位标志CY中。中。22注:注:注:注:可供位寻址的区域:可供位寻址的区域:片内片内RAM的的20H2FH为位寻址空间为位寻址空间007FH;凡是地址能被凡是地址能被8整除的整除的SFR,共,共11个。个。23表表3-1 寻址方式及寻址空间对照表寻址方式及寻址空间对照表寻寻址方式址方式符号符号寻寻 址址 空空 间间
17、寄存器寄存器寻寻址址寄存器名寄存器名工作寄存器工作寄存器R0R7、A、B、DPTR直接直接寻寻址址direct片内片内RAM低低128字字节节、特殊功能寄存器特殊功能寄存器SFR寄存器寄存器间间接接寻寻址址R0、R1、DPTR片内片内RAM低低128字字节节R0、R1、片外片外RAM R0、R1、DPTR立即立即寻寻址址#data8或或#data16程序存程序存储储器(指令的常数部分)器(指令的常数部分)变变址址寻寻址址A+DPTR、A+PC程序存程序存储储器器位位寻寻址址bit、/bit片内片内RAM中的中的20H2FH的的128个位、个位、特殊功能寄存器中可位特殊功能寄存器中可位寻寻址的位
18、址的位相相对寻对寻址址rel程序存程序存储储器器256字字节节范范围围(PC+rel)241、作、作 业:指出下列指令中源操作数的寻址方式业:指出下列指令中源操作数的寻址方式1.MOV A,77H2.ADD A,R23.MOV A,55H4.MOV A,R15.MOVC A,A+DPTR6.MOV C,30H7.MOVX A,R08.MOV 50H,A 9.MOVC A,A+PC10.SJMP 34H 11.ADD A,#21直接寻址直接寻址寄存器寻址寄存器寻址立即寻址立即寻址 寄存器间接寻址寄存器间接寻址变址寻址变址寻址 位寻址位寻址寄存器间接寻址寄存器间接寻址寄存器寻址寄存器寻址变址寻址变
19、址寻址相对寻址相对寻址立即寻址立即寻址25l 功能:功能:进行数据传送。进行数据传送。l 注意:数据传送类指令一般注意:数据传送类指令一般不影响状态标志位不影响状态标志位。l 分类:分类:片内片内RAM传送指令传送指令 MOV 片外片外RAM传送指令传送指令 MOVX ROM传送指令传送指令 MOVC 数据交换指令数据交换指令 XCH XCHD SWAP 堆栈操作指令堆栈操作指令 PUSH POP 3.3.2 2 数据数据传传送送类类指令指令26程序程序存储器存储器ROMEPROM特殊功特殊功能寄存能寄存器器SFR片片内内RAM128字节字节片外片外数据数据存储器存储器RAM MOVC MOV
20、CMOVXMOVXMOV PUSHPOPXCHXCHDSWAP 数据传送指令操作域示意图数据传送指令操作域示意图27l分类:分类:1 1、以累加器以累加器以累加器以累加器A A为目的地址的指令为目的地址的指令为目的地址的指令为目的地址的指令2 2、以寄存器、以寄存器、以寄存器、以寄存器RnRn为目的地址的指令为目的地址的指令为目的地址的指令为目的地址的指令3 3、以直接地址为目的地址的指令以直接地址为目的地址的指令以直接地址为目的地址的指令以直接地址为目的地址的指令4 4、以寄存器间接地址为目的地址的指令以寄存器间接地址为目的地址的指令以寄存器间接地址为目的地址的指令以寄存器间接地址为目的地址
21、的指令5 5、以、以、以、以DPTRDPTR为目的地址的为目的地址的为目的地址的为目的地址的1616位指令位指令位指令位指令l 特点:传送是在单片机内部进行,不需要通过外部特点:传送是在单片机内部进行,不需要通过外部总线交换数据,总线交换数据,速度比较快速度比较快速度比较快速度比较快。l 指令助记符为:指令助记符为:MOV一、片内一、片内RAMRAM传传送指令送指令28指令格式:指令格式:MOV AMOV A,RnRn ;AA(RnRn)MOV AMOV A,direct direct ;AA(直接地址)直接地址)直接地址)直接地址)MOV AMOV A,RiRi ;AA(RiRi)MOV A
22、MOV A,#data#data ;AA立即数立即数立即数立即数指令解释:把源操作数送入累计器指令解释:把源操作数送入累计器A A中。中。1 1、以累加器以累加器A A为为目的地址的指令目的地址的指令29举例说明:举例说明:例例3-11:已知(已知(R1)=40H;(;(30H)=12H;(40H)=34H,求分别执行下列指令后结果。,求分别执行下列指令后结果。MOV AMOV A,R1 R1 MOV AMOV A,30H 30H MOV AMOV A,R1 R1 MOV AMOV A,#56H#56H各指令执行后结果:各指令执行后结果:(A)=40H、12H、34H、56H30指令格式:指令
23、格式:MOV MOV RnRn,A A ;RnRn(A A)MOV MOV RnRn,direct direct ;RnRn(直接地址)(直接地址)(直接地址)(直接地址)MOV MOV RnRn,#data#data ;RnRn 立即数立即数立即数立即数指令解释:指令解释:把源操作数送入工作寄存器把源操作数送入工作寄存器Rn中中。2 2、以寄存器、以寄存器RnRn为为目的地址的指令目的地址的指令31举例说明:举例说明:例例3-12:已知(已知(A)=40H;(;(30H)=12H;(40H)=34H,求分别执行下列指令后结果。,求分别执行下列指令后结果。MOV R1MOV R1,A A MO
24、V R1MOV R1,30H30H MOV R1MOV R1,#40H#40H 各指令执行后结果:各指令执行后结果:(R1)=40H、12H、40H32指令格式:指令格式:MOV directMOV direct,A A ;direct direct(A A)MOV directMOV direct,RnRn ;direct direct(RnRn)MOV direct1MOV direct1,direct2 direct2 ;direct 1direct 1(direct 2direct 2)MOV directMOV direct,RiRi ;direct (direct (RiRi)MO
25、V direct MOV direct,#data#data ;direct direct 立即数立即数立即数立即数 指指令令解解释释:将将源源操操作作数数送送入入直直接接地地址址所所指指的的存存储储单单元中。元中。3 3、以直接地址、以直接地址为为目的地址的指令目的地址的指令33举例说明:举例说明:例例3-13:已已 知知(R1)=40H;(30H)=12H;(40H)=34H;(A)=78H,求求分分别别执执行行下下列列指指令后结果。令后结果。MOV 50HMOV 50H,A A MOV 50HMOV 50H,R1 R1 MOV 50HMOV 50H,30H30H MOV 50HMOV 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51 单片机 指令系统 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内