第4章 MCS-51单片机汇编语言程序设计.pptx
《第4章 MCS-51单片机汇编语言程序设计.pptx》由会员分享,可在线阅读,更多相关《第4章 MCS-51单片机汇编语言程序设计.pptx(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束第第4章章 汇编语言程序设计汇编语言程序设计教学目标教学目标4.1 4.1 单片机汇编语言与指令格式单片机汇编语言与指令格式4.2 4.2 源程序的设计步骤和汇编源程序的设计步骤和汇编 4.3 4.3 汇编语言程序设计汇编语言程序设计本章小结本章小结思考题与习题思考题与习题单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束教学目标教学目标 通过本章教学,要求达到以下目标:通过本章教学,要求达到以下目标:1.熟悉熟悉汇编语言的汇编语言的语句结构语句结构;2.了解了解手
2、工汇编,计算偏移量及转移地址的手工汇编,计算偏移量及转移地址的 方法;方法;3.了解了解程序设计的步骤,会画程序流程图;程序设计的步骤,会画程序流程图;4.掌握掌握顺序程序、分支程序、循环顺序程序、分支程序、循环程序、子程程序、子程 序等基本序等基本程序的编制方程序的编制方法。法。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束4.1 MCS51单片机汇编语言与指令格式单片机汇编语言与指令格式 4.1.1 程序设计语言程序设计语言程序设计语言程序设计语言机器语言机器语言汇编语言汇编语言高级语言高级语言单片机原理及其接口技术单片机原理及其接口技术主目录主
3、目录上一页上一页下一页下一页结结 束束机器语言机器语言 由由于于构构成成计计算算机机的的电电子子器器件件特特性性所所决决定定,计计算算机机只只能能识识别别二二进进制制代代码码。这这种种以以二二进进制制代代码码来来描描述述指指令令功功能能的的语语言言,称称之之为为机机器器语语言言,用用机机器器语语言言组组成成的的程程序序,称称为为目目标标程程序序。计计算算机机就就是是按按照照机机器器语语言言的的指指令令来来完完成成各各种种功功能能操操作作的的,它它具具有有程程序序简简捷捷、占占用存储空间小、执行速度快、控制功能强用存储空间小、执行速度快、控制功能强等特点。等特点。单片机原理及其接口技术单片机原理
4、及其接口技术主目录主目录上一页上一页下一页下一页结结 束束汇编语言汇编语言 用来替代机器语言的进行程序设计的用来替代机器语言的进行程序设计的一种语言,一种语言,由助记符、保留字和伪指令等由助记符、保留字和伪指令等组成组成。很容易让人们所识别、记忆和读写。很容易让人们所识别、记忆和读写。汇编语言编写出的程序是汇编语言编写出的程序是汇编语言源程序汇编语言源程序,可由可由“汇编程序汇编程序”翻译成翻译成机器语言程序机器语言程序(即目(即目标代码)。标代码)。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束地址地址机器语言机器语言汇编语言汇编语言形式形式二进制
5、形式二进制形式十六进制形式十六进制形式2000H0111 0100 0000 0101B7405HMOV A,#05H2002H0010 0100 0000 1010B240AHADD A,#0AH2004H1000 0000 1111 1110B80FEHMOV 20H,A单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束汇编程序汇编程序容易让人们所识别、记忆和读写,容易让人们所识别、记忆和读写,但不能为机器直接识别执行但不能为机器直接识别执行001010010101010101010101机器语言程序机器语言程序(即目标代码,(即目标代码,机器可以识
6、别机器可以识别执行执行010101010101)010101010101单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束高级语言高级语言 是是面向过程和问题面向过程和问题并能独并能独立于机器的通用程序立于机器的通用程序设设计语言,是一种计语言,是一种接近人们自然语言和常用数学表达式接近人们自然语言和常用数学表达式的计算机语言的计算机语言。高级语言编写的程序是不能被机器直接执行的,高级语言编写的程序是不能被机器直接执行的,但可以被常驻在内存或磁盘上的但可以被常驻在内存或磁盘上的解释程序或编译程序解释程序或编译程序等等编译成目标代码后编译成目标代码后才能被
7、机器所执行。才能被机器所执行。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束独立于机器,可移植性强结构化设计,独立于机器,可移植性强结构化设计,程序清晰,但是占用存储空间大程序清晰,但是占用存储空间大编译程序编译程序001010010101010101010101机器语言程序机器语言程序(即目标代码,(即目标代码,机器可以识别机器可以识别执行执行010101010101)010101010101单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束4.1.2 格汇编语言格式格汇编语言格式MCS51单片机汇编语言指令
8、的标准格式如下单片机汇编语言指令的标准格式如下:标号标号:操作码操作码 目的操作数目的操作数,源操作数源操作数 ;注释注释 例如例如:LOOP:ADD A,10H ;(A)(A)+10H(1)方括号方括号 表示该项是可选项表示该项是可选项,可有可无。可有可无。(2)标号标号是用户设定的符号是用户设定的符号,它实际代表该指令所在它实际代表该指令所在的的地址地址。标号。标号必须以字母开头必须以字母开头,其后跟其后跟18个字母或个字母或数字数字,并以并以“:”结尾。结尾。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 (3)操操作作码码是是用用英英文文缩缩
9、写写的的指指令令功功能能助助记记符符。它它确确定定了了本本条条指指令令完完成成什什么么样样的的操操作作功功能能。如如:ADD表表示示加加法法操操作作。任任何何一一条条指指令令都都必必须须有有该该助助记记符符项项,不得省略。不得省略。(4)目目的的操操作作数数提提供供操操作作的的对对象象,并并表表示示操操作作结结果果存存放放单单元元的的地地址址,它它与与操操作作码码之之间间必必须须以以一一个个或或几几个个空空格格分分隔隔。如如上上例例中中A表表示示操操作作对对象象是是累累加加器器A的的内内容容,并指出操作结果又回送并指出操作结果又回送A存放。存放。标号标号:操作码操作码 目的操作数目的操作数,源
10、操作数源操作数 ;注释注释 例如例如:LOOP:ADD A,10H ;(A)(A)+10H单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束(5)源源操操作作数数指指出出的的是是一一个个源源地地址址(或或立立即即数数),表表示示操操作作的的对对象象或或操操作作数数来来自自何何处处。它它与与目目的的操作数之间要用操作数之间要用“,”号隔开。号隔开。(6)注注释释部部分分是是在在编编写写程程序序时时,为为了了增增加加程程序序的的可可读读性性,由由用用户户拟拟写写对对该该条条指指令令或或该该段段程程序序功功能能的的说说明明。它它以以分分号号“;”开开头头,可可
11、以以用用中中文文、英英文文或或某某些些符符号号来来表表示示,显显然然它它不不存存入入计计算算机机,只出现在源程序中。只出现在源程序中。标号标号:操作码操作码 目的操作数目的操作数,源操作数源操作数 ;注释注释 例如例如:LOOP:ADD A,10H ;(A)(A)+10H单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束操作数的操作数的5种合法形式种合法形式1、数字形式:二进制、十进制、十六进制、数字形式:二进制、十进制、十六进制01001100B,20D,0A0H2、工作寄存器和特殊功能寄存器、工作寄存器和特殊功能寄存器 R0R7,ACC,SFR3、标
12、号地址、标号地址MOV A,M;设设M已定义过已定义过4、带加减算符的表达式、带加减算符的表达式MOV A,M+15、采用、采用$符符JNB TF0,$标号标号:操作码操作码 目的操作数目的操作数,源操作数源操作数 ;注释注释 例如例如:LOOP:ADD A,10H ;(A)(A)+10H单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束u指令性语句使指令性语句使CPU执行一个具体的操作。执行一个具体的操作。u伪指令伪指令不要求计算机做任何操作不要求计算机做任何操作,也没有对应的机器码也没有对应的机器码,不产生目标程序,不影响程序的执行不产生目标程序,不
13、影响程序的执行,仅仅是,仅仅是能够帮助进行能够帮助进行汇编汇编的一些指令。的一些指令。4.1.3 汇编语言构成汇编语言构成指令性语句:指令性语句:111条指令的助记符语句。条指令的助记符语句。指示性语句:伪指令语句。指示性语句:伪指令语句。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束15 常用常用伪指令指令 单单片片机机汇汇编编语语言言程程序序设设计计中中,除除了了使使用用指指令令系系统统规规定定的的指指令令外外,还还要要用用到到一一些些伪伪指指令令。伪伪指指令令又又称称指指示示性性指指令令,具具有有和和指指令令类类似似的的形形式式,但但汇汇编编时
14、时伪伪指指令令并并不不产产生生可可执执行行的的目目标标代代码码,只只是是对对汇汇编编过过程程进进行行某某种种控控制制或或提提供供某某些些汇编信息。汇编信息。下面对常用的伪指令作一简单介绍。下面对常用的伪指令作一简单介绍。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 用来指定用来指定程序或数据的起始位置程序或数据的起始位置;给出一些给出一些连续存放数据的地址连续存放数据的地址;为中间运算结果为中间运算结果保留一部分存储空间保留一部分存储空间;为源程序中的为源程序中的符号和标号赋值符号和标号赋值;表示表示源程序结束源程序结束等等。等等。不同版本的汇编语
15、言,伪指令的符号和含义可能有所不同,但基本用法不同版本的汇编语言,伪指令的符号和含义可能有所不同,但基本用法是相似的。是相似的。伪指令可以伪指令可以单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束伪指令列表伪指令列表1、ORG设置目标程序起始地址伪指令设置目标程序起始地址伪指令2、END结束汇编伪指令结束汇编伪指令3、DB定义字节伪指令定义字节伪指令4、DW定义字伪指令定义字伪指令 5、DS预留存储空间伪指令预留存储空间伪指令6、EQU等值伪指令等值伪指令7、DATA数据地址赋值数据地址赋值8、BIT位地址定义伪指令位地址定义伪指令单片机原理及其接口技
16、术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束18一、一、汇编起始指令汇编起始指令 ORG 指令格式为指令格式为:ORG nn 该伪指令的该伪指令的功能是规定其后面的目标程序或数功能是规定其后面的目标程序或数据块的起始地址。据块的起始地址。它放在一段源程序它放在一段源程序(主程序、子程序主程序、子程序)或数据块的前面,说明紧跟在其后的程序段或数据块的起或数据块的前面,说明紧跟在其后的程序段或数据块的起始地址就是始地址就是ORG后面给出的地址。例如:后面给出的地址。例如:ORG 2000HSTART:MOV A,#7FH 。单片机原理及其接口技术单片机原理及其接口技术主目
17、录主目录上一页上一页下一页下一页结结 束束例如:例如:ORG 2000HSTART:MOV A,#7FH格式:格式:标号:标号:ORG 地址地址(十六进制表示十六进制表示)74H7FH2000H1FFFH2001H机器码:机器码:74 7FH单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束20 例例:ORG 2000H MOV SP,60H MOV R0,2FH MOV R2,0FFH ORG伪伪指指令令说说明明其其后后面面程程序序的的目目标标代代码码在在存存储储器器中中存存放的放的起始地址是起始地址是2000H,即即 存储器地址存储器地址 程序代码程
18、序代码 2000H 75 81 60 2003H 78 2F 2005H 7A FF 单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束21二、二、汇编结束指令汇编结束指令END 指令格式指令格式:标号标号:END 地址或标号地址或标号 格式中格式中标号以及标号以及END后面的地址或标号可有可无后面的地址或标号可有可无。功功能能:提提供供汇汇编编结结束束标标志志。汇汇编编程程序序遇遇到到END后后就就停停止止汇汇编编,对对 END以以后后的的语语句句不不予予处处理理,故故END应应放放在在程程序序的的结结束处。束处。单片机原理及其接口技术单片机原理及其接
19、口技术主目录主目录上一页上一页下一页下一页结结 束束22三、等值指令三、等值指令EQU(Equal)指令格式指令格式:字符名称字符名称 EQU 数字或汇编符号数字或汇编符号功能功能:使指令中的使指令中的字符名称字符名称等价于等价于给定的给定的数字或汇编符号数字或汇编符号。特别注意:特别注意:必须先赋值后使用必须先赋值后使用,同一个同一个标号只能赋值一次。标号只能赋值一次。例例:PA EQU 8001H 即给字符即给字符PA赋值为赋值为8001H。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束书:书:131页。编程好习惯之一:上下对齐!页。编程好习惯之
20、一:上下对齐!ORG 0500HAA EQU R1BB EQU 10HDELAY EQU 07E6H MOV R0,BB ;R0(10H)MOV A,AA ;A R1 LCALL DELAY ;调调07E6H子程序子程序单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 该伪指令的功能与该伪指令的功能与EQU类似,可以类似,可以将将DATA右边表达右边表达式的式的 值赋给左边的字符名称值赋给左边的字符名称。表达式表达式可以是常数、地址可以是常数、地址标号或表达式,但标号或表达式,但不可以不可以是一个汇编符号(如是一个汇编符号(如R1等)。等)。DATA和
21、和EQU的主要区别是:的主要区别是:EQU中的字符名称是先中的字符名称是先定义后使用,而定义后使用,而DATA中的字符名称没有这种限制。中的字符名称没有这种限制。定义定义8位数据用位数据用DATA,定义,定义16位数据用位数据用XDATA。格式:格式:字符名称字符名称 DATA 表达式表达式格式格式:字符名称字符名称 EQU 数字或汇编符号数字或汇编符号四、数据赋值指令四、数据赋值指令DATA单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束25五、五、定义字节指令定义字节指令DB指令格式指令格式:标号标号:DB 8位二进制数表位二进制数表功功能能:把把
22、 8 位位二二进进制制数数表表依依次次存存入入从从标标号号开开始始的的连连续续的的存存储单元中。储单元中。标标号号区区段段可可有有可可无无,DB指指令令之之后后的的 8 位位二二进进制制数数表表是是一一个个字字节节常常数数或或用用逗逗号号隔隔开开的的字字节节串串,也也可可以以是是用用引引号号括括起起来来的的ASCII码码字字符符串串(一一个个 ASCII字字符符相相当当于于一一个个字字节节)。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 ORG 2000HTAB1:DB 30H,8AH,73 DB 01011010B,5,A30H8AH49H5AH
23、35H41H2000H2001H2002H2003H2004H2005H 由于由于ORG 2000H,所以,所以TAB1的地址为的地址为2000H,因此,以上,因此,以上伪指令经汇编后,将对伪指令经汇编后,将对2000H开始的连续存储单元赋值:开始的连续存储单元赋值:;十进制数;十进制数73以十六进制数存放以十六进制数存放;01011010B=5AH;35H是数字是数字5的的ASCII码码;41H是字母是字母A的的ASCII码码单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束27六、六、定义字指令定义字指令DW指令格式指令格式:标号标号:DW 16 位
24、数据表位数据表功功能能:与与DB相相似似,区区别别仅仅在在于于从从指指定定地地址址开开始始存存放放的的是是指指令令中中的的 16 位位数数据据。每每个个 16 位位数数据据要要占占两两个个存存储储单单元元,高高8 位位先先存存,低低 8 位位后后存存,这这和和MCS-51指指令令中中的的16位位数数据据存存放顺序是一致的。放顺序是一致的。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 ORG 1500HTAB2:DW 1234H,80H,10 12H34H00H80H00H0AH1500H汇编以后:汇编以后:1501H1502H1503H1504H1
25、505H单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束29 七七.定义空间伪指令定义空间伪指令DS 格式:格式:标号:标号:DS 表达式表达式 功功能能:从从指指定定的的地地址址开开始始,保保留留若若干干个个存存储储单单元元作作为备用的空间。为备用的空间。单片机原理及其接口技术单片机原理及其接口技术主目录主目录上一页上一页下一页下一页结结 束束 ORG 1000HSPC:DS 20H DB 30H,8FH汇编后从汇编后从1000H开始,预留开始,预留32(20H)个字节的内存单元,然后个字节的内存单元,然后从从1020H开始,按照下一条开始,按照下一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 MCS-51单片机汇编语言程序设计 MCS 51 单片机 汇编语言 程序设计
限制150内