ImageVerifierCode 换一换
格式:PPT , 页数:125 ,大小:1.98MB ,
文档编号:3321553      下载积分:29 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3321553.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(新编单片机原理及应用第二章课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

新编单片机原理及应用第二章课件.ppt

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常用单位与术语常用单位与术语位(位(

6、bit):):计算机所能表示的最小的、最基本的数据单位,指计算机所能表示的最小的、最基本的数据单位,指一个二进制位。一个二进制位。字节(字节(Byte):):一个连续的一个连续的8位二进制数码,位二进制数码,1Byte=8bit。字(字(Word):):通常由通常由16位二进制数码组成,即位二进制数码组成,即1Word=2Byte。字长:字长:计算机一次处理二进制数码的位数。计算机一次处理二进制数码的位数。MCS-51系列单片机都是以系列单片机都是以Intel公司最早的典型公司最早的典型8位产品位产品8051为核心,增加了一定的功能部件后构成的。本章以为核心,增加了一定的功能部件后构成的。本章

7、以8051为主介绍为主介绍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的值赋

11、予字符名称的值赋予字符名称x。程序中凡出现该字符名。程序中凡出现该字符名称称x就等同于该赋值项就等同于该赋值项n,其值在整个程序中有效。,其值在整个程序中有效。规定:规定:在使用时,必须先赋值后使用。赋值项在使用时,必须先赋值后使用。赋值项n可以是可以是常数、地常数、地址、标号或表达式址、标号或表达式。“字符名称字符名称”与与“标号标号”表示形式的区别:表示形式的区别:“字符名称字符名称”后无冒号,而后无冒号,而“标号标号”后面有冒号。后面有冒号。(4)定义字节伪指令)定义字节伪指令DB格式:格式:标号标号:DB x1,x2,xn功能:功能:将将8位数据(数据组)位数据(数据组)x1,x2,x

12、n顺序存放在从当前程序顺序存放在从当前程序存储器地址开始的存储单元中。存储器地址开始的存储单元中。规定:规定:xi8位常数(位常数(00HFFH)、)、ASCII码(字符在单引号码(字符在单引号内)、表达式,字符串(在单引号内,长度内)、表达式,字符串(在单引号内,长度80个字符)。两个个字符)。两个数据之间用逗号数据之间用逗号“,”分隔。分隔。(5)定义双字节伪指令)定义双字节伪指令DW格式:格式:标号标号:DW x1,x2,xn功能:功能:将双字节数据(数据组)顺序存放在从标号指定地址单将双字节数据(数据组)顺序存放在从标号指定地址单元开始的存储单元中。元开始的存储单元中。规定:规定:xi

13、16位数值常数,先存高位数值常数,先存高8位入低位地址单元。位入低位地址单元。(6)预留存储空间伪指令)预留存储空间伪指令DS格式:格式:标号标号:DS n功能:功能:从标号指定地址单元开始,预留从标号指定地址单元开始,预留n个存储单元。个存储单元。规定:规定:汇编时不对预留存储单元赋值。汇编时不对预留存储单元赋值。n数据,表达式。数据,表达式。注意:注意:DB、DW、DS伪指令只能对程序存储器进行赋值和初始伪指令只能对程序存储器进行赋值和初始化工作,不能用来对数据存储器进行赋值和初始化工作。化工作,不能用来对数据存储器进行赋值和初始化工作。(7)定义位地址符号伪指令)定义位地址符号伪指令BI

14、T格式:格式:字符名称字符名称x BIT 位地址位地址n功能:功能:将位地址将位地址n的值赋予字符名称的值赋予字符名称x。规定:规定:程序中凡出现该字符名称程序中凡出现该字符名称x就代表该位地址。位地址就代表该位地址。位地址n绝对绝对地址,符号地址。地址,符号地址。(8)数据地址赋值伪指令)数据地址赋值伪指令DATA格式:格式:字符名称字符名称x DATA 表达式表达式n功能:功能:把表达式把表达式n的值赋值给左边的字符名称的值赋值给左边的字符名称x。规定:规定:n数据或地址,包含所定义的数据或地址,包含所定义的“字符名称字符名称x”在内的表达式,在内的表达式,但不能为汇编符号。但不能为汇编符

