收藏 分享(赏)

《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt

上传人:dreamzhangning 文档编号:5753152 上传时间:2019-03-15 格式:PPT 页数:23 大小:349KB
下载 相关 举报
《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt_第1页
第1页 / 共23页
《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt_第2页
第2页 / 共23页
《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt_第3页
第3页 / 共23页
《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt_第4页
第4页 / 共23页
《单片机原理与应用及上机指导》第3章:80C51单片机指令系统.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、第3章 80C51单片机指令系统,教学提示和教学目标 3.1 指令系统介绍 3.2 寻址方式和寻址空间 3.3 指 令 系 统 3.4 伪 指 令 3.5 上机指导:编写并调试数据传送程序,教学提示和教学目标,教学提示:本章介绍了单片机的指令系统,详细讲解了80C51单片机的寻址方式和寻址空间;最后详细地讲述了80C51单片机指令系统,包括数据传送类指令、算术运算类指令、逻辑运算类指令、控制转移类指令、布尔(位)处理指令。学习完这些内容后,读者可对80C51单片机进行简单的汇编语言的程序编写和程序的阅读。对单片机指令系统有一个比较全面的理解。 教学目标:熟悉汇编语言的特点及格式和指令系统的分类

2、;掌握指令系统的寻址方式和寻址空间;掌握111条指令系统,能,3.1 指令系统介绍,指令是指挥计算机执行某种操作的命令,一条指令可用两种语言形式表示,即机器语言和汇编语言,机器语言指令用二进制代码表示,称指令码,又称机器码,计算机能直接识别并加以分析和执行。汇编语言指令用助记符表示,称汇编语言指令,它便于程序员编写和阅读程序,但不能被计算机识别和执行,必须翻译成机器语言指令,把用汇编语言编写的源程序翻译成机器语言指令的过程称为汇编。这种翻译工具称为汇编程序或汇编器,80C51单片机常用的汇编器有ASM51.EXE、A8051.EXE、MCS51.EXE和A51.EXE等。 3.1.1 指令分类

3、 3.1.2 指令格式 3.1.3 指令系统中使用的符号,3.1.1 指令分类,80C51共有111条指令,按不同的方式有不同的分类方法,下面介绍主要的分类方式。 按实现的功能可分为: 数据传送指令(28条)。 算术运算指令(24条)。 逻辑运算指令(25条)。 控制运算指令(17条)。 位操作指令(17条)。 按字节数可分为: 单字指令(49条)。 双字节指令(45条)。 三字节指令(17条)。 按指令的执行时间可分为: 单周期指令(57条)。 双周期指令(52条)。 四周期指令(2条)。,3.1.2 指令格式,用二进制编码表示的机器语言指令由于不便于阅读、理解和记忆,因此在微机控制系统中采

4、用汇编语言(用助记符和专门的语言规则表示指令的功能和特征)指令来编写程序。80C51指令的典型格式如下: 标号: 操作码助记符 目的操作数,源操作数 ;注释 标号区段是由用户定义的符号组成,是该语句的符号地址,可根据需要进行设置。必须以英文大写字母开始。标号区段可缺省。若一条指令中有标号区段,标号代表该指令第一个字节所存放的存储器单元的地址,故标号又称为符号地址,在汇编时,把该地址赋值给标号。 操作助记符又称为操作码,操作码区段是指令要操作的数据信息。操作码和操作数是指令的核心部分。操作码使用MCS-51系列单片机所规定的助记符来表示,根据指令的不同功能,操作数可以有三个、两个、一个或没有操作

5、数。操作数表示参加操作的数本身或操作数所在的地址。操作数分为目的操作数和源操作数,采用符号或常量表示。操作码和操作数之间用空格分隔,而目的操作数和源操作数之间用逗号隔开。 注释是对指令的功能或作用的说明,注释不是指令的必要部分,主要是对程序段或某条指令在整个程序中的作用进行解释和说明,以帮助阅读、理解和使用源程序,注释部分一定要用分号隔开。,3.1.3 指令系统中使用的符号,在分类介绍指令系统功能之前,先对描述指令的一些符号或表示的方法做简单的说明。 Rn表示当前工作寄存器区中的工作寄存器,n取07,表示R0R7。 direct8位内部数据存储单元地址。它可以是一个内部数据RAM单元(0127

6、)或特殊功能寄存器地址或地址符号。 direct.n位地址的一种表示形式,n的取值范围为07。 Ri通过寄存器R1或R0间接寻址的8位内部数据RAM单元(0255),i=0、1。 #data指令中的8位立即数。 #data16指令中的16位立即数。 addr1616位目标地址。用于LCALL和LJMP指令,可指向64KB程序存储器地址空间的任何地方。 addr1111位目标地址。用于ACALL和AJMP指令,转至当前PC所在的同一个2KB程序存储器地址空间内。 rel补码形式的8位偏移量。用于相对转移和所有条件转移指令中。偏移量相对于当前PC计算,在-128+127范围内取值。,3.2 寻址方

