清华大学单片机幻灯片第4章

上传人:F****n 文档编号:88159398 上传时间:2019-04-20 格式:PPT 页数:82 大小:546.50KB
返回 下载 相关 举报
清华大学单片机幻灯片第4章_第1页
第1页 / 共82页
清华大学单片机幻灯片第4章_第2页
第2页 / 共82页
清华大学单片机幻灯片第4章_第3页
第3页 / 共82页
清华大学单片机幻灯片第4章_第4页
第4页 / 共82页
清华大学单片机幻灯片第4章_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《清华大学单片机幻灯片第4章》由会员分享,可在线阅读,更多相关《清华大学单片机幻灯片第4章(82页珍藏版)》请在金锄头文库上搜索。

1、大家网:http:/ 汇编语言程序设计,(课时:12学时),教学目的,了解汇编语言程序设计的特点。 掌握汇编语言程序的基本结构及简单应用的设计方法。 用循环程序设计一个控制信号灯的程序。 用循环程序设计一个控制步进电动机的程序。 用分支程序设计一个控制汽车信号灯的程序。 用分支程序设计一个控制水塔水位的程序。,学习重点和难点,分支程序、循环程序的设计特点。 子程序的编写和应用。,大家网:http:/ 汇编语言程序设计,4.1 程序设计概述 4.2 顺序程序设计 4.3 循环程序设计 4.4 分支程序设计 4.5 子程序设计 4.6 查表程序设计 本章小结 习题,大家网:http:/ 程序设计概

2、述,4.1.1 程序设计语言 4.1.2 汇编语言源程序的编辑与汇编 4.1.3 汇编语言程序的基本结构 4.1.4 程序设计方法和技巧,大家网:http:/ 程序设计语言,1. 机器语言(Machine Language) 这是一种用二进制代码“0”和“1”表示指令和数据的程序设计语言。计算机只能识别二进制代码,这种语言是能被计算机直接识别和执行的机器级语言。 特点:机器语言能够被计算机立即识别并加以执行,具有执行速度快、占用内存少等优点。但对于使用者来说,用机器语言编写程序具有编写难、识别难、记忆难、查错难、交流难等缺点。,大家网:http:/ 程序设计语言,2. 汇编语言(Assembl

3、y Language) 汇编语言是一种用助记符来表示的面向机器的程序设计语言。不同的机器所使用的汇编语言一般是不同的。但计算机的CPU不能直接识别汇编语言,所以计算机不能立即执行汇编语言程序。用汇编语言编写的源程序,在由计算机执行之前,必须将它翻译成机器语言程序。 特点:这种语言弥补了机器语言的不足,用汇编语言编写程序比用机器语言方便、直观、易懂、易用、易记。可以编写出结构紧凑、运行时间精确的程序。所以,这种语言非常适合于实时控制的需要。,大家网:http:/ 程序设计语言,3. 高级语言(High-Level Language) 高级语言是面向过程并能独立于计算机硬件结构的通用程序设计语言,

4、是一种接近人类语言和数学表达式的计算机语言。比如:BASIC、FORTRAN、COBOL、PASCAL、C语言等。高级语言不能被计算机直接识别和执行,需要用编译程序或解释程序将高级语言编写的源程序翻译为机器语言。 特点:它比汇编语言易学、易懂,具有通用性强、易于移植等优点。高级语言的语句功能强,它的一条语句往往相当于许多条指令,因而用于翻译的程序要占用较多的存储空间,而且执行时间长,且不易精确掌握,故在高速实时控制中一般是不适用的。,大家网:http:/ 汇编语言源程序的编辑与汇编,基本概念 在目前单片机的开发应用中,经常采用C语言和汇编语言共同编写程序。要想很好地掌握和应用单片机首先要掌握汇