15、号。DATA与与EQU的主要区别是:的主要区别是:EQU必须先定义后使用,必须先定义后使用,DATA无限无限制。制。EQU 源程序的开头,源程序的开头,DATA源程序的开头或末尾。源程序的开头或末尾。2.1.2 指令的分类指令的分类 MCS-51指令系统有指令系统有111条指令条指令,分类如下:,分类如下:1.按指令字节数分类按指令字节数分类 单字节单字节(49条条),双字节,双字节(46条条),3字节字节(16条条)。2.按指令执行时间分类按指令执行时间分类 单机器周期指令(单机器周期指令(65条)、双机器周期指令(条)、双机器周期指令(44条)和四机条)和四机器周期指令(器周期指令(2条)

16、。条)。3.按功能分类按功能分类 数据传送指令(数据传送指令(29条)、算术操作指令(条)、算术操作指令(24条)、逻辑操作条)、逻辑操作指令(指令(24条)、控制转移指令(条)、控制转移指令(17条)和位操作指令(条)和位操作指令(17条)。条)。4.指令的字节数:指令的字节数:指令操作码指令操作码1字节;直接地址字节;直接地址1字节,字节,8位数据位数据1字节,字节,16位数位数据据2字节;操作数中的字节;操作数中的A、B、R0R7、C、Ri、DPTR、A+DPTR、A+PC等均隐含在操作码中。等均隐含在操作码中。(1)1字节指令(单字节指令)字节指令(单字节指令)指令中只有操作码。指令中

17、只有操作码。NOP RET 操作数的寄存器号隐含在指令码中。操作数的寄存器号隐含在指令码中。MOV A,Rn;指令码;指令码11101 rrr INC DPTR;指令码;指令码A3H(2)2字节指令(双字节指令)字节指令(双字节指令)指令的格式:指令的格式:操作码操作码 操作数操作数(操作码为第一字节,操作数为第二字节操作码为第一字节,操作数为第二字节)MOV A,#data;指令码为;指令码为0111 0100#data(3)3字节指令(三字节指令)字节指令(三字节指令)指令的格式:指令的格式:操作码操作码 目的操作数,源操作数目的操作数,源操作数(三字节:操作码,目的操三字节:操作码,目的

18、操作数,源操作数作数,源操作数)ANL direct,#data;指令码指令码0101 0011 direct#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):)

19、:工作寄存器组工作寄存器组R0R7中的任一个寄存器。中的任一个寄存器。Ri(i=0或或1):):工作寄存器组中用于间址的寄存器工作寄存器组中用于间址的寄存器R0,R1。#data:8位直接参与操作的立即数。位直接参与操作的立即数。#data16:16位直接参与操作的立即数。位直接参与操作的立即数。direct:片内片内RAM的的8位单元地址。位单元地址。addr11:11位目的地址,主要用于位目的地址,主要用于ACALL和和AJMP指令中。指令中。addr16:16位目的地址,主要用于位目的地址,主要用于LCALL和和LJMP指令中。指令中。rel:8位二进制地址偏移量(补码),取值范围为位二

20、进制地址偏移量(补码),取值范围为 128+127,主要,主要用于相对转移指令,以形成转移的目的地址。用于相对转移指令,以形成转移的目的地址。DPTR:数据指针,用于寄存器间接寻址方式和变址寻址方式数据指针,用于寄存器间接寻址方式和变址寻址方式。bit:片内片内RAM的位寻址区、可以位寻址的的位寻址区、可以位寻址的SFR的位地址。的位地址。A(或(或ACC):):累加器。累加器。B:B寄存器。寄存器。C:PSW中的进位标志位中的进位标志位Cy。:用于间接寻址寄存器指针的前缀标志。用于间接寻址寄存器指针的前缀标志。$:当前指令的地址。当前指令的地址。/:在位操作指令中,对该位先求反后再参与操作。

21、在位操作指令中,对该位先求反后再参与操作。(X):):由由X所指定的某寄存器或某单元中的内容。所指定的某寄存器或某单元中的内容。(X):由由X间接寻址单元中的内容。间接寻址单元中的内容。:指令的操作结果是将箭头右边的内容传送到左边。指令的操作结果是将箭头右边的内容传送到左边。:指令的操作结果是将箭头左边的内容传送到右边。指令的操作结果是将箭头左边的内容传送到右边。、:表示逻辑或、与、异或。表示逻辑或、与、异或。寻址方式:寻址方式:说明操作数所在地址的方法。或指令按地址获得操作说明操作数所在地址的方法。或指令按地址获得操作数的方式。数的方式。计算机在设计时决定了它的寻址方式,寻址方式越多,计算计

