- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言是面向机器硬件的语言,要求程序设计者对MCS-51单片机具有很好的“软、硬结合”的功底。
本章介绍程序设计的基本知识及如何使用汇编语言来进行基本的程序设计。
用于程序设计的语言基本上分为3种:机器语言、汇编语言和高级语言 。
1.机器语言
二进制代码表示的指令、数字和符号简称为机器语言
不易懂,难记忆,易出错。
2.汇编语言
英文助记符表示的指令称为符号语言或汇编语言。
3.高级语言
不受具体机器的限制,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。
将汇编语言程序转换成为二进制代码表示的机器语言程序称为汇编程序
经汇编程序“汇编(翻译)”得到的机器语言程序称为目标程序,原来的汇编语言程序称为源程序。
对于程序的空间和时间要求很高的场合,汇编语言仍是必不可缺的。
C语言和汇编语言混合编程
在很多需要直接控制硬件的应用场合,则更是非用汇编语言不可
使用汇编语言编程,是单片机程序设计的基本功之一
4.1.1 汇编语言程序设计步骤
(1)分析问题,确定算法
(2)根据算法,画出程序框图
(3)分配内存工作区及有关端口地址
(4)编写程序,养成在程序的适当位置上加上注释的好习惯。
(5)上机调试
编写完毕的程序,必须“汇编”成机器代码,才能调试和运行,调试与硬件有关程序还要借助于仿真开发工具并与硬件连接。
预完成任务的分析
首先,要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务的功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。
二、进行算法的优化
算法是解决具体问题的方法。应用系统经过分析、研究和明确规定后,对应实现的功能和技术指标可以利用严密的数学方法或数学模型来描述,从而把实际问题转化成由计算机进行处理的问题。
三、程序总体设计及流程图绘制
经过任务分析、算法优化后,就可以进行程序的总体构思,确定程序的结构和数据形式,并考虑资源的分配和参数的计算等。然后根据程序运行的过程,勾画出程序执行的逻辑顺序,用图形符号将总体设计思路及程序流向绘制在平面图上,从而使程序的结构关系直观明了,便于检查和修改。
清晰正确的流程图是编制正确无误的应用程序的基础和条件。所以,绘制一个好的流程图,是程序设计的一项重要内容。
流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系。局部流程图反映程序模块的具体实施细节。对于简单的应用程序,可以不画流程图。但是当程序较为复杂时,绘制流程图是一个良好的编程习惯。
常用的流程图符号有:开始和结束符号、工作任务符号、判断分支符号、程序连接符号、程序流向符号等
4.1.2 编制程序的方法和技巧
一、采用模块化程序设计方法
应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:发送、接收、延时、打印和显示等。
模块化的程序设计方法具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的可读性和可靠性,使程序的结构层次一目了然。
二、尽量采用循环结构和子程序
采用循环结构和子程序可以使程序的长度减少、占用内存空间减少。
通用的子程序,除了用于存放子程序入口参数的寄存器外,子程序中用到的其它寄存器的内容应压入堆栈进行现场保护,并要特别注意堆栈操作的压入和弹出的平衡;
4.1.3 汇编语言语句的种类和格式
两种基本类型:指令语句和伪指令语句
(1)指令语句
已在第3章介绍
每一条指令语句在汇编时都产生一个指令代码——机器代码
(2)伪指令语句
是为汇编服务的。在汇编时没有机器代码与之对应。
指令语句:
MCS-51的汇编语言的四分段格式如下:
标号字段 操作码字段 操作数字段 注释字段
规则:
(1)标号字段和操作字码段之间要有冒号“:”相隔;
(2)操作码字段和操作数字段间的分界符是空格;
(3)双操作数之间用逗号相隔;
(4)操作数字段和注释字段之间的分界符用分号“;”相隔。
操作码字段为必选项,其余各段为任选项。
举例:
下面是一段汇编语言程序的四分段书写格式
标号字段 操作码字段 操作数字段 ;注释字段
START: MOV A,#00H ;0→A
MOV R1,#10 ;10→R1
MOV R2, ;3→R2
LOOP: ADD A,R2
您可能关注的文档
- 水是利工程如经济学考试试卷a.doc
- 水暖和电y暖比较资料.doc
- 水暖地暖的原理是怎到样的-水地暖的工作原理及系统组成.doc
- 水暖地暖的读安装常识.doc
- 水暖管件管材企业如何打造功核心竞争力.doc
- 水机招商每手册.doc
- 水果仓管员岗4位职责.doc
- 水果电安装工程分包合同.doc
- 水泥w生产企业节能计划书.doc
- 水泥企功业能源管理手册.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 宏观经济学计算题大全.doc VIP
- 苏教版数学四年级上册第八单元认识射线、直线和角(课件).pptx
- 某市棚户区改造中区市政道路建设工程路面天然砂砾垫层施工方案.doc
- 淀粉制品公司风险分级管控与隐患排查治理双体系双控手册2022-2024.doc
- 福建省 政和县志.pdf
- 知识产权对策、研究成果管理及合作权益分配.pdf VIP
- 人工智能对学习、教学和教育的影响-The Impact of Artificial Intelligence on Learning, Teaching, and Education.docx
- 中越边广西龙邦镇护龙村跨国婚姻问题研究及对策.doc VIP
- 小学道德与法治六年级下册《我们生存的家园》教学设计及反思.doc
- 宏观经济学计算题.docx VIP
文档评论(0)