新编单片机原理及应用第二章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《新编单片机原理及应用第二章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 单片机 原理 应用 第二 课件
- 资源描述:
-
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存放操作数的寄存器在指令代码中不占据单独的一个字节,存放操作数的寄存器在指令代码中不占据单独的一个字节,
展开阅读全文