22、算机在设计时决定了它的寻址方式,寻址方式越多,计算机的灵活性越强,指令系统也就越复杂。机的灵活性越强,指令系统也就越复杂。MCS-51单片机的指令系统提供了七种寻址方式,分别为:单片机的指令系统提供了七种寻址方式,分别为:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。寻址、相对寻址和位寻址。一条指令可能含多种寻址方式。一条指令可能含多种寻址方式。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 计算机执行程序实际上是在不断寻找操作数并进行操作的过程。计算机执行程序实际上是在不断寻找操作数并

23、进行操作的过程。2.2.1 立即寻址立即寻址 定义:定义:立即参与操作的数据(立即数)直接写在指令中。立即参与操作的数据(立即数)直接写在指令中。特点:特点:指令中直接含有所需指令中直接含有所需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)立即数

24、立即数 1000H2.2.2 直接寻址直接寻址定义:定义:操作数的地址直接写在指令中。操作数的地址直接写在指令中。特点:特点:指令中含有操作数的地址指出了参与操作的数据所存放指令中含有操作数的地址指出了参与操作的数据所存放在存储器单元(位)的地址。在存储器单元(位)的地址。寻址范围:寻址范围: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

25、)(#5AH)2.2.3 寄存器寻址寄存器寻址定义:定义:操作数存放在操作数存放在MCS-51内部的内部的Rn或部分专用寄存器中。或部分专用寄存器中。特点:特点:指令中指出的寄存器的内容作为操作数。指令中指出的寄存器的内容作为操作数。寻址范围:寻址范围:四组通用寄存器四组通用寄存器Rn(R0R7)、部分专用寄存器)、部分专用寄存器(A,B,DPTR,Cy)。)。MOV A,R7 ;(A)(R7)MOV 30H,B ;(;(30H)(B)MOV DPTR,#1000H ;(DPTR)1000H存放操作数的寄存器在指令代码中不占据单独的一个字节,存放操作数的寄存器在指令代码中不占据单独的一个字节,

26、嵌入(隐含)到操作码字节中。嵌入(隐含)到操作码字节中。2.2.4 寄存器间接寻址(寄存器间址)寄存器间接寻址(寄存器间址)定义:定义:指令的寄存器中存放的是操作数据的单元地址。指令的寄存器中存放的是操作数据的单元地址。特点:特点:二次寻找操作数地址的寻址方式。二次寻找操作数地址的寻址方式。寻址范围:寻址范围:内部内部RAM低低128B(只能用(只能用R0或或R1),),外部外部RAM(R0、R1,DPTR)。)。MOV R1,#30H ;(R1)立即数立即数30H MOV R1,#0FH ;(30H)立即数立即数0FH MOV A,R1 ;(A)(30H)=立即数立即数0FH寄存器间接寻址,

27、寄存器前边必须加前缀符号寄存器间接寻址,寄存器前边必须加前缀符号“”“”,不能用于寻址特殊功能寄存器不能用于寻址特殊功能寄存器SFR。2.2.5 变址寻址(基址加变址寄存器间接寻址)变址寻址(基址加变址寄存器间接寻址)定义:定义:操作数存放在变址寄存器(累加器操作数存放在变址寄存器(累加器A)和基址寄存器)和基址寄存器(DPTR或或PC)相加形成的)相加形成的16位地址单元中。位地址单元中。特点:特点:单字节指令,指令操作码中隐含基址寄存器和变址寄存单字节指令,指令操作码中隐含基址寄存器和变址寄存器。执行时,基地址器。执行时,基地址+偏移地址偏移地址操作数地址操作数地址操作数操作数完成相完成相