7、式和寻址空间,操作数是指令的重要组成部分,它可以表示数据的地址。CPU在规定的寻址空间能迅速获得操作数的有效地址的方法,称为寻址方式,寻址方式与计算机存储器空间结构密切联系。寻址方式丰富多样,不仅为编程提供方便,而且会直接影响指令的长度和执行的速度。为了更好地学习和掌握指令系统,首先要了解寻址方式。80C51单片机共有7种寻址 方式。 3.2.1 寄存器寻址 3.2.2 直接寻址 3.2.3 寄存器间接寻址 3.2.4 立即寻址 3.2.5 变址间接寻址 3.2.6 相对寻址 3.2.7 位寻址,3.2.1 寄存器寻址,寄存器寻址方式是对由指令选定的工作寄存器(R0R7)进行读、写,由指令操作

8、码字节的最低3位指明所寻址的工作寄存器。对累加器A、寄存器B、数据指针DPTR、位处理累加器CY等,也可当做寄存器方式寻址。,3.2.2 直接寻址,直接寻址是由指令直接给出操作数所在的存储器地址,以供寻址取数或存放的寻址方式。 直接寻址方式可访问3种地址空间: 特殊功能寄存器地址空间,这是唯一能寻址特殊功能寄存器的寻址方式。 内部数据存储器RAM的00H7FH地址空间。 特定的位地址空间。,3.2.3 寄存器间接寻址,寄存器间接寻址以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式,能够用于寄存器间接寻址的寄存器有R0、R1、DPTR和SP。其中,R0和R1必须是工作寄存器组中的寄存器,

9、SP仅用于堆栈操作。 寄存器间接寻址的存储器空间包括内部数据RAM和外部数据RAM。,3.2.4 立即寻址,立即寻址由指令直接给出操作数寻址,可以立即参与指令所规定的操作,不需要另去寄存器或存储器等处寻找和取数。立即数的表示为#后跟数据。若该数据是以英文字母开头的十六进制数,则应该在英文字母前添加一个前导0。 立即寻址方式主要用来给寄存器或内部数据赋初值,也可以与累加器A做加减运算。还可以与累加器A、内部数据存储器、特殊功能寄存器进行逻辑运算。,3.2.5 变址间接寻址,变址间接寻址也可以叫做“基址寄存器加变址寄存器间接寻址方式”,是MCS-51系列指令集所独有的,它是以程序计数器PC或数据指

10、针DPTR作为基址寄存器,以累加器A作为变址寄存器,这二者内容之和为有效地址。 这种寻址方式特别适用于查表,DPTR为16位字宽,可指向64KB的任何单元,A+PC可指向以PC当前值为起始地址的256B单元。,3.2.6 相对寻址,相对寻址也用于访问程序存储器,相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量(rel)形成有效转移地址。相对偏移量是一个带符号的8位二进制数,常以补码的形式出现。因此,程序的转移范围为:以PC的当前值为起始地址,相对偏移在-128+127个字节单元之间。,3.2.7 位寻址,位寻址对位地址中的内容作位操作的寻址。由于单片机中只有内部RAM和特殊功能寄存器

11、的部分单元有位地址(两者统一编址,地址空间为00HFFH),因此位寻址只能对有位地址的这两个空间做寻址操作。 位寻址是一种直接寻址方式,由指令给出直接位地址。但与直接寻址的不同之处在于,位寻址只给出位地址,而不是字节地址。,3.3 指 令 系 统,80C51单片机的指令系统共有111条指令助记符、255条指令编码(即机器码)。为了便于在本课程的学习过程中掌握和在实际的应用过程中查阅,下面按指令功能的分类方式,对80C51单片机指令系统中所有指令进行全面的分类介绍。 3.3.1 数据传送指令 3.3.2 算术运算指 3.3.3 逻辑运算类指令 3.3.4 控制转移类指令 3.3.5 MCS-51

