单片机基础3课件.ppt





《单片机基础3课件.ppt》由会员分享,可在线阅读,更多相关《单片机基础3课件.ppt(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 指令系统第第3章章MCS-51单片机指令系统单片机指令系统3.1寻址方式寻址方式3.2指令系统指令系统第3章 指令系统 一一条条汇汇编编语语言言指指令令中中最最多多包包含含4个个区区段段,如如下下所示所示:标号标号:操作码操作码操作数操作数;注释注释4个个区区段段之之间间要要用用分分隔隔符符分分开开:如如果果操操作作数数有有两两个个以以上上,则则在在操操作作数数之之间间要要用用逗逗号号“,”隔隔开开(乘乘法指令和除法指令除外法指令和除法指令除外)。标标号号代代表表该该指指令令所所存存放放的的第第一一个个字字节节存存储储单单元的地址,故标号又称为元的地址,故标号又称为“符号地址符号地址”
2、。操作码也称操作码也称“助记符助记符”。第3章 指令系统1.单字节指令单字节指令(49条)条)单字节指令格式由单字节指令格式由8位二进制编码表示位二进制编码表示,例如例如:CLRAE4H2.双字节指令双字节指令(45条)条)双双字字节节指指令令格格式式由由两两个个字字节节组组成成,操操作作码码和和操操作作数数,例例如如:MOVA,10H74H10H3.三字节指令三字节指令(17条)条)三三字字节节指指令令格格式式中中,第第一一个个字字节节为为操操作作码码,后后两两个个字字节节为为操作数操作数,例如例如:MOV40H,30H75H40H30H 从执行时间看:单周期从执行时间看:单周期64条,双周
3、期条,双周期45条,四周期条,四周期2条。条。第3章 指令系统3.1寻址方式寻址方式所所谓谓寻寻址址方方式式,就就是是寻寻找找操操作作数数地地址址的的方方式式,在在用用汇汇编编语语言言编编程程时时,数数据据的的存存放放、传传送送、运运算算都都要要通通过过指指令令来来完完成成。编编程程者者必必须须自自始始至至终终都都要要十十分分清清楚楚操操作作数数的的位位置置,以以及及如如何何将将它它们们传传送送到到适适当当的的寄寄存存器器去去参参与与运运算算。每每一一种种计计算算机机都都具具有有多多种种寻寻址址方方式式。寻寻址址方方式式的的多多少少是是反反映映指指令系统优劣的主要指标之一。令系统优劣的主要指标
4、之一。第3章 指令系统 在在MCS-51单片机指令系统中单片机指令系统中,有以下有以下7种寻址方式种寻址方式:(1)立即寻址立即寻址;(2)直接寻址直接寻址;(3)寄存器寻址寄存器寻址;(4)寄存器间接寻址寄存器间接寻址;(5)基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址;(6)相对寻址相对寻址;(7)位寻址。位寻址。第3章 指令系统1.立即寻址立即寻址立立即即寻寻址址方方式式是是指指操操作作数数包包含含在在指指令令字字节节中中。跟跟在在指指令令操操作作码码后后面面的的数数就就是是参参加加运运算算的的数数,该该操操作作数数称称为为立立即即数数。立即数有一字节和二字节两种可能立即
5、数有一字节和二字节两种可能,例如指令例如指令:MOVA,3AHMOVDPTR,0DFFFH上上述述两两条条指指令令均均为为立立即即寻寻址址方方式式,第第一一条条指指令令的的功功能能是是将将立立即即数数3AH送送累累加加器器A中中,第第二二条条指指令令的的功功能能是是将将立立即即数数0DFFFH送数据指针送数据指针DPTR中(中(0DFHDPH,0FFHDPL)。)。第3章 指令系统2.直接寻址直接寻址在在指指令令中中直直接接给给出出操操作作数数的的地地址址,这这种种寻寻址址方方式式就就属属于于直直接接寻寻址址方方式式。在在这这种种方方式式中中,指指令令的的操操作作数数部部分分直直接接是是操操作
6、作数数的地址。的地址。在在MCS-51单单片片机机指指令令系系统统中中,直直接接寻寻址址方方式式中中可可以以访访问问3种存储器空间种存储器空间:(1)内部数据存储器的低内部数据存储器的低128个字节单元(个字节单元(00H7FH)。)。(2)特特殊殊功功能能寄寄存存器器。特特殊殊功功能能寄寄存存器器只只能能用用直直接接寻寻址址方方式进行访问。式进行访问。(3)位地址空间。位地址空间。MOVA,30HMOVC,00HMOVA,SBUF第3章 指令系统 3.寄存器寻址寄存器寻址在在该该寻寻址址方方式式中中,参参加加操操作作的的数数存存放放在在寄寄存存器器里里。寄寄存存器器包包括括8个个工工作作寄寄
7、存存器器R0R7,累累加加器器A,寄寄存存器器B、数数据据指针指针DPTR和布尔处理器的位累加器和布尔处理器的位累加器Cy。例如例如:MOVA,R1MOVB,R2MOVDPTR,#8000H第3章 指令系统4.寄存器间接寻址寄存器间接寻址指指令令中中给给出出间间接接寻寻址址寄寄存存器器,其其内内容容为为操操作作数数的的地地址址。寻寻址址内内部部RAM区区的的数数据据时时,可可使使用用寄寄存存器器R0、R1作作为为地地址址指指针针;当当访访问问外外部部RAM时时,可可使使用用R0、R1及及DPTR作作为为地地址址指指针针。寄寄存存器器间间接寻址符号为接寻址符号为“”,例如例如:第3章 指令系统5
8、.基址寄存器加变址寄存器间接寻址基址寄存器加变址寄存器间接寻址这这种种寻寻址址方方式式用用于于访访问问程程序序存存储储器器中中的的数数据据表表格格,它它以以基基址址寄寄存存器器DPTR或或PC的的内内容容为为基基本本地地址址,加加上上变变址址寄寄存存器器A的的内内容容作作为为操操作作数数的的地地址址,例例如如:MOVCA,ADPTRMOVCA,APCJMPADPTR;散转指令;散转指令第3章 指令系统6.相对寻址相对寻址在在MCS-51指指令令系系统统中中设设有有转转移移指指令令,分分为为直直接接转转移移和和相相对对转转移移指指令令,在在相相对对转转移移指指令令中中采采用用相相对对寻寻址址方方
9、式式。这这种种寻寻址址方方式式是是以以PC的的内内容容为为基基本本地地址址,加加上上指指令令中中给给定定的的偏偏移移量量作作为为转转移移地地址址。指指令令中中给给出出的的偏偏移移量量是是一一个个8位位带符号的常数带符号的常数,可正可负可正可负,其范围为其范围为128+127。JC06H7.位寻址位寻址该该种种寻寻址址方方式式中中,操操作作数数是是内内部部RAM单单元元中中某某一一位位的的信息。信息。MOVC,30H第3章 指令系统3.2指令系统指令系统3.2.1指令分类指令分类按指令的功能按指令的功能,MCS-51指令系统可分为下列指令系统可分为下列5类类:(1)数据传送数据传送;(2)算术运
10、算算术运算;(3)逻辑运算逻辑运算;(4)位操作位操作;(5)控制转移。控制转移。第3章 指令系统描述指令的一些符号的意义:描述指令的一些符号的意义:Rn当前选定的寄存器区中的当前选定的寄存器区中的8个工作寄存器个工作寄存器R0R7,即即n=07。Ri当前选定的寄存器区中的当前选定的寄存器区中的2个寄存器个寄存器R0、R1,i=0或或1direct8位位内内部部RAM单单元元的的地地址址,它它可可以以是是一一个个内内部部数数据据区区RAM单单元元(00H7FH)或或特特殊殊功功能能寄寄存存器器地地址址(I/O端端口口、控制寄存器、控制寄存器、状态寄存器状态寄存器80H0FFH)。data指令中
11、的指令中的8位常数。位常数。data16指令中的指令中的16位常数。位常数。addr1616位位的的目目的的地地址址,用用于于LJMP,LCALL指指令令,可可指向指向64KB程序存储器地址空间。程序存储器地址空间。第3章 指令系统 addr1111位位的的目目的的地地址址,用用于于AJMP,ACALL指指令令。目目的的地地址址必必须须与与下下一一条条指指令令的的第第一一个个字字节节在在同同一一个个2KB程程序存储器地址空间之内。序存储器地址空间之内。rel8位位带带符符号号的的偏偏移移量量字字节节,用用于于SJMP和和所所有有条条件件转转移移指指令令中中。偏偏移移量量相相对对于于下下一一条条
12、指指令令的的第第一一个个字字节节计计算算,在在128+127范围内取值。范围内取值。bit内内部部数数据据RAM或或特特殊殊功功能能寄寄存存器器中中的的可可直直接接寻寻址位。址位。DPTR数据指针数据指针,可用作可用作16位的地址寄存器。位的地址寄存器。第3章 指令系统A累加器。累加器。B寄存器寄存器,用于用于MUL和和DIV指令中。指令中。C进位标志或进位位。进位标志或进位位。间间接接寻寻址址寄寄存存器器或或基基址址寄寄存存器器的的前前缀缀,如如Ri,DPTR。/位操作数的前缀位操作数的前缀,表示对该位取反。表示对该位取反。(X)X中的内容。中的内容。(X)由由X寻址的单元中的内容。寻址的单
13、元中的内容。箭头左边的内容被箭头右边的内容所代替。箭头左边的内容被箭头右边的内容所代替。第3章 指令系统3.2.2数据传送类指令数据传送类指令图图31MCS-51传送指令示意图传送指令示意图 第3章 指令系统1.数据传送到累加器数据传送到累加器A的指令的指令MOVA,RnMOVA,directMOVA,RiMOVA,data这这组组指指令令的的功功能能是是:把把源源操操作作数数的的内内容容送送入入累累加加器器A。例例如如:MOVA,10H,该该指指令令执执行行时时将将立立即即数数10H送送入入累累加器加器A中。中。第3章 指令系统2.数据传送到工作寄存器数据传送到工作寄存器Rn的指令的指令 M
14、OVRn,AMOVRn,directMOVRn,data这这组组指指令令的的功功能能是是:把把源源操操作作数数的的内内容容送送入入当当前前工工作作寄寄存存器器区区的的R0R7中中的的某某一一个个寄寄存存器器。指指令令中中Rn在在内内部部数数据据存存储储器器中中的的地地址址由由当当前前的的工工作作寄寄存存器器区区选选择择位位RS1、RS0确确定定,可可以以是是 00H07H、08H0FH、10H17H、18H1FH。例例如如:MOVR0,A,若若当当前前RS1、RS0设设置置为为00(即即工工作作寄寄存存器器0区区),执执行行该该指指令令时时,将将累累加加器器A中中的的数数据据传传送送至工作寄存
15、器至工作寄存器R0(内部内部RAM00H)单元中。单元中。第3章 指令系统3.数据传送到内部数据传送到内部RAM单元或特殊功能寄存器单元或特殊功能寄存器SFR的指令的指令 MOVdirect,AMOVdirect,RnMOVdirect1,direct2MOVdirect,RiMOVdirect,dataMOVRi,AMOVRi,directMOVRi,dataMOVDPTR,data16第3章 指令系统 这这组组指指令令的的功功能能是是:把把源源操操作作数数的的内内容容送送入入内内部部RAM单单元元或或特特殊殊功功能能寄寄存存器器。其其中中第第三三条条指指令令和和最最后后一一条条指指令令都都
16、是是三三字字节节指指令令。第第三三条条指指令令的的功功能能很很强强,能能实实现现内内部部RAM之之间间、特特殊殊功功能能寄寄存存器器之之间间或或特特殊殊功功能能寄寄存存器器与与内内部部RAM之之间间的的直直接接数数据据传传送送。最最后后一一条条指指令令是是将将16位位的的立立即即数送入数据指针寄存器数送入数据指针寄存器DPTR。第3章 指令系统4.累加器累加器A与外部数据存储器之间的传送指令与外部数据存储器之间的传送指令 MOVXA,DPTRMOVXA,RiMOVXDPTR,AMOVXRi,A第3章 指令系统 这这组组指指令令是是:在在累累加加器器A与与外外部部数数据据存存储储器器RAM单单元
17、元或或I/O口口之之间间进进行行数数据据传传送送,前前两两条条指指令令执执行行时时,P3.7引引脚脚上上输输出出RD有有效效信信号号,用用作作外外部部数数据据存存储储器器的的读读选选通通信信号号;后后两两条条指指令令执执行行时时,P3.6引引脚脚上上输输出出WR有有效效信信号号,用用作作外外部部数数据据存存储储器器的的写写选选通通信信号号。DPTR所所包包含含的的16位位地地址址信信息息由由P0(低低8位位)和和P2(高高8位位)输输出出,而而数数据据信信息息由由P0口口传传送送,P0口口作作分分时时复复用用的的总总线线。由由Ri作作为为间间接接寻寻址址寄寄存存器器时时,P0口口上上分分时时输
18、输出出Ri指定的指定的8位地址信息及传输位地址信息及传输8位数据。位数据。第3章 指令系统5.堆栈操作指令堆栈操作指令 PUSHdirectPOPdirect在在MCS-51单单片片机机的的内内部部RAM中中,可可以以设设定定一一个个先先进进后后出出的的区区域域,称称其其为为堆堆栈栈。在在特特殊殊功功能能寄寄存存器器中中有有一一个个堆堆栈栈指指针针SP,它它指指出出栈栈顶顶的的位位置置。进进栈栈指指令令的的功功能能是是:首首先先将将堆堆栈栈指指针针SP的的内内容容加加1,然然后后将将直直接接地地址址所所指指出出的的内内容容送送入入SP指指出出的的内内部部RAM单单元元;出出栈栈指指令令的的功功
19、能能是是:将将SP所所指指出出的的内内部部RAM单单元元的的内内容容送送入入由由直直接接地地址址所所指指出出的的字字节节单单元元,接接着着将将堆堆栈栈指指针针SP的内容减的内容减1。第3章 指令系统 例例如如:进进入入中中断断服服务务子子程程序序时时,把把程程序序状状态态寄寄存存器器PSW、累累加加器器A、数数据据指指针针DPTR进进栈栈保保护护。设设当当前前SP为为60H。则则程序段程序段PUSHPSWPUSHACCPUSHDPLPUSHDPH执执行行后后,SP内内容容修修改改为为64H,而而61H、62H、63H、64H单单元元中中依依次次栈栈入入PSW、A、DPL、DPH的的内内容容。当
20、当中中断断服服务务程程序序结结束之前束之前,如下程序段如下程序段(SP保持保持64H不变不变)第3章 指令系统 POPDPHPOPDPLPOPACCPOPPSW执执行行之之后后,SP内内容容修修改改为为60H,而而64H、63H、62H、61H单元中的内容依次弹出到单元中的内容依次弹出到DPH、DPL、A、PSW中。中。MCS-51提提供供一一个个向向上上升升的的堆堆栈栈,因因此此SP设设置置初初值值时时要要充充分分考考虑虑堆堆栈栈的的深深度度,要要留留出出适适当当的的单单元元空空间间,满满足足堆堆栈栈的使用。的使用。第3章 指令系统6.程序存储器内容送累加器程序存储器内容送累加器 MOVCA
21、,A+PCMOVCA,A+DPTR这这是是两两条条很很有有用用的的查查表表指指令令,可可用用来来查查找找存存放放在在程程序序存存储储器器中中的的常常数数表表格格。第第一一条条指指令令是是以以PC作作为为基基址址寄寄存存器器,A的的内内容容作作为为无无符符号号数数和和PC的的内内容容(下下一一条条指指令令的的起起始始地地址址)相相加加后后得得到到一一个个16位位的的地地址址,并并将将该该地地址址指指出出的的程程序序存存储储器器单单元元的的内内容容送送到到累累加加器器A。这这条条指指令令的的优优点点是是不不改改变变特特殊殊功功能能寄寄存存器器和和PC的的状状态态,只只要要根根据据A的的内内容容就就
22、可可以以取取出出表表格格中中的的常常数数。缺缺点点是是表表格格只只能能放放在在该该条条查查表表指指令令后后面面的的256个个单单元元之之中中,表表格格的大小受到限制的大小受到限制,而且表格只能被一段程序所利用。而且表格只能被一段程序所利用。第3章 指令系统 第第二二条条指指令令是是以以DPTR作作为为基基址址寄寄存存器器,累累加加器器A的的内内容容作作为为无无符符号号数数与与DPTR内内容容相相加加,得得到到一一个个16位位的的地地址址,并并把把该该地地址址指指出出的的程程序序存存储储器器单单元元的的内内容容送送到到累累加加器器A。这这条条指指令令的的执执行行结结果果只只与与指指针针DPTR及
23、及累累加加器器A的的内内容容有有关关,与与该该指指令令存存放放的的地地址址无无关关,因因此此,表表格格的的大大小小和和位位置置可可以以在在64KB程程序序存存储储器器中中任任意意安安排排,并并且且一一个个表表格格可可以以为为各各个个程程序序块所共用。块所共用。第3章 指令系统 7.交换指令交换指令 XCHA,RnXCHA,RiXCHA,directXCHDA,RiSWAPA前前三三条条指指令令是是将将累累加加器器A的的内内容容和和源源操操作作数数内内容容相相互互交交换换;后后两两条条指指令令是是半半字字节节交交换换指指令令,最最后后一一条条指指令令是是将将累累加加器器A的的高高4位位与与低低4
24、位位之之间间进进行行交交换换,而而另另外外一一条条指指令令是是将将累累加加器器A的的低低4位位内内容容和和(Ri)所所指指出出的的内内部部RAM单单元元的的低低4位内容相互交换。位内容相互交换。第3章 指令系统 传送类指令举例:传送类指令举例:1、将立即数、将立即数01H送入内部送入内部RAM30H中中MOV30H,#01H或或MOVA,#01HMOV30H,A2、将立即数、将立即数01H送外部送外部RAM2000H单元中单元中方案方案1:MOVX2000H,#01H;?方案方案2;MOVA,#01HMOVX2000H,A;?方案方案3:MOVB,#01H;?MOVDPTR,#2000HMOV
25、XDPTR,B第3章 指令系统正确的方案:正确的方案:MOVA,#01HMOVDPTR,#2000HMOVXDPTR,A3、编程实现内部、编程实现内部RAM30H和和31H单元的内容交换单元的内容交换方案方案1、XCH31H,30H;?方案方案2、MOVA,30H;暂存;暂存MOV30H,31HMOV31H,A方案方案3、XCHA,30HXCHA,31HXCHA,30H第3章 指令系统方案方案4、PUSH30HPUSH31HPOP30HPOP31H4、将程序存储器、将程序存储器1000H单元的内容送外部单元的内容送外部RAM30HMOVA,#00HMOVDPTR,#1000HMOVCA,A+D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 基础 课件

限制150内