28、应的操作。应的操作。寻址范围:寻址范围:ROM,主要用于查表性质的访问。,主要用于查表性质的访问。注意:注意:A中存放的偏移地址的范围为中存放的偏移地址的范围为00HFFH(无符号数)。(无符号数)。MCS-51单片机共有以下三条变址寻址指令:单片机共有以下三条变址寻址指令:MOVC A,A+PC ;(A)(A)+(PC)+1)MOVC A,A+DPTR ;(A)(A)+(DPTR)JMP A+DPTR ;(PC)(A)+(DPTR)如如:(DPTR)=1234H,(,(A)=50H,ROM的(的(1284H)=65H。执行执行MOVC A,A+DPTR 过程:过程:(A)+(DPTR)=12

29、84H(1284H)=65H(A)=65H 2.2.6 相对寻址相对寻址定义:定义:将程序计数器将程序计数器PC的当前值的当前值(取出本条指令后的(取出本条指令后的PC值)值)与与+rel新的转移目标地址。新的转移目标地址。特点:特点:用于程序的相对转移,易于生成浮动代码。用于程序的相对转移,易于生成浮动代码。如:如:SJMP rel ;(PC)(PC)+2+rel 双字节指令双字节指令 相对转移指令的目的地址指令地址指令字节数偏移量相对转移指令的目的地址指令地址指令字节数偏移量寻址范围:寻址范围:ROM。相对地址偏移量(相对地址偏移量(rel):):8位二进制补码,范围为位二进制补码,范围为

30、 128127。在程序中,在程序中,“rel”通常用通常用“标号标号”代替。代替。分析指令分析指令SJMP 06H的执行过程及执行结果。的执行过程及执行结果。执行的过程如下图所示。执行的过程如下图所示。2.2.7 位寻址位寻址定义:定义:指令中给出的操作数是一个可单独寻址的位地址。指令中给出的操作数是一个可单独寻址的位地址。特点:特点:直接寻址方式的一种,对直接寻址方式的一种,对8位二进制数中的某一位的地址位二进制数中的某一位的地址进行操作。进行操作。寻址范围:寻址范围:片内片内RAM低低128B中位寻址区、部分中位寻址区、部分SFR(83位)。位)。可位寻址的位地址的表示形式:可位寻址的位地

31、址的表示形式:(1 1)直接使用位地址。)直接使用位地址。如:如:MOV 00H,C ;(00H)(Cy)其中:其中:00H是片内是片内RAM中中20H地址单元的第地址单元的第0位。位。(2)字节地址加位序号的形式。)字节地址加位序号的形式。如:如:MOV 20H.0,C ;(20H.0)(Cy)其中:其中:20H.0是片内是片内RAM中中20H地址单元的第地址单元的第0位。位。(3)位的符号地址(位名称)的形式。)位的符号地址(位名称)的形式。利用部分特殊功能寄存器各位的特定名称来访问该位。利用部分特殊功能寄存器各位的特定名称来访问该位。如:如:ANL C,P ;(C)(C)(P)其中:其中

32、:P是是PSW的第的第0位,位,C是是PSW的第的第7位。位。(4)字节符号地址(字节名称)加位序号的形式。)字节符号地址(字节名称)加位序号的形式。利用部分特殊功能寄存器名称加位序号形式来访问该位。利用部分特殊功能寄存器名称加位序号形式来访问该位。如:如:CPL PSW.6 ;(AC)()其中:其中:PSW.6表示该位是表示该位是PSW的第的第6位。位。AC例题例题1 指出下列指令中源操作数的寻址方式指出下列指令中源操作数的寻址方式寄存器寻址寄存器寻址立即寻址立即寻址寄存器间接寻址寄存器间接寻址直接寻址直接寻址变址寻址变址寻址相对寻址相对寻址位寻址位寻址MOV A,R1 ;(A)(R1)AD

33、D A,#05H ;(A)(A)+立即数立即数 05H MOV A,R1 ;(A)(R1)MOV 30H,4AH ;(30H)(4AH)MOVC A,A+DPTR;(A)(A)+(DPTR)SJMP LP ;(PC)(PC)+2+偏移量偏移量MOV 65H,C ;(65H)(Cy)2.3 MCS-512.3 MCS-51单片机的指令系统单片机的指令系统 MCS-51指令系统:指令系统:44种助记符,种助记符,33种功能,种功能,51种操作,种操作,111条指令(指令助记符与操作数的各种寻址方式的结合)。条指令(指令助记符与操作数的各种寻址方式的结合)。MCS-51单片机指令系统按其功能可分为五

