网站大量收购闲置独家精品文档,联系QQ:2885784924

《单片机原理与应用技术》课件第3章.ppt

《单片机原理与应用技术》课件第3章.ppt

  1. 1、本文档共181页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第三章MCS-51单片机指令系统及程序设计

3.1单片机指令基础

3.2寻址方式

3.3指令系统

3.4汇编语言程序设计基础

3.5程序设计

3.6习题

实训三单片机输入/输出口的设计与使用

3.1单片机指令基础

3.1.1指令格式

指令的表示方法称为指令格式。MCS-51单片机汇编语

言指令的基本格式由以下几个部分组成:

[标号:]操作码[操作数][;注释]

3.1.2指令分类

MCS-51系列单片机指令系统共有111条指令。指令有功

能、时间、空间三种属性。

(1)按指令所占用存储空间的长度分类,指令可分为三

类:

①单字节指令:共49条;

②双字节指令:共45条;

③三字节指令:共17条。

(2)按指令执行时间分类,指令可分为三类:

①单机器周期指令:共64条;

②双机器周期指令:共45条;

③四机器周期指令:共2条,即乘法和除法指令。

指令执行时间和指令长度是两个完全不同的概念,前者

表示执行一条指令所用的时间;后者表示存放一条指令在

ROM中所占的存储空间,两者不能混淆。

(3)按指令功能分类,指令可分为数据传送类、算术运

算类、逻辑运算类、位操作类和控制转移类指令等五大类。

3.1.3指令系统中的符号约定

指令的一个重要组成部分是操作数,为了表示指令中各

种类型的操作数,MCS-51单片机指令系统采用了如下符号

约定:

(1) Rn:n=0~7,表示当前工作寄存器区的8个工作寄

存器R0~R7。

(2) Ri:i=0,1,表示当前工作寄存器区的两个工作寄

存器R0和R1,i只能取值0或1。

(3) direct:表示8位内部数据存储单元的地址。当取值

在00H~7H时,表示内部数据RAM;当取值在80H~0FFH

时,表示特殊功能寄存器。

(4) #:立即数符号,在指令系统中的数据和地址均用

十六进制数表示,为便于区别,用“#”号表示数据(立即数)。

“#”号是立即数的标记,凡数据前有“#”,代表该十六制数

为立即数,凡立即数必须在前面标记“#”。

(5) addr11:11位目的地址,用于ACALL和AJMP指令,

可在下条指令地址所在的同一2 KBROM范围内调用或转移。

(6) ddr16:16位目的地址,用于ACALL和AJMP指令,

能在64 KBROM范围内任意值调用或转移。

(7) rel:带符号的8位偏移地址,用于SJMP和条件转移

指令,其范围是相对于下一条指令第1字节地址的-128~

+127个字节。Rel≤7FH,属于0~+127B,程序向下转移;

rel≥80H(补码),属于-128B~0,则程序向上转移。

(8) bit:位地址,代表片内RAM中的可寻址位00H~

7FH及SFR中可寻址位。当取值为00H~7FH时,表示内部

数据RAM20H~2FH单元中的每一位地址。

(9) @:间接寻址符,表示其后的寄存器的值为操作数

的地址。@Ri表示寄存器Ri(i=0或1)中存放的是操作数的地

址。如果该地址是内部数据存储区中的地址,其取值范围为

00H~7FH;如果该地址是外部数据存储区中的地址,其取

值范围为00H~0FFH。当Ri的值在00H~7FH之间时,它表

示的既可能是内部数据存储空间中的地址,也可能是外部数

据存储空间中的地址,需要通过指令操作码来区分。

@DPTR:表示DPTR中存放的是操作数的地址,该地

址位于外部数据存储空间,其取值范围为0000H~0FFFFH。

(10) $:本指令的起始地址。

3.2寻址方式

1.立即寻址

立即寻址是直接给出操作数本身。操作数以指令字节的

形式存放于程序存储器中。操作数前加立即数符“#”。如果

立即数的最高位为A~F,字符前加前导“0”,以便区别于

标号。

2.直接寻址

直接寻址是以地址形式给出操作数的直接地址。直接寻

址范围为内RAM128B和特殊功能寄存器。

例如:设内部RAM3AH单元的内容是48H。

MOVA,3AH;将内

RAM3AH单元中的数据传至A中

执行过程如图3-1所示。

图3-1直接寻址示意图

3.寄存器寻址

寄存器寻址的操作数存放在规定的寄存器中,可直接以

寄存器的名字表示操作数地址,即寄存器中的内容为操作数。

寻址可用的寄存器有:工作寄存器R0~R7、累加器A、通

用寄存

您可能关注的文档

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档