5、编语言。 汇编语言是面向机器的程序设计语言,对于CPU不同的单片机,其汇编语言一般是不同的。用汇编语言编写的程序称为汇编语言源程序 。 汇编语言源程序是由汇编语言语句构成的。汇编语言语句可分为两大类:指令性语句和指示性语句。 指令性语句是由指令组成的由CPU执行的语句, 指示性语句是由伪指令组成的,它不被CPU执行,用来告诉汇编程序如何对程序进行汇编的指令;由于它不能生成机器语言,故又被称为伪指令语句。,大家网:http:/ 汇编语言源程序的编辑与汇编,1. 指令性语句格式 标号: 操作码助记符 目的操作数 ,源操作数 ;注释 每条汇编语句一般由若干部分组成,每一部分称为一个字段。 每个字段之

6、间应该严格地用分界符加以分隔。 分界符包括冒号、空格符、逗号、分号等。标号段与操作码之间要加冒号“:”;操作码与操作数之间要用空格相隔;各操作数之间要用逗号“,”相隔;操作数与注释段之间要加分号“;”相隔。,大家网:http:/ 汇编语言源程序的编辑与汇编,2.伪指令的指示性语句格式 标号: 伪操作 操作数,操作数, ;注释 伪指令不是真正的指令,是在汇编时供汇编程序识别的指令,又称为汇编指令。 它不属于指令系统,也无对应的机器码,只是用来对汇编过程进行某种控制。利用伪指令告诉汇编程序如何进行汇编,为编程提供方便。,大家网:http:/ 汇编语言源程序的编辑与汇编,3. 汇编语言源程序的汇编

7、汇编语言源程序必须要转换为机器码(即目的程序),计算机才能执行,这个转换过程称为汇编。 汇编语言源程序的汇编可分为手工汇编和机器汇编两类。 手工汇编是指用人脑通过查指令编码表(见附录中的指令表)把汇编语言源程序翻译成机器码的过程,又称为人工代真。 机器汇编是用机器代替人脑并由专门的程序来进行的,这种程序称为汇编程序(不同的指令系统汇编程序不同)。机器汇编由计算机自动完成,汇编程序把用汇编语言编写的源程序翻译成由机器语言表示的目的程序。 反汇编是在分析程序存储器已有的程序时,将机器语言翻译成汇编语言的转换过程。,大家网:http:/ 汇编语言源程序的编辑与汇编,源程序、汇编程序和目的程序之间的关

8、系如下图所示 4.汇编语言源程序的编辑 汇编语言源程序一般在微机上借助编辑软件进行编写,可供使用的编辑工具有许多,如行编辑软件、屏幕编辑软件等。,大家网:http:/ ORG(Origin)汇编起始指令 ORG是程序汇编起始地址定位伪指令, 功能:是规定对汇编语言源程序进行汇编时,目的程序在程序存储器中存放的起始地址。 格式:标号: ORG 16位地址或标号 注意:在一个源程序中,可多次使用ORG指令,以规定不同程序段的起始位置,地址应从小到大顺序排列,不允许重叠。 例如: ORG 1000H MOV A,#12H ;该指令的机器码是74H、12H ADD A,#34H ;该指令的机器码是24

9、H、34H 在上述源程序中,第一条指令的首字节74H存放到程序存储器的1000H地址单元中,其他字节和后续指令的数据顺序存放到后面的存储单元中。,大家网:http:/ END(End)汇编结束指令 END是汇编语言程序结束伪指令。 功能:是表示程序已结束,汇编程序对END后面的指令不再汇编。 格式:标号: END 注意:在一个源程序中,只能有一条END指令,而且必须放在整个程序的末尾。,大家网:http:/ EQU(Equate)赋值指令 EQU是赋值(也称等值)伪指令 。 功能:把操作数段中的数据或地址赋值给标号字段中的字符名称 。 格式:字符名称 EQU 数值或汇编符号 注意:字符名称必须