34、类:单片机指令系统按其功能可分为五类:数据传送类指令数据传送类指令 算术运算类指令算术运算类指令 逻辑运算和移位类指令逻辑运算和移位类指令 控制转移类指令控制转移类指令 位操作类指令位操作类指令学习指令系统时,应注意:学习指令系统时,应注意:(1)指令的格式、功能;)指令的格式、功能;(2)操作码的含义,操作数的表示方法;)操作码的含义,操作数的表示方法;(3)寻址方式,源、目的操作数的范围;)寻址方式,源、目的操作数的范围;(4)对标志位的影响;)对标志位的影响;(5)指令的适用范围;)指令的适用范围;(6)正确估算指令的字节数。)正确估算指令的字节数。操作码操作码1字节。操作数中:字节。操

35、作数中:直接地址直接地址derict1字节,字节,#data1字节,字节,#data16两字节;两字节;A、B、R0R7、C、Ri、DPTR、A+DPTR、A+PC等等均隐含在操作码中。特殊功能寄存器均隐含在操作码中。特殊功能寄存器SFR一个字节。一个字节。2.3 MCS-512.3 MCS-51单片机的指令系统单片机的指令系统2.3.1 数据传送类指令(数据传送类指令(29条)条)2.3.2 算术运算类指令(算术运算类指令(24条)条)2.3.3 逻辑运算及移位类指令(逻辑运算及移位类指令(24条)条)2.3.4 控制转移类指令(控制转移类指令(17条)条)2.3.5 位操作(布尔操作)类指

36、令(位操作(布尔操作)类指令(17条)条)2.3.1 数据传送指令数据传送指令 最基本、最主要的操作指令。最基本、最主要的操作指令。29条,可分为五类:条,可分为五类:内部内部RAM间传送:间传送:(MOV16条)条)外部外部RAM与累加器间传送与累加器间传送:(MOVX4条)条)ROM向累加器传送:向累加器传送:(MOVC2条)条)数据交换:数据交换:(SWAP,XCH,XCHD5条)条)堆栈操作:堆栈操作:(PUSH,POP2条)条)寻址范围:寻址范围:累加器累加器A、片内、片内RAM、SFR、片外、片外RAM、ROM。功能:功能:(目的地址)(目的地址)(源地址),(源地址),表示为表示

37、为:源地址单元的内容不变。源地址单元的内容不变。对标志位的影响:对标志位的影响:除以累加器除以累加器A为目的操作数的数据传送指令对为目的操作数的数据传送指令对P标志标志位有影响外,其余均不影响标志位。位有影响外,其余均不影响标志位。1内部内部RAM数据传送指令(数据传送指令(16条)条)格式:格式:MOV ,范围:范围:片内片内RAM、SFR中。中。指令形式:指令形式:按目的操作数可将内部数据传送指令分为五类。按目的操作数可将内部数据传送指令分为五类。(1)以累加器)以累加器A为目的操作数(为目的操作数(4条)条)MOV A,其中:其中:包括包括Rn、Ri、direct、#data。影响影响P

38、标志。标志。如:如:MOV A,30H(A)(30H)(2)以工作寄存器)以工作寄存器Rn为目的操作数(为目的操作数(3条)条)MOV Rn,其中:其中:包括包括A、direct、#data。如:如:MOV R7,#30H(R7)#30H(3 3)以直接地址单元为目的操作数()以直接地址单元为目的操作数(5 5条)条)MOV direct,其中:其中:包括包括A、Rn、Ri、direct、#data。如:如:MOV 30H,20H;(30H)(20H)(4 4)以间址寄存器)以间址寄存器RiRi为目的操作数(为目的操作数(3 3条)条)MOV Ri ,其中:其中:包括包括A、direct、#d