12、位(布尔)操作指令,3.3.1 数据传送指令,数据传送类指令是一种数量最大、最基本、最常用的一类指令,主要用于数据的传送、保存及交换等场合。该类指令的基本特点是,把“源操作数”提供的数据传送到“目的操作数”指定的存储位置,并不影响标志位。数据传送是否灵活、快速对程序的编写和执行速度产生很大的影响。80C51的数据传送操作可在累加器A、工作寄存器R0R7、内部数据存储器、外部数据存储器和程序存储器之间进行,其中对A和R0R7的操作最多。 80C51传送类指令有29条,按传送区不同可分为内部数据传送指令、外部数据传送指令、程序存储器数据传送指令和交换指令。,3.3.2 算术运算指令,80C51的算

13、术运算指令的主要功能是实现算术加、减、乘、除等运算共24条指令。其运算功能比较强。 算术运算指令执行的结果将影响进位(CY)、辅助进位(AC)、溢出标志位(OV)。但是加1和减1指令不影响这些标志。,3.3.3 逻辑运算类指令,这类指令主要用于对两个操作数按位进行逻辑操作,结果送到累加器A或直接寻址单元,这在指令所执行的操作主要有与、或、异或、求反、左右移位、清0等逻辑操作,有直接寻址、寄存器寻址和寄存器间接寻址等方式。这类指令一般不影响程序状态字(PSW)标志。仅当目的操作数为ACC时对奇偶标志位有影响。,3.3.4 控制转移类指令,控制转移类指令的功能是根据要求修改程序计数器PC的内容,以

14、改变程序的运行流程。控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间,80C51系列单片机的控制转移指令相对丰富,有可对64KB程序空间地址单元进行访问的长调用、长转移指令,也有可对2KB进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其他无条件转移指令,这些指令的执行一般都不会对标志位有影响。,3.3.5 MCS-51位(布尔)操作指令,控制转移类指令的功能是根据要求修改程序计数器PC的内容,以改变程序的运行流程。控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间,80C51系列单片机的控制转移指令相对丰富,有可对64KB程序空间地址单元进行访问的长调

15、用、长转移指令,也有可对2KB进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其他无条件转移指令,这些指令的执行一般都不会对标志位有影响。共有17条指令。 1无条件转移指令 2条件转移指令 3调用指令及返回指令 4空操作指令,3.4 伪 指 令,伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令,它不属于单片机的111条指令。不同的微机系统有不同的汇编程序,也就定义了不同的汇编命令。这些由英文字母表示的汇编命令称为伪指令。伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序(机器码),只是用来对汇编过程进行某种控制。89C51汇编程序定义的常用伪指令有以下几条。

16、1ORG 汇编起始地址命令 2END 汇编结束命令 3EQU 赋值命令 4DATA 数据地址赋值命令 5DB 定义字节命令 6DW定义字节命令 7DS定义存储空间命令,3.5 上机指导:编写并调试数据传送程序,1实验目的 掌握80C51内部RAM和外部RAM之间的数据传送方法;掌握RAM存储器的特点与应用,掌握各种数据传送方法。 2实验内容 编写并调试一个数据传送程序,具体步骤如下。 (1)将40H4FH数据送到数据存储器7E00H7E0FH中。 (2)将数据存储器7E00H7E0FH中的数据送到8031内部RAM 50H5FH中。 (3)将以(R2, R3)为源RAM区首地址内的(R6, R7)个字节数据,传送到以(R4, R5)为末地址的RAM区。 3实验程序参考图 数据传送实验程序框图如图3.3所示。 4调试方法 (1)打开仿真软件中的内部数据空间和外部数据空间,在40H4FH数据单元中分别送数,如1、2、3等16个数据。 (2)单步运行(断点设在BP2,程序运行至断点),检查外部RAM(7E00H7F0FH)数据是否与40H4FH数据一一对应。 (3)如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直至正确为止。 5思考 试编写将外部的数据存储区6030H607FH的内容写入外部RAM 3030H307FH中。,图3.3 数据传送实验程序框图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报