10、先赋值后使用,故EQU指令通常放在源程序 的开头。 EQU可定义8位或16位的数据或地址, 例如:ABC EQU 30H ;AB与30H等值 ACB EQU R3 ;AC与R3等值 MOV A,ABC ;把片内RAM30H单元中的数据送入A中 MOV A,ACB ;把R3中的数据送入累加器A中,大家网:http:/ DATA(Data)数据地址赋值指令 DATA是数据地址赋值伪指令 。 功能:把操作数段中的表达式的值赋给标号字段中的字符名称。 格式:字符名称 DATA 表达式 注意:DATA指令功能与EQU指令类似,它们的主要区别如下: DATA定义的字符名称可以先使用后定义,DATA指令可以

11、放在源程序的任何位置。 DATA只能用来定义8位的数据或地址。 EQU可以把汇编符号赋给字符名称,而DATA只能把数据赋给字符名称。 DATA可以把表达式的值赋给字符名称,这个表达式是可以进行求值运算的。,大家网:http:/ XDATA数据地址赋值指令 XDATA是数据地址赋值伪指令 。 功能:把操作数段中的表达式的值赋给标号字段中的字符名称 。 格式:字符名称 XDATA 表达式 注意:XDATA指令功能与DATA指令类似,它们的主要区别是XDATA可定义16位的数据或地址。,大家网:http:/ BIT(Bit)位地址赋值指令 BIT是位地址赋值伪指令 。 功能:把位地址赋给字符名称 。

12、 格式:字符名称 BIT 位地址 例如: AB BIT 30H ;AB与30H等值 AC BIT P1.0 ;AC与P1.0等值 MOV C,AB ;把位地址区30H单元中的数据送入 位累加器C中 CLR AC ;把P1.0中的内容清零,大家网:http:/ DB(Define Byte)定义字节指令 DB是定义字节伪指令 。 功能:从程序存储器指定地址单元开始存放若干个字节的数值或ASCII码字符 。 格式:标号: DB 字节数据或ASCII码字符 注意:多个字节数据或ASCII码字符之间要用逗号相隔,DB指令常用于定义8位的数据常数表。 例如: ORG 1000H TAB: DB 50H,

13、60,A DB 01010111B,6,大家网:http:/ DW(Define Word)定义字指令 DW是定义字伪指令 。 功能:从程序存储器指定地址单元开始存放若干个字的数值 。 格式:标号: DW 字节数据或ASCII码字符 注意:多个字数据之间要用逗号相隔,DW指令常用于定义16位的地址表。 例如: ORG 1000H TAB: DW 20H,50H,00H,60H,大家网:http:/ DS(Define Space)定义存储空间指令 DS是定义存储空间伪指令 。 功能:从程序存储器指定地址单元开始保留表达式的值所规定的存储单元 。 格式:标号: DS 表达式 例如: ORG 10

14、00H TAB: DS 06H DB 25H,35H 在上述源程序中,程序存储器从1000H单元开始保留6个单元,1006H单元存放25H,1007H单元存放35H。,大家网:http:/ 汇编语言程序的基本结构,汇编语言程序具有四种结构形式,即顺序结构、循环结构、分支结构和子程序结构。 1. 顺序程序 顺序程序是一种最简单、最基本的程序结构,又称为简单程序或直线程序。程序按顺序一条一条地执行指令,程序流向不变。 2. 循环程序 循环程序是把需要多次重复执行的某段程序,利用条件转移指令反复转向执行,可减小整个程序的长度,优化程序结构。 循环程序一般由循环初始化、循环处理、循环控制和循环结束四部分组成。,大家网:http:/ 汇编语言程序的基本结构,3. 分支程序 分支程序是根据条件进行判断决定程序的执行,满足条件则进行程序转移,不满足条件就顺序执行程序。判断是通过条件转移指令实现的。分支程序又分为单分支结构和多分支结构。 4. 子程序 子程序是指完成某一确定任务并能被其他程序反复调用的程序段。 使用子程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号