39、ata。如:如:MOV R1,A;(;(R1)(A)(5 5)1616位数据传送指令(位数据传送指令(1 1条)条)MOV DPTR,#data16 如:如:MOV DPTR,#1000H;(DPTR)#1000H 注意:注意:(2)、()、(3)、()、(4)、()、(5)均不影响标志位。)均不影响标志位。内部数据传送指令的传送关系图内部数据传送指令的传送关系图MCS-51允许在两个内部允许在两个内部RAM的直接地址之间进行传送数据,的直接地址之间进行传送数据,不允许在两个工作寄存器之间直接进行传送数据。不允许在两个工作寄存器之间直接进行传送数据。2外部外部RAM数据传送指令(数据传送指令(

40、4条)条)特点:特点:只能通过只能通过A,采用寄存器间址(,采用寄存器间址(R0,R1和和DPTR)。)。指令格式:指令格式:MOVX A,MOVX ,A 其中:其中:、包括包括DPTR、Ri(R0,R1)。Ri片外片外RAM的低的低256个单元;个单元;DPTR片外片外RAM。对标志位的影响:对标志位的影响:MOVX A,只影响只影响P标志;标志;MOVX ,A不影响标志位。不影响标志位。如:如:MOVX A,R1;(;(A)(R1)MOVX DPTR,A;(;(DPTR)(A)3程序存储器(程序存储器(ROM)数据传送指令(查表指令)()数据传送指令(查表指令)(2条)条)特点:特点:单向

41、传送,只能读到累加器单向传送,只能读到累加器A A中。专用于查表。中。专用于查表。指令格式:指令格式:MOVC A,A+DPTP ;(A)(A)+(DPTR)MOVC A,A+PC ;(PC)(PC)+1 (A)(A)+(PC)两条指令的异同:两条指令的异同:功能相同,使用中存在着差异。功能相同,使用中存在着差异。(1 1)查表的位置要求不同)查表的位置要求不同A+DPTR(远程查表):(远程查表):表可放在表可放在64KB ROM的任何地址,使的任何地址,使用方便。用方便。A+PC(近程查表):(近程查表):表只能放在表只能放在ROM中查表指令后的中查表指令后的256B的地址空间中。的地址空

42、间中。(2 2)偏移量的计算方法不同)偏移量的计算方法不同 查表地址:查表地址:A+DPTP(远程查表):(远程查表):(A)+(DPTR)。A+PC(近程查表):(近程查表):(A)+(PC)+1 偏移量的计算方法:偏移量的计算方法:A+DPTP(远程查表):(远程查表):A为欲查数距离表首地址的值。为欲查数距离表首地址的值。A+PC(近程查表):(近程查表):A的值必须预先设置为:的值必须预先设置为:A表首地址当前指令的表首地址当前指令的PC值值1 这两条指令到程序设计时再详细讲解。这两条指令到程序设计时再详细讲解。4 4数据交换指令(数据交换指令(5 5条)条)功能:功能:保存目的操作数

43、。分两类:保存目的操作数。分两类:(1 1)半字节数据交换指令()半字节数据交换指令(2 2条)条)指令格式:指令格式:SWAP A ;(A)30(A)74 XCHD A,Ri ;(A)30(Ri)30 (2)字节交换指令()字节交换指令(3条)条)指令格式:指令格式:XCH A,其中:其中:包括包括Rn、Ri、direct。5堆栈操作指令(堆栈操作指令(2条)条)指令格式:指令格式:PUSH direct ;SP(SP)+1,(SP)(direct)POP direct ;(direct)(SP),SP(SP)1特点:特点:特殊的数据传送指令,根据特殊的数据传送指令,根据SP中的栈顶地址进行

44、操作。中的栈顶地址进行操作。实质:实质:以栈指针以栈指针SP为间址寄存器的间址寻址方式。为间址寄存器的间址寻址方式。注意:注意:堆栈区应避开使用的工作寄存器区和其他需要使用的数堆栈区应避开使用的工作寄存器区和其他需要使用的数据区,系统复位后,据区,系统复位后,SP的初始值为的初始值为07H。一般初始化时要重新。一般初始化时要重新设置设置SP。堆栈区如:如:已知:已知:(40H)=0F0H;(41H)=11H;(SP)60H执行下面程序执行下面程序 PUSH 40H PUSH 41H POP 42H POP 43H 堆栈指令工作过程堆栈指令工作过程 SPSPSPF0H11H数据区43H42H41

