片机原理及应用第二章.ppt
《片机原理及应用第二章.ppt》由会员分享,可在线阅读,更多相关《片机原理及应用第二章.ppt(125页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 MCS-51单片机指令系统与单片机指令系统与汇编语言程序设计汇编语言程序设计主要内容:主要内容:MCS-51单片机的寻址方式、指令系统、基本程单片机的寻址方式、指令系统、基本程序结构及汇编语言程序的开发与调试。序结构及汇编语言程序的开发与调试。重重 点:点:寻址方式、各种指令的应用、程序设计的规范、寻址方式、各种指令的应用、程序设计的规范、程序设计的思想及典型程序的理解和掌握。程序设计的思想及典型程序的理解和掌握。难难 点:点:控制转移、位操作指令的理解,各种指令的灵活控制转移、位操作指令的理解,各种指令的灵活应用,程序设计的基本方法以及针对具体的硬件应用,程序设计的基本方法以及针
2、对具体的硬件设计出最合理的软件设计出最合理的软件。要要 求求:抽时间自学抽时间自学KeilKeil,C51C51。第第2章章 MCS-51单片机指令系统与单片机指令系统与汇编语言程序设计汇编语言程序设计2.1 概述概述2.2 MCS-51单片机的寻址方式单片机的寻址方式2.3 MCS-51单片机的指令系统单片机的指令系统2.4 汇编语言及程序设计汇编语言及程序设计2.5 程序设计举例程序设计举例2.6 汇编语言的开发环境汇编语言的开发环境指令系统:指令系统:一台计算机所能识别、执行的指令的集合。一台计算机所能识别、执行的指令的集合。机器语言:机器语言:指令系统是一套控制计算机执行操作的二进制编
3、码,指令系统是一套控制计算机执行操作的二进制编码,称为机器语言。称为机器语言。特点:特点:机器语言指令是计算机惟一能直接识别机器语言指令是计算机惟一能直接识别和执行的指令。和执行的指令。汇编语言:汇编语言:利用指令助记符来描述指令系统的一套计算机指令。利用指令助记符来描述指令系统的一套计算机指令。特点:特点:计算机的指令系统一般都是利用汇编语言描述的,是由计算机的指令系统一般都是利用汇编语言描述的,是由计算机硬件设计所决定的。指令系统没有通用性。计算机硬件设计所决定的。指令系统没有通用性。2.1 2.1 概述概述 单片机一般是空机,未含任何系统软件。因此在第一次使单片机一般是空机,未含任何系统
4、软件。因此在第一次使用前,必须对其进行编程。用前,必须对其进行编程。指令:指令:计算机用于控制各功能部件完成某一指定动作的指示和命令。计算机用于控制各功能部件完成某一指定动作的指示和命令。识别指令的标志识别指令的标志指令的表示形式:指令的表示形式:(1)指令的二进制形式)指令的二进制形式 机器码、源程序的目标代码机器码、源程序的目标代码二进制。二进制。特点:特点:直接为计算机识直接为计算机识别和执行。读别和执行。读/写和记忆困难。写和记忆困难。(2)指令的十六进制形式指令的十六进制形式 指令的十六进代码需翻译成二进制代码才能被计算机识别和执行。指令的十六进代码需翻译成二进制代码才能被计算机识别
5、和执行。特点:特点:方便读,写和记忆困难。方便读,写和记忆困难。(3)指令助记符指令助记符 用英文字母、单词表征指令的功能。其源程序必须翻译成机器码用英文字母、单词表征指令的功能。其源程序必须翻译成机器码(目标代码)才能被计算机识别和执行。(目标代码)才能被计算机识别和执行。特点:特点:方便读方便读/写和记忆。写和记忆。2.1.1 汇编语言指令格式与伪指令汇编语言指令格式与伪指令2.1.2 指令的分类指令的分类2.1.3 指令中的常用符号指令中的常用符号2.1 2.1 概述概述 2.1.1 2.1.1 汇编语言指令格式与伪指令汇编语言指令格式与伪指令 1常用单位与术语常用单位与术语位位(bit
6、):计计算算机机所所能能表表示示的的最最小小的的、最最基基本本的的数数据据单单位位,指指一个二进制位。一个二进制位。字节(字节(Byte):):一个连续的一个连续的8位二进制数码,位二进制数码,1Byte=8bit。字(字(Word):):通常由通常由16位二进制数码组成,即位二进制数码组成,即1Word=2Byte。字长:字长:计算机一次处理二进制数码的位数。计算机一次处理二进制数码的位数。MCS-51系列单片机都是以系列单片机都是以Intel公司最早的典型公司最早的典型8位产品位产品8051为核心,增加了一定的功能部件后构成的。本章以为核心,增加了一定的功能部件后构成的。本章以8051为主
7、介绍为主介绍MCS-51系列单片机。系列单片机。2 2汇编语言指令格式汇编语言指令格式 指令格式:指令格式:指令的表示方式,规定了指令的长度和内部信息的安排。指令的表示方式,规定了指令的长度和内部信息的安排。标号标号:操作码操作码 操作数操作数,操作数操作数 ;注释注释 其中:其中:项是可选项。项是可选项。标标号号(符符号号地地址址):本本条条指指令令起起始始地地址址的的符符号号,代代表表该该条条指指令令在在程程序序编译时的具体地址。编译时的具体地址。操操作作码码(助助记记符符):英英文文字字母母、单单词词表表征征指指令令,一一般般是是对对应应英英文文的的缩缩写写。特特点点:规规定定了了指指令
8、令具具体体的的操操作作功功能能,描描述述指指令令的的操操作作性性质质,是是指指令语句的关键,是一条指令中不可缺少的内容。令语句的关键,是一条指令中不可缺少的内容。操作数:操作数:一个具体的数据,或存放数据的地址。一个具体的数据,或存放数据的地址。注注释释:针针对对某某指指令令而而添添加加的的说说明明性性文文字字,增增加加程程序序的的可可读读性性,不不产产生生可执行的目标代码。可执行的目标代码。伪指令:伪指令:汇编程序的控制命令。是程序员发给汇编程序的命令。汇编程序的控制命令。是程序员发给汇编程序的命令。功能:功能:设置符号值、保留和初始化存储空间、控制用户程序代设置符号值、保留和初始化存储空间
9、、控制用户程序代码的位置。码的位置。3伪指令伪指令 伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制信息,不产生可执行的目标代码,是制信息,不产生可执行的目标代码,是CPU不能实际执行的指令。不能实际执行的指令。(1)定位伪指令)定位伪指令ORG格式:格式:ORG n其中:其中:n绝对地址,十六进制数、标号或表达式。绝对地址,十六进制数、标号或表达式。功能:功能:规定编译后的机器代码存放的起始位置。规定编译后的机器代码存放的起始位置。规定:规定:在一个汇编语言源程序中允许存在多条定位伪指令,在一个汇编语言源程序中允许存在多条定位伪指令,
10、但每一个但每一个n值都应和前面生成的机器指令存放地址不重叠。值都应和前面生成的机器指令存放地址不重叠。例如:例如:ORG 1000H START:MOV A,#20H MOV B,#30H (2)结束汇编伪指令)结束汇编伪指令END格式:格式:标号标号:END 表达式表达式功功能能:源源程程序序的的汇汇编编到到此此结结束束,其其后后的的任任何何内内容容不不予予理理睬睬。放放在汇编语言源程序的末尾。在汇编语言源程序的末尾。(3)赋值伪指令)赋值伪指令EQU格式:格式:字符名称字符名称x EQU 赋值项赋值项n功功能能:将将赋赋值值项项n的的值值赋赋予予字字符符名名称称x。程程序序中中凡凡出出现现
11、该该字字符符名名称称x就等同于该赋值项就等同于该赋值项n,其值在整个程序中有效。其值在整个程序中有效。规规定定:在在使使用用时时,必必须须先先赋赋值值后后使使用用。赋赋值值项项n可可以以是是常常数数、地地址、标号或表达式址、标号或表达式。“字符名称字符名称”与与“标号标号”表示形式的区别:表示形式的区别:“字符名称字符名称”后无冒号,而后无冒号,而“标号标号”后面有冒号。后面有冒号。(4)定义字节伪指令)定义字节伪指令DB格式:格式:标号标号:DB x1,x2,xn功功能能:将将8位位数数据据(数数据据组组)x1,x2,xn顺顺序序存存放放在在从从当当前前程程序序存储器地址开始的存储单元中。存
12、储器地址开始的存储单元中。规规定定:xi8位位常常数数(00HFFH)、ASCII码码(字字符符在在单单引引号号内内)、表表达达式式,字字符符串串(在在单单引引号号内内,长长度度80个个字字符符)。两两个个数据之间用逗号数据之间用逗号“,”分隔。分隔。(5)定义双字节伪指令)定义双字节伪指令DW格式:格式:标号标号:DW x1,x2,xn功能:功能:将双字节数据(数据组)顺序存放在从标号指定地址单将双字节数据(数据组)顺序存放在从标号指定地址单元开始的存储单元中。元开始的存储单元中。规定:规定:xi16位数值常数,先存高位数值常数,先存高8位入低位地址单元。位入低位地址单元。(6)预留存储空间
13、伪指令)预留存储空间伪指令DS格式:格式:标号标号:DS n功能:功能:从标号指定地址单元开始,预留从标号指定地址单元开始,预留n个存储单元。个存储单元。规定:规定:汇编时不对预留存储单元赋值。汇编时不对预留存储单元赋值。n数据,表达式。数据,表达式。注意:注意:DB、DW、DS伪指令只能对程序存储器进行赋值和初始伪指令只能对程序存储器进行赋值和初始化工作,不能用来对数据存储器进行赋值和初始化工作。化工作,不能用来对数据存储器进行赋值和初始化工作。(7)定义位地址符号伪指令)定义位地址符号伪指令BIT格式:格式:字符名称字符名称x BIT 位地址位地址n功能:功能:将位地址将位地址n的值赋予字
14、符名称的值赋予字符名称x。规定:规定:程序中凡出现该字符名称程序中凡出现该字符名称x就代表该位地址。位地址就代表该位地址。位地址n绝对绝对地址,符号地址。地址,符号地址。(8)数据地址赋值伪指令)数据地址赋值伪指令DATA格式:格式:字符名称字符名称x DATA 表达式表达式n功能:功能:把表达式把表达式n的值赋值给左边的字符名称的值赋值给左边的字符名称x。规定:规定:n数据或地址,包含所定义的数据或地址,包含所定义的“字符名称字符名称x”在内的表达式,在内的表达式,但不能为汇编符号。但不能为汇编符号。DATA与与EQU的主要区别是:的主要区别是:EQU必须先定义后使用,必须先定义后使用,DA
15、TA无限无限制。制。EQU 源程序的开头,源程序的开头,DATA源程序的开头或末尾。源程序的开头或末尾。2.1.2 指令的分类指令的分类 MCS-51指令系统有指令系统有111条指令条指令,分类如下:,分类如下:1.按指令字节数分类按指令字节数分类 单字节单字节(49条条),双字节,双字节(46条条),3字节字节(16条条)。2.按指令执行时间分类按指令执行时间分类 单机器周期指令(单机器周期指令(65条)、双机器周期指令(条)、双机器周期指令(44条)和四机条)和四机器周期指令(器周期指令(2条)。条)。3.按功能分类按功能分类 数据传送指令(数据传送指令(29条)、算术操作指令(条)、算术
16、操作指令(24条)、逻辑操作条)、逻辑操作指令(指令(24条)、控制转移指令(条)、控制转移指令(17条)和位操作指令(条)和位操作指令(17条)。条)。4.指令的字节数:指令的字节数:指令操作码指令操作码1字节;直接地址字节;直接地址1字节,字节,8位数据位数据1字节,字节,16位数位数据据2字节;操作数中的字节;操作数中的A、B、R0R7、C、Ri、DPTR、A+DPTR、A+PC等均隐含在操作码中。等均隐含在操作码中。(1)1字节指令(单字节指令)字节指令(单字节指令)指令中只有操作码。指令中只有操作码。NOP RET 操作数的寄存器号隐含在指令码中。操作数的寄存器号隐含在指令码中。MO
17、V A,Rn;指令码指令码11101 rrr INC DPTR;指令码指令码A3H(2)2字节指令(双字节指令)字节指令(双字节指令)指令的格式:指令的格式:操作码操作码 操作数操作数(操作码为第一字节,操作数为第二字节操作码为第一字节,操作数为第二字节)MOV A,#data;指令码为指令码为0111 0100#data(3)3字节指令(三字节指令)字节指令(三字节指令)指令的格式:指令的格式:操作码操作码 目的操作数,源操作数目的操作数,源操作数(三字节:操作码,目的操三字节:操作码,目的操作数,源操作数作数,源操作数)ANL direct,#data;指令码指令码0101 0011 di
18、rect#dataSWAP A23221232112MOV DPTR,#1000HMOVA,20HANLA,#0FHMOVC A,A+DPTRMOV21H,AMOVSP,#60HANLA,#0F0HMOVC A,A+PCMOV22H,ASJMP 注:注:部分特殊功能寄存器部分特殊功能寄存器SFR占一个字节。占一个字节。2.1.3 指令中的常用符号指令中的常用符号 MCS-51指令系统共有指令系统共有44种助记符,类似于种助记符,类似于8086。常用符号如下:。常用符号如下:Rn(n=07):):工作寄存器组工作寄存器组R0R7中的任一个寄存器。中的任一个寄存器。Ri(i=0或或1):):工作寄
19、存器组中用于间址的寄存器工作寄存器组中用于间址的寄存器R0,R1。#data:8位直接参与操作的立即数。位直接参与操作的立即数。#data16:16位直接参与操作的立即数。位直接参与操作的立即数。direct:片内片内RAM的的8位单元地址。位单元地址。addr11:11位目的地址,主要用于位目的地址,主要用于ACALL和和AJMP指令中。指令中。addr16:16位目的地址,主要用于位目的地址,主要用于LCALL和和LJMP指令中。指令中。rel:8位位二二进进制制地地址址偏偏移移量量(补补码码),取取值值范范围围为为 128+127,主主要要用于相对转移指令,以形成转移的目的地址。用于相对
20、转移指令,以形成转移的目的地址。DPTR:数据指针,用于寄存器间接寻址方式和变址寻址方式数据指针,用于寄存器间接寻址方式和变址寻址方式。bit:片内片内RAM的位寻址区、可以位寻址的的位寻址区、可以位寻址的SFR的位地址。的位地址。A(或(或ACC):):累加器。累加器。B:B寄存器。寄存器。C:PSW中的进位标志位中的进位标志位Cy。:用于间接寻址寄存器指针的前缀标志。用于间接寻址寄存器指针的前缀标志。$:当前指令的地址。当前指令的地址。/:在位操作指令中,对该位先求反后再参与操作。在位操作指令中,对该位先求反后再参与操作。(X):由由X所指定的某寄存器或某单元中的内容。所指定的某寄存器或某
21、单元中的内容。(X):由由X间接寻址单元中的内容。间接寻址单元中的内容。:指令的操作结果是将箭头右边的内容传送到左边。指令的操作结果是将箭头右边的内容传送到左边。:指令的操作结果是将箭头左边的内容传送到右边。指令的操作结果是将箭头左边的内容传送到右边。、:表示逻辑或、与、异或。表示逻辑或、与、异或。寻址方式:寻址方式:说明操作数所在地址的方法。或指令按地址获得操作说明操作数所在地址的方法。或指令按地址获得操作数的方式。数的方式。计计算算机机在在设设计计时时决决定定了了它它的的寻寻址址方方式式,寻寻址址方方式式越越多多,计计算算机的灵活性越强,指令系统也就越复杂。机的灵活性越强,指令系统也就越复
22、杂。MCS-51单片机的指令系统提供了七种寻址方式,分别为:单片机的指令系统提供了七种寻址方式,分别为:立立即即寻寻址址、直直接接寻寻址址、寄寄存存器器寻寻址址、寄寄存存器器间间接接寻寻址址、变变址址寻址、相对寻址和位寻址。寻址、相对寻址和位寻址。一条指令可能含多种寻址方式。一条指令可能含多种寻址方式。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 计算机执行程序实际上是在不断寻找操作数并进行操作的过程。计算机执行程序实际上是在不断寻找操作数并进行操作的过程。2.2.1 立即寻址立即寻址 定义:定义:立即参与操作的数据(立即数)直接写在指令中。立即参与操作的数据(立即
23、数)直接写在指令中。特特点点:指指令令中中直直接接含含有有所所需需8位位/16位位的的操操作作数数。处处于于指指令令的的第第二二字节和第三字节的位置上。字节和第三字节的位置上。立即数表示方法:立即数表示方法:#data8,#data16。MOV A,#2DH ;(A)立即数立即数2DH MOV A,2DH ;(A)内部内部RAM的的2DH单元内容单元内容 ADD A,#05H ;(A)(A)+立即数立即数 05H MOV DPTR,#1000H ;(DPTR)立即数立即数 1000H2.2.2 直接寻址直接寻址定义:定义:操作数的地址直接写在指令中。操作数的地址直接写在指令中。特特点点:指指令
24、令中中含含有有操操作作数数的的地地址址指指出出了了参参与与操操作作的的数数据据所所存存放放在存储器单元(位)的地址。在存储器单元(位)的地址。寻址范围:寻址范围:ROM、片内片内RAM、SFR和位地址空间。和位地址空间。MOV R1,2DH;(R1)(2DH)MOV 30H,4AH;(30H)(4AH)注意:注意:MOV A,SP ;(A)(SP)MOV A,81H ;(A)(SP)MOV P1,#5AH ;(P1)(#5AH)MOV 90H,#5AH ;(P1)(#5AH)2.2.3 寄存器寻址寄存器寻址定义:定义:操作数存放在操作数存放在MCS-51内部的内部的Rn或部分专用寄存器中。或部
25、分专用寄存器中。特点:特点:指令中指出的寄存器的内容作为操作数。指令中指出的寄存器的内容作为操作数。寻寻址址范范围围:四四组组通通用用寄寄存存器器Rn(R0R7)、部部分分专专用用寄寄存存器器(A,B,DPTR,Cy)。)。MOV A,R7 ;(A)(R7)MOV 30H,B ;(;(30H)(B)MOV DPTR,#1000H ;(DPTR)1000H存放操作数的寄存器在指令代码中不占据单独的一个字节,存放操作数的寄存器在指令代码中不占据单独的一个字节,嵌入(隐含)到操作码字节中。嵌入(隐含)到操作码字节中。2.2.4 寄存器间接寻址(寄存器间址)寄存器间接寻址(寄存器间址)定义:定义:指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 原理 应用 第二
限制150内