单片机原理与应用第3章.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)
《单片机原理与应用第3章.ppt》由会员分享,可在线阅读,更多相关《单片机原理与应用第3章.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲:潘静主讲:潘静第第3章章单单片机片机汇编程序设计汇编程序设计第第3章章单片机汇编程序设计单片机汇编程序设计 3.1单片机指令系统概述单片机指令系统概述3.280C51单片机指令寻址方式单片机指令寻址方式3.380C51单片机指令分类介绍单片机指令分类介绍3.4常用伪指令常用伪指令3.5汇编程序设计汇编程序设计第第3章章单片机汇编程序设计单片机汇编程序设计 3.1单片机指令系统概述单片机指令系统概述指令:指令:规定计算机基本操作的语句或命令。指规定计算机基本操作的语句或命令。指令通常有两个组成部分:操作码和操作令通常有两个组成部分:操作码和操作数。数。指令系统:指令系统:一个单片机所能执行
2、的指令集合即一个单片机所能执行的指令集合即为它的指令系统。为它的指令系统。第第3章章单片机汇编程序设计单片机汇编程序设计 一条汇编语言指令中最多包含一条汇编语言指令中最多包含4个区段个区段,如下所示如下所示:标号标号:操作码操作码操作数操作数;注释注释4个个区区段段之之间间要要用用分分隔隔符符分分开开,标标号号与与操操作作码码之之间间用用“:”隔隔开开,操操作作码码与与操操作作数数之之间间用用空空格格隔隔开开,操操作作数数与与注注释释之之间间用用“;”隔隔开开,如如果果操操作作数数有有两两个个以以上上,则则在在操操作作数数之之间要用逗号间要用逗号“,”隔开隔开(乘法指令和除法指令除外乘法指令和
3、除法指令除外)。第第3章章单片机汇编程序设计单片机汇编程序设计 51.先通读指令,了解有哪些类型、基本操作情况、使用场先通读指令,了解有哪些类型、基本操作情况、使用场合。个人可做些归纳和总结。合。个人可做些归纳和总结。2.阅读书中或别人的有关程序,其中的应用技巧,必要时阅读书中或别人的有关程序,其中的应用技巧,必要时再回来查有关内容。再回来查有关内容。3.自己编写程序,上机实验,体会指令的作用和编程技巧。自己编写程序,上机实验,体会指令的作用和编程技巧。4.参与实际项目,在实战过程中使用和提高。参与实际项目,在实战过程中使用和提高。掌握熟悉指令的一些方法掌握熟悉指令的一些方法第第3章章单片机汇
4、编程序设计单片机汇编程序设计 80C51指令中使用的符号的意义作简要说明:指令中使用的符号的意义作简要说明:Rn:表示当前工作寄存器表示当前工作寄存器R0R7中的任一寄存器中的任一寄存器n=07。Ri:可用作间接寻址的寄存器,只能是可用作间接寻址的寄存器,只能是R0,R1两个两个寄存器,寄存器,i=0,1。direct:8位直接地址,在指令中表示直接寻址方位直接地址,在指令中表示直接寻址方式,寻址范围式,寻址范围256个单元。个单元。#data:8位立即数。位立即数。#data16:16位立即数。位立即数。第第3章章单片机汇编程序设计单片机汇编程序设计 addr16:表示表示16位目的地址,主
5、要用于位目的地址,主要用于LCALL和和 LJMP指令中。指令中。addr11:表示表示11位目的地址,主要用于位目的地址,主要用于ACALL和和 AJMP指令中。指令中。rel:相对转移指令中的偏移量,为相对转移指令中的偏移量,为8位带符号补码。位带符号补码。DPTR:数据指针。数据指针。bit:内部内部RAM(包括专用寄存器)中的直接寻址位。(包括专用寄存器)中的直接寻址位。A:累加器。累加器。ACC:直接寻址方式的累加器。直接寻址方式的累加器。第第3章章单片机汇编程序设计单片机汇编程序设计 B:寄存器寄存器B。C:进位标志位,也称为累加位。进位标志位,也称为累加位。/:加在位地址的前面,
6、表示对该位状态取反。加在位地址的前面,表示对该位状态取反。:间接寻址寄存器的前缀标志。间接寻址寄存器的前缀标志。(X):):某寄存器或某单元中的内容。某寄存器或某单元中的内容。(X):由由“X”间接寻址单元中的内容。间接寻址单元中的内容。:箭头左边的内容被箭头右边的内容所取代箭头左边的内容被箭头右边的内容所取代。第第3章章单片机汇编程序设计单片机汇编程序设计 所所谓谓寻寻址址方方式式,就就是是寻寻找找操操作作数数地地址址的的方方式式,在在用用汇汇编编语语言言编编程程时时,数数据据的的存存放放、传传送送、运运算算都都要要通通过过指指令令来来完完成成。编编程程者者必必须须自自始始至至终终都都要要十
7、十分分清清楚楚操操作作数数的的位位置置,以以及及如如何何将将它它们们传传送送到到适适当当的的寄寄存存器器去去参参与与运运算算。每每一一种种计计算算机机都都具具有有多多种种寻寻址址方方式式。寻寻址址方方式式的的多多少少是是反映指令系统优反映指令系统优劣的主要指标之一。劣的主要指标之一。3.280C51单片机指令寻址方式单片机指令寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 在在MCS-51单片机指令系统中单片机指令系统中,有以下有以下7种寻址方式种寻址方式:(1)立即寻址立即寻址;(2)直接寻址直接寻址;(3)寄存器寻址寄存器寻址;(4)寄存器间接寻址寄存器间接寻址;(5)基址寄存器加
8、变址寄存器间接寻址基址寄存器加变址寄存器间接寻址;(6)位寻址位寻址(7)指令寻址指令寻址绝对寻址绝对寻址相对寻址相对寻址第第3章章单片机汇编程序设计单片机汇编程序设计 1.直接寻址方式直接寻址方式定义:定义:指令中操作数直接以存储单元地址的形式指令中操作数直接以存储单元地址的形式给出。给出。例如:例如:MOVA,3AH特点:特点:指令中含有操作数的地址。该地址指出了指令中含有操作数的地址。该地址指出了参与操作的数据所在的字节单元地址或位参与操作的数据所在的字节单元地址或位地址。计算机执行它们时便可根据直接地地址。计算机执行它们时便可根据直接地址找到所需要的操作数。址找到所需要的操作数。寻址范
9、围:寻址范围:片内片内RAM(低(低128字节)、专用寄存器。字节)、专用寄存器。第第3章章单片机汇编程序设计单片机汇编程序设计 2.立即寻址方式立即寻址方式定义:定义:将立即参与操作的数据直接写在指令中,这种寻将立即参与操作的数据直接写在指令中,这种寻址方式称为立即寻址。址方式称为立即寻址。例如例如MOVA,#3AHMOVDPTR,#data16特点:特点:指令中直接含有所需的操作数。该操作数可以是指令中直接含有所需的操作数。该操作数可以是8位的,也可以是位的,也可以是16位的,常常处在指令的第二位的,常常处在指令的第二字节和第三字节的位置上。立即数通常使用字节和第三字节的位置上。立即数通常
10、使用#data或或#data16表示,在立即数前面加表示,在立即数前面加“#”标志,标志,用以和直接寻址中的直接地址(用以和直接寻址中的直接地址(direct或或bit)相区别。)相区别。第第3章章单片机汇编程序设计单片机汇编程序设计 定义:定义:操作数在寄存器中,只要指定了寄存器就能得到操作数在寄存器中,只要指定了寄存器就能得到操作数。操作数。例如:例如:MOVA,R0特点:特点:由指令指出某一个寄存器的内容作为操作数。存由指令指出某一个寄存器的内容作为操作数。存放操作数的寄存器在指令代码中不占据单独的一放操作数的寄存器在指令代码中不占据单独的一个字节,而是嵌入(隐含)到操作码字节中。个字节
11、,而是嵌入(隐含)到操作码字节中。寻址范围:寻址范围:四组通用寄存器四组通用寄存器Rn(R0R7)、部分专用寄)、部分专用寄存器(存器(A,B,DPTR,CY)。)。3.寄存器寻址方式寄存器寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 4.寄存器间接寻址方式寄存器间接寻址方式定义:定义:指令给出的寄存器中存放的是操作数据的单元地址,指令给出的寄存器中存放的是操作数据的单元地址,这种寻址方式称为寄存器间接寻址。这种寻址方式称为寄存器间接寻址。例如:例如:MOVA,R0特点:特点:指令给出的寄存器中存放的是操作数地址。寄存器间指令给出的寄存器中存放的是操作数地址。寄存器间接寻址是一种二次
12、寻找操作数地址的寻址方式,寄存接寻址是一种二次寻找操作数地址的寻址方式,寄存器前边必须加前缀符号器前边必须加前缀符号“”。不能用于寻址特殊功能。不能用于寻址特殊功能寄存器寄存器SFR。第第3章章单片机汇编程序设计单片机汇编程序设计 寻址范围:寻址范围:1、对于内部对于内部RAM低低128单元访问(只能使用单元访问(只能使用R0或或R1作间作间 址寄存器)址寄存器)2、对于外部对于外部RAM访问(使用访问(使用DPTR作间址寄存器)。作间址寄存器)。3、对于外部低对于外部低256单元单元RAM的访问,除可以使用的访问,除可以使用DPTR外,外,还可以使用还可以使用R0或或R1作间址寄存器(先确定
13、高作间址寄存器(先确定高8位地址给位地址给 P2)。)。4.寄存器间接寻址方式寄存器间接寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 为区分以上四种寻址方式,现在列出四种语句为区分以上四种寻址方式,现在列出四种语句1.MOVA,#30H;A30H;最后最后A中的数据中的数据为为30H如果如果30H单元存入的数据为单元存入的数据为0FFH2.MOVA,30H;A(30H);最后最后A中的数据中的数据为为0FFH3.MOVR1,#30H;R130HMOVA,R1;A(R1);A30H;最后最后A中的数据中的数据为为30H4.MOVR1,#30H;R130HMOVA,R1;A(R1);A(
14、30H);最后最后A中的数据中的数据为为0FFH第第3章章单片机汇编程序设计单片机汇编程序设计 5.变址寻址方式变址寻址方式定义:定义:操作数存放在变址寄存器(累加器操作数存放在变址寄存器(累加器A)和基址寄存)和基址寄存器(器(DPTR或或PC)相加形成的)相加形成的16位地址单元中。这位地址单元中。这种寻址方式称为基址加变址寄存器间接寻址,简称种寻址方式称为基址加变址寄存器间接寻址,简称为变址寻址。为变址寻址。例如:例如:MOVCA,A+DPTR;A(A)+(DPTR)MOVCA,A+PC;A(A)+(PC)JMPA+DPTR;PC(A)+(DPTR)第第3章章单片机汇编程序设计单片机汇编
15、程序设计 特点:特点:指令操作码中隐含作为基址寄存器用的指令操作码中隐含作为基址寄存器用的DPTR(或(或 PC)和作为变址用的累加器)和作为变址用的累加器A。在执行变址寻址指。在执行变址寻址指 令时,令时,80C51单片机先把基地址(单片机先把基地址(DPTR或或PC 的内的内 容)和地址偏移量(容)和地址偏移量(A的内容)相加,以形成操作数的内容)相加,以形成操作数 地址,再由操作数地址找到操作数,并完成相应的地址,再由操作数地址找到操作数,并完成相应的 操作。变址寻址方式是单字节指令。操作。变址寻址方式是单字节指令。寻址范围:寻址范围:只能对程序存储器只能对程序存储器ROM进行寻址,主要
16、用于查进行寻址,主要用于查 表性质的访问。表性质的访问。5.变址寻址方式变址寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 6.位寻址方式位寻址方式定义:定义:指令中给出的操作数是一个可单独寻址的位地址,这指令中给出的操作数是一个可单独寻址的位地址,这种寻址方式称为位寻址方式。种寻址方式称为位寻址方式。例如:例如:MOVC,3AH特点:特点:位寻址是直接寻址方式的一种,其特点是对位寻址是直接寻址方式的一种,其特点是对8位二进制位二进制数中的某一位的地址进行操作。数中的某一位的地址进行操作。寻址范围:寻址范围:位寻址区位寻址区20H2FH共共16个单元里个单元里128位地址(位地址(00
17、H7FH)21个特殊功能寄存器中的个特殊功能寄存器中的11个可位寻址的寄存器里共个可位寻址的寄存器里共82位位80H(P0)、88H(TCON)、90H(P1)、98H(SCON)、0A0H(P2)、0A8H(IE少少2位位)、0B0H(P3)、0B8H(IP少少3位位)、0D0H(PSW少少1位位)、0E0H(ACC)、0F0H(B)。第第3章章单片机汇编程序设计单片机汇编程序设计 寻址形式:寻址形式:(1)用直接位地址:用直接位地址:MOVC,8CH(2)用单元地址加位序用单元地址加位序MOVC,88H.4;88H+4H=8CH(3)用位名称:用位名称:SETTR0;启动定时器启动定时器0
18、(4)用寄存器名加位序:用寄存器名加位序:MOVC,TCON.4;6.位寻址方式位寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 一绝对寻址一绝对寻址绝对寻址是在指令的操作数中直接提供目的位置的地绝对寻址是在指令的操作数中直接提供目的位置的地址或地址的一部分。址或地址的一部分。长转移和长调用提供目的位置的长转移和长调用提供目的位置的16位地址位地址 绝对转移和绝对调用提供目的位置的绝对转移和绝对调用提供目的位置的16位地址的低位地址的低 11位位7.指令寻址指令寻址第第3章章单片机汇编程序设计单片机汇编程序设计 二二相对寻址方式相对寻址方式定义:定义:将程序计数器将程序计数器PC的当前
19、值(取出本条指令后的的当前值(取出本条指令后的PC值)与指令第二个字节给出的偏移量(值)与指令第二个字节给出的偏移量(rel)相加,)相加,形成新的转移目标地址。称为相对寻址方式。形成新的转移目标地址。称为相对寻址方式。例如:例如:SJMPrel;PC(PC)+2+rel特点:特点:相对寻址方式是为实现程序的相对转移而设计的,相对寻址方式是为实现程序的相对转移而设计的,为相对转移指令所使用,其指令码中含有相对地址为相对转移指令所使用,其指令码中含有相对地址偏移量,能生成浮动代码。偏移量,能生成浮动代码。目的地址目的地址=指令地址指令地址(PC)指令字节数偏移量指令字节数偏移量(rel)第第3章
20、章单片机汇编程序设计单片机汇编程序设计 寻址范围:寻址范围:只能对程序存储器只能对程序存储器ROM进行寻址。相对地址进行寻址。相对地址 偏移量(偏移量(rel)是一个带符号的是一个带符号的8位二进制补位二进制补 码码,其取值范围为,其取值范围为 128127(以(以PC为中为中 间的间的256个字节范围)。个字节范围)。相对寻址方式相对寻址方式第第3章章单片机汇编程序设计单片机汇编程序设计 总结:总结:7种寻址方式及使用空间种寻址方式及使用空间 7F82第第3章章单片机汇编程序设计单片机汇编程序设计 3.380C51单片机指令分类(单片机指令分类(共有共有111条)条)按指令的功能按指令的功能
21、,80C51指令系统可分为下列指令系统可分为下列5类类:数据传送类数据传送类(29条)算术运算类算术运算类(24条)逻辑运算及移位类逻辑运算及移位类(24条)位操作类位操作类(17条)控制转移类控制转移类(17条)第第3章章单片机汇编程序设计单片机汇编程序设计 1.单字节指令单字节指令单字节指令格式由单字节指令格式由8位二进制编码表示位二进制编码表示,例如例如:CLRAE4H2.双字节指令双字节指令双字节指令格式由两个字节组成双字节指令格式由两个字节组成,操作码和操作数操作码和操作数,例如例如:MOVA,10H74H10H3.三字节指令三字节指令三字节指令格式中三字节指令格式中,第一个字节为操
22、作码第一个字节为操作码,后两个字节为后两个字节为操作数操作数,例如例如:MOV40H,30H75H40H30H 第第3章章单片机汇编程序设计单片机汇编程序设计 3.3.1数据传送类指令(数据传送类指令(29条)条)MCS-51传传送送指指令令示示意意图图第第3章章单片机汇编程序设计单片机汇编程序设计 第第3章章单片机汇编程序设计单片机汇编程序设计 第第3章章单片机汇编程序设计单片机汇编程序设计 一数据传送指令一数据传送指令以助记符以助记符MOV为基础,分成:为基础,分成:片内数据存储器传送指令片内数据存储器传送指令片外数据存储器传送指令片外数据存储器传送指令程序存储器传送指令程序存储器传送指令
23、第第3章章单片机汇编程序设计单片机汇编程序设计 1片内数据存储器传送指令片内数据存储器传送指令MOV指令格式:指令格式:MOV 目的操作数,源操作数目的操作数,源操作数其中:其中:源操作数可以为源操作数可以为A、Rn、Ri、direct、#data目的操作数可以为目的操作数可以为A、Rn、Ri、direct第第3章章单片机汇编程序设计单片机汇编程序设计(1)以)以A为目的操作数为目的操作数MOV A,Rn ;A(Rn)MOV A,direct ;A(direct)MOV A,Ri ;A(Ri)MOV A,#data ;A#data(2)以)以Rn为目的操作数为目的操作数MOV Rn,A ;Rn
24、 (A)MOV Rn,direct;Rn(direct)MOV Rn,#data ;Rn#data第第3章章单片机汇编程序设计单片机汇编程序设计(3)以直接地址)以直接地址direct为目的操作数为目的操作数 MOV direct,A;direct (A)MOV direct,Rn;direct(Rn)MOV direct,direct;direct(direct)MOV direct,Ri ;direct(Ri)MOV direct,#data;direct#data(4)以间接地址)以间接地址Ri为目的操作数为目的操作数 MOV Ri,A ;(;(Ri)(A)MOV Ri,direct;(
25、;(Ri)(direct)MOV Ri,#data;(;(Ri)#data第第3章章单片机汇编程序设计单片机汇编程序设计(5)以)以DPTR为目的操作数为目的操作数 MOV DPTR,#data16 ;DPTR#data16注意,源操作数和目的操作数中的注意,源操作数和目的操作数中的Rn和和Ri不能相互配对不能相互配对。如不允许有如不允许有“MOV Rn,Rn”,“MOV Ri,Rn”这样的指令,这样的指令,在在MOV指令中,不允许在一条指令中同时出现工作寄存器,指令中,不允许在一条指令中同时出现工作寄存器,无论它是寄存器寻址还是寄存器间接寻址。无论它是寄存器寻址还是寄存器间接寻址。第第3章章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内