45、H40HF0H11H11HF0H如:如:设设(A)=7BH;(35H)=11H 已知(已知(SP)60H执行下面程序,则:执行下面程序,则:PUSH ACC PUSH 35H POP ACC POP 5AH ;(61H)#7BH;(62H)(35H)即:即:(62H)#11H;(A)(62H)即:即:(A)#11H;(5AH)(61H)即:即:(5AH)#7BH这是字节交换的一种方式。这是字节交换的一种方式。2.3.2 2.3.2 算术运算指令算术运算指令(24条)操作数:操作数:目的操作数目的操作数A中;源操作数在中;源操作数在Rn、片内、片内RAM(direct,Ri)中,或)中,或#da

46、ta。算术运算指令可分为:算术运算指令可分为:加法运算:加法运算:(ADD4条条)带进位加法运算带进位加法运算:(ADDC4条条)带借位减法运算带借位减法运算:(SUBB4条条)加加1/减减1操作:操作:(INC,DEC9条条)单字节乘单字节乘/除法运算除法运算:(MUL,DIV2条条)十进制调整:十进制调整:(DA A1条条)1.1.加法指令(加法指令(4 4条)条)指令格式:指令格式:ADD A,;(A)(A)+包括包括Rn、Ri、direct、#data。对标志位的影响:对标志位的影响:影响影响PSW中的所有标志位。中的所有标志位。2.2.带进位的加法指令(带进位的加法指令(4 4条)条

47、)指令格式:指令格式:ADDC A,;(A)(A)+(Cy)包括包括Rn、Ri、direct、#data。对标志位的影响:对标志位的影响:影响影响PSW中的所有标志位。中的所有标志位。3.带借位的减法指令(带借位的减法指令(4条)条)指令格式:指令格式:SUBB A,;(A)(A)(Cy)包括包括Rn、Ri、direct、#data。对标志位的影响:对标志位的影响:影响影响PSW中的所有标志位。中的所有标志位。注意:注意:MCS-51指令系统中无不带借位的减法指令,指令系统中无不带借位的减法指令,不带借位的减法:不带借位的减法:CLR C(Cy=0)SUBB。4.十进制调整指令(十进制调整指令

48、(BCDBCD码修正指令)(码修正指令)(1条)条)功能:功能:跟在跟在ADD、ADDC后面,对运算结果进行压缩后面,对运算结果进行压缩BCD码修码修正,完成十进制加法运算功能。正,完成十进制加法运算功能。指令格式:指令格式:DA A 特点:特点:专用指令。两个压缩的专用指令。两个压缩的BCD码按二进制数相加后必须经码按二进制数相加后必须经本指令调整才能得到压缩的本指令调整才能得到压缩的BCD码的和。码的和。操作数:操作数:源操作数只能在累加器源操作数只能在累加器A中,结果存入中,结果存入A中。中。注意:注意:只适用加法,不能对减法指令进行修正。只适用加法,不能对减法指令进行修正。5.5.加加

49、1 1指令(增量指令)(指令(增量指令)(5 5条)条)功能:功能:操作数所指定的单元的内容加操作数所指定的单元的内容加1。指令格式:指令格式:INC ;+1 包括包括 A、Rn、direct、Ri、DPTR 操作数:操作数:只有一个操作数,即是源操作数又是目的操作数。只有一个操作数,即是源操作数又是目的操作数。对标志位的影响:对标志位的影响:除对累加器除对累加器A操作影响操作影响P标志位外,其余均不标志位外,其余均不影响影响PSW的各标志位。的各标志位。6.减减1指令指令(减量指令)(减量指令)(4条)条)功能:功能:操作数所指定的单元的内容减操作数所指定的单元的内容减1。指令格式:指令格式

50、:DEC ;1 包括包括 A、Rn、direct、Ri。(DPTR无减无减1)操作数:操作数:只有一个操作数。只有一个操作数。对标志位的影响:对标志位的影响:同加同加1指令。指令。7.乘除指令(乘除指令(2条)条)功能:功能:实现乘法或除法操作。实现乘法或除法操作。特点:特点:在指令系统中执行时间最长,均为四周期指令。在指令系统中执行时间最长,均为四周期指令。指令格式:指令格式:MUL AB ;(;(B)()(A)(A)(B)DIV AB ;(A)(A)/(B)(B)对标志位的影响:对标志位的影响:影响影响PSW中的中的Cy,OV,P标志位,标志位,注意乘除运算后结果保存的位置!注意乘除运算后

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|