2022年单片微机原理及应用课件-MCS单片机指令系统_第1页
2022年单片微机原理及应用课件-MCS单片机指令系统_第2页
2022年单片微机原理及应用课件-MCS单片机指令系统_第3页
2022年单片微机原理及应用课件-MCS单片机指令系统_第4页
2022年单片微机原理及应用课件-MCS单片机指令系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章MCS-51单片机指令系统§3-1

指令及其表示方法§3-2寻址方式§3-3指令系统指令

=

操作码

+

操作数操作码——表示了该指令所能执行的操作功能。操作数——表示参加操作的数的本身或操作数所在的地址。指令功能:1、操作码指明执行什么性质和类型的操作。例如,加、减等2、操作数指定参加操作的数本身或操作数地址。3、指定操作结果存放的地址。4、指定下一条指令存放的地址。§3-1指令及其表示方法指令表示方法:指令有两种表示方法:1、机器码表示法例如,一条表示A=A+07的指令用机器码表示:

1100011000000111(二进制代码)或C607

(十六进制代码)2、助记符表示法指令用助记符表示为:ADDA,#07

计算机需要经过汇编程序翻译成机器码后才能执行。rel——8位带符号的偏移字节,简称偏移量。-126~129

用于相对转移指令。DPTR——数据指针,可用作16位地址寄存器。bit——内部RAM或专用寄存器中的直接寻址位地址。A——累加器。B——专用寄存器,用于乘法和除法指令中。C——进位标志或进位位,或布尔处理机中的累加器。@——寄存器间接寻址符号、前缀。$——当前指令存放的地址

/——位操作数的前缀,表示对该位操作数取反,如/bit。×——片内RAM的直接地址或寄存器。(×)——由×寻址的单元中的内容。

——箭头左边的内容被箭头右边的内容所代替。rrr——指令编码中rrr的值由当前工作寄存器Rn决定。R0~R7对应的rrr为000~111。返回本节3.2寻址方式

3.2.1立即寻址 3.2.2直接寻址3.2.3寄存器寻址3.2.4寄存器间接寻址3.2.5变址寻址 3.2.6相对寻址 3.2.7位寻址返回本章首页3.2.1立即数寻址

指令中直接给出操作数的寻址方式。立即寻址方式是操作数包括在指令字节中,指令操作码后面字节的内容就是操作数本身。立即操作数用前面加有#号的8位或16位数来表示。立即数只能作为源操作数,不能当作目的操作数。

例如:

MOVA,#52H;A

52H MOVDPTR,#5678H;DPTR

5678H

图为立即寻址示意图

3.2.2直接寻址

在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。

例如:

MOVA,52H

;把片内RAM字节地址52H单元的内 容送累加器A中。

MOV52H,A

;把A的内容传送给片内RAM的52H 单元中。

MOV50H,60H

;把片内RAM字节地址60H单元的内 容送到50H单元中。

MOVIE,#40H

;把立即数40H送到中断允许寄存器 IE。IE为专用功能寄存器,其字节 地址为0A8H。该指令等价于MOV 0A8H,#40H。

INC60H

;将地址60H单元中的内容自加1。能进行直接寻址的存储空间有:SFR寄存器。内部数据RAM的低128个字节。位地址空间。3.2.3寄存器寻址

以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B、DPTR以及R0~R7

等。

例如:CLRA

;A←0

INCDPTR

;DPTR←DPTR+1

ADDR5,#20H

;R5←#20H+R5返回本节;书放在甲抽屉中;甲抽屉的钥匙放在乙抽屉中;取书,A中

20HMOV30H,#20HMOVR0,#30HMOVA,@R0此例中,20H就当成是那本书;30H就当成是甲抽屉;

R0就当成是乙抽屉,执行的结果就是将20H这个立即数装入A中。期间也经历了两次寻址,即间接寻址。、寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,间接寻址寄存器前用“@”表示前缀。例如:“一本书放在甲抽屉中,上了锁;其开锁的钥匙放在乙抽屉中,乙抽屉也上了锁。问如何才能取到哪本书?”这就是一个间接寻址的问题,要经过两次寻址才能找到哪本书。而寄存器间接寻址也是同样。例如:

例如,一条表示A=A+07的指令用机器码表示:如ACALL,AJMP在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。将57H位地址的内容传送到 位累加器C中addr11——11位目的地址。例如,一条表示A=A+07的指令用机器码表示:b=2为转移指令的字节数。把A的内容传送给片内RAM的52H 单元中。如LCALL,LJMP指令操作示意图如图所示。4、指定下一条指令存放的地址。如ACALL,AJMPMOVA,52H;内部数据RAM的低128个字节。例如:MOV@R0,A

;内部RAM(R0)←A其指令操作过程示意图如图所示。又如:MOVXA,@R1;A←外部RAM(P2R1)其指令操作过程示意图如图所示。再如:MOVX@DPTR,A;RAM(DPTR)←A

其指令操作过程示意图如图所示。

片内RAM30HR034HA30H34HMOV@R0,A;间接寻址示意图能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。SP仅用于堆栈操作。片外RAM34HP245HA3410H45H10HR1片外RAM2000HDPTR30HA2000H30H

MOVXA,@R1间接寻址示意图MOVX

@DPTR,A间接寻址示意图返回本节3.2.5变址寻址

变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,

有效地址=基地址寄存器+变址寄存器基地址寄存器DPTR或PC

变址寄存器A

该寻址方式常用于访问程序存储器,查表。例如:MOVCA,@A+DPTR;A←(A+DPTR)又如,MOVCA,@A+PC;A←(A+PC)3.2.6、相对寻址把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。例如“李同学20岁,张同学比李同学大3岁,问张同学多少岁?”这就是一个相对寻年龄的问题,而相对寻址与此类似。如JC60H;设(PC)=2000H为基址,偏移量为60H;

则当C=1时,转移的目的地址=2000H+2+60H

相对寻址的有效地址为:D=PC+rel则rel=D-PCD—目的地址PC—源地址rel—相对地址

相对地址的机器码称为偏移量

disp(补码表示);

disp

=rel-bb—本条指令的字节数;取值范围为-128~+127;

b=2时,rel取值范围为-126~+129相对寻址用于修改PC值,主要用于实现程序的分支转移。

例如,SJMP08H

;PC←PC+2+08H

指令操作示意图如图所示。

程序存储器(2000H)200AHSJMP200AH08H2000H+208HPC2000H图为相对寻址示意图返回本节目标地址D=PC+rel;偏移量disp=rel-b;b=2为转移指令的字节数。

即disp=08;PC=2000H;b=2则rel=0AH3.2.7位寻址

MCS-51单片机中设有独立的位处理器。位操作指令能对内部RAM中的位寻址区(20H~2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论