- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片微机原理
2013年8月
第5章 51系列单片机
汇编语言程序设计及仿真调试
内容提要
本章介绍汇编语言程序设计的有关知识,重点介绍利用51系列单片机汇编语言实现主要的程序结构及基本功能程序的设计。然后通过一些实例进一步介绍汇编语言程序设计的方法和技巧。最后介绍汇编语言源程序的仿真调试及开发工具Keil µVision的使用。
学习要点
了解汇编语言编程的基础知识。
了解汇编语言程序设计的基本步骤和方法。
掌握单片机汇编语言的顺序、分支、循环、查表及子程序的结构。
掌握码制转换、查表、散转、算术运算等常用程序的编制方法。
掌握集成开发环境Keil µVision的基本操作,能应用其调试程序。
。
5.1 汇编语言程序设计基础
5.2 汇编语言源程序的基本结构
5.3 51系列单片机汇编语言实用程序设计举例
5.4 程序调试与集成开发环境软件Keil µVision
第5章 目 录
5.1 汇编语言程序设计基础
5.1.1 机器语言、汇编语言与高级语言
1.机器语言
计算机能直接识别和执行的是二进制代码形式的机器指令,而这类指令的集合就是计算机的机器语言,或称指令系统。机器语言是面向计算机系统的。
机器语言是最底层的程序设计语言,其他语言编写的程序最终都要转换为机器语言的形式。用机器语言编写的程序称为目标程序或机器语言程序。由于机器语言可以被计算机直接识别和执行,因而其执行速度最快。
2.汇编语言
汇编语言是用助记符(英文字母缩写)来表示的面向机器的程序设计语言,每条助记符指令都有相对应的机器码,即汇编语言是机器语言的符号表示。
图5-1 源程序与目标程序的关系
3.高级语言
高级语言(如C++等)克服了汇编语言的缺点,是一种面向问题或过程的语言。它是一种接近于自然语言和数学算法的语言,与机器的硬件无关,用户编程时不必仔细了解所用计算机的具体性能和指令系统。高级语言不但直观、易学、易懂,而且通用性强,可以在不同的计算机上运行,因此可移植性好。
但是用高级语言编写的程序是不能直接执行的,需要由编译程序或解释程序将它们翻译成对应的目标程序,机器才能接受和执行。
5.1.2 汇编语言的语句和格式
1.汇编语言的语句
汇编语言的语句有两种基本类型:指令语句和指示性语句。
(1)指令语句
指令语句由指令系统中的指令构成。每一指令语句在汇编时都产生一个相应的指令代码(机器码),执行该指令代码对应着机器的一种操作。
(2)指示性语句
指示性语句由伪指令构成,是控制汇编(翻译)过程的一些控制命令。在汇编时没有机器代码与之对应。
2.汇编语言语句的格式
汇编语言语句一般由4个字段组成,即标号、操作码、操作数和注释,它们之间应用分隔符隔开,常用的分隔符有空格“ ”、冒号“:”和分号“;”,而且空格的数目可以不止一个。
汇编语言语句的格式如下:
[标号:] 操作码 [操作数] [;注释]
上述格式中,[ ]中的项为任选项,其中标号与操作码之间用“:”分隔,操作码与操作数之间用空格分隔,操作数与注释之间用“;”分隔,有多个操作数时,操作数和操作数之间用“,”分隔。
例如,
标号: 操作码 操作数 ;注释
LOOP: MOV A,30H ;(30H)→A
上述4个字段应该遵守的基本语法规则如下。
(1)标号字段
标号是语句所在地址的标志符号,有了标号,该语句才能被程序中的其他语句所访问。有关标号规定如下:
① 标号由1~8个ASCII码字符组成,第一个字符必须是字母。
② 同一标号在一个程序中只能定义一次,不能重复定义。
③ 不能使用汇编语言已经定义的符号作为标号,如指令助记符、伪指令及寄存器的符号名称等。
④ 标号的有无,取决于本程序中的其他语句是否访问该条语句。如无其他语句访问,则该语句前不需要标号。
(2)操作码字段
操作码是指令的助记符,表示指令的性质,用于指示CPU执行何种操作。操作码是汇编语言指令中唯一不能空缺的部分。
(3)操作数字段
文档评论(0)