单片机 第3章

单片机 第3章

ID:43478536

大小:466.50 KB

页数:119页

时间:2019-10-08

单片机 第3章_第1页
单片机 第3章_第2页
单片机 第3章_第3页
单片机 第3章_第4页
单片机 第3章_第5页
资源描述:

《单片机 第3章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章MCS-51指令系统及汇编语言 程序设计3.1汇编语言的指令格式及符号简介3.2寻址方式3.3MCS-51单片机指令系统3.4汇编语言程序设计3.5常用程序设计举例前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所谓硬件就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,才能有效地工作。编写程序除了汇编语言外,单片机程序设计语言还有两

2、类:机器语言和高级语言,如C51。机器语言(MachineLanguage)是指直接用机器码编写、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦。汇编语言(AssemblyLanguage)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差

3、,只有熟悉单片机的硬件及指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。高级语言(High-LevelLanguage)是在汇编语言的基础上用自然语言的语句来编写程序,程序可读性强,通用性好,适用于不熟悉单片机指令系统的用户。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。而汇编语言源程序和高级语言源程序都必须经过编译生成机器语言文件后才能执行。3.1汇编语言的指令格式 及符号简介3.1.1符号简介由于指令的书写必须遵守一

4、定的规则,为了方便叙述和理解,我们先熟悉下面表31中常用符号的约定。Rn(n=0~7)当前选定寄存器组的8个工作寄存器R0~R7,究竟哪个寄存器组被选中,由PSW中的RS1、RS0决定。Ri(i=0或1)当前选定寄存器组中的可用于间接寻址的两个寄存器R0、R1。#data表示8位立即数,即00H~FFH。direct内部RAM的8位单元地址,可以是内部RAM区的低128B,也可以是内RAM高128B中特殊功能寄存器的单元地址或符号地址。addr11表示11位目的地址。用于ACALL与AJMP指令中,目的地址必须

5、放在与下一条指令起始地址同一个2KB程序存储器地址空间中。addr16表示16位目的地址。用于LCALL与LJMP指令中,目的地址范围是64KB程序存储器地址空间。rel表示8位带符号的偏移量。用于SJMP和所有的条件转移指令中。偏移字节相对于下一条指令的第一个字节计算,在-128~+127范围内值。bit表示内部RAM位寻址区或可位寻址的专用寄存器的位地址。DPTR数据指针,用在寄存器间接寻址方式中存放要访问的外部RAM的单元地址,也可以用在变址寻址方式中存放基地址。A累加器。B专用寄存器CPSW中的进位标志

6、Cy,或位寻址方式中的累加器。@为间接寻址方式中间址寄存器的前缀标志。/位操作指令中,表示对该位先求反再参与操作,但不影响该位的值。X表示片内RAM的直接地址或寄存器。(X)表示由X所指定的某寄存器或单元中的内容。((X))表示由X间接寻址的单元中的内容。←将“←”后面的内容传送到前面去。∨逻辑或。∧逻辑与。⊕逻辑异或。$表示当前指令的地址。3.1.2指令分类MCS-51单片机指令系统共有111条,按功能可以划分为以下5类:1.数据传送类指令(29条):分为片内RAM、片外RAM、程序存储器的传送类指令、交换

7、及堆栈指令。2.算术运算类指令(24条):分为加、带进位加、减、乘、除、加1、减1指令。3.逻辑运算与移位类指令(24条):分为逻辑与、或、异或、移位指令。4.控制转移类指令(17条):分为无条件转移与调用、条件转移、位转移、空操作指令。5.位操作类指令(17条):分为位数据传送、位变量修改、位与、位或指令。3.1.3指令格式指令的表示方法称之为指令格式,它规定了指令的长度和指令内部信息的安排等。一条完整的MCS51型单片机汇编语言的指令格式如下:[标号:]〈操作码〉[操作数1][,操作数2][,操作数3]

8、[;注释]标号——标号是该指令的起始地址的符号表示,也可以认为是指令的符号地址。标号由1~8个ASCII字符组成,第一个字符必须是字母,其余字符可以是字母、数字或其他特定符号。标号后紧跟分界符“:”。操作码——操作码部分规定了指令所能完成的功能,也就是说明了指令的操作性质。操作码是指令中唯一不能缺少的部分。操作数——操作数指出了指令的操作对象。操作数可以是一个具体的数据,也可以是存放数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。