- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 单片机程序设计基础 §4.1 编程的步骤、方法和技巧 §4.2 汇编语言源程序的编辑和汇编 §4.3 汇编语言程序设计举例 §4.4 C51高级语言简介 §4.1 编程的步骤、方法和技巧 §4.1.1 编程的步骤 §4.1.2 编程的方法和技巧 §4.1.3 汇编语言程序的基本结构 §4.1.1 编程的步骤 一、分析问题 二、确定算法 三、画程序流程图 四、编写程序 §4.1.2 编程的方法和技巧 一、模块化的程序设计方法 二、编程技巧 一、模块化的程序设计方法 1、程序功能模块化的优点 2、划分模块的原则 1、程序功能模块化的优点 单个模块结构的程序功能单一,易于编写、调试和修改。 便于分工,从而可使多个程序员同时进行程序的编写和调试工作,加快软件研制进度。 程序可读性好,便于功能扩充和版本升级。 对程序的修改可局部进行,其它部分可以保持不变。 对于使用频繁的子程序可以建立子程序库,便于多个模块调用。 2、划分模块的原则 每个模块应具有独立的功能,能产生一个明确的结果,即单模块的功能高内聚性。 模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性。控制耦合是指模块进入和退出的条件及方式,数据耦合是指模块间的信息交换方式、交换量的多少及交换频繁程度。 模块长度适中。20条~100条的范围较合适。 二、编程技巧 1、尽量采用循环结构和子程序。 2、尽量少用无条件转移指令。 3、对于通用的子程序,考虑到其通用性,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈保护。 4、在中断处理程序中,除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。 5、用累加器传递入口参数或返回参数比较方便,在子程序中,一般不必把累加器内容压入堆栈。 §4.1.3 汇编语言程序的基本结构 一、顺序程序 二、分支程序 三、循环程序 §4.2 汇编语言源程序的编辑和汇编 §4.2.1 源程序的编辑 §4.2.2 源程序的汇编 §4.2.3 伪指令 §4.2.1 源程序的编辑 在微型计算机上,借助编辑软件,编写或修改汇编语言源程序。如行编辑或屏幕编辑软件。 §4.2.2 源程序的汇编 汇编:将汇编语言源程序转换为机器码表示的目标程序的过程。对单片机有: 一、手工汇编 二、机器汇编 §4.2.3 伪指令 伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。 89S51有8个伪指令: ORG END EQU DATA DB DW DS BIT ORG 汇编起始命令 格式:ORG 16位地址 功能:规定该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址。例如: ORG 2000H START:MOV A,#64H ┇ 规定了START的地址是2000H,又规定了汇编后的第一条指令码从2000H开始存放。 END 汇编结束指令 格式:END 功能:通知汇编程序结束汇编。在END之后所有的汇编指令均不予以处理。 EQU 赋值命令 格式:字符名称 EQU 项(数或汇编符号) 功能:把“项”赋给“字符名称”。 注意:字符名称不等于标号(其后没有冒号);其中的项可以是数,也可以是汇编符号。EQU赋值过的符号名可以用作数据、代码地址、位地址或一个立即数。可以是8位的,也可以是16位的。 例1: AA EQU R1 MOV A,AA;AA代表工作寄存器R1 例2: A10 EQU 10 DELY EQU 07EBH MOV A,A10;A10作为片内的一个直接地址 LCALL DELY;DELY作为一个16位子程序的入口地址 DATA 数据地址赋值命令 格式:字符名称 DATA 表达式 功能:与EQU类似,但有以下差别: 1、EQU定义的字符名必须先定义后使用,而DATA定义的字符名可以后定义先使用。 2、用EQU伪指令可以把一个汇编符号赋给一个名字,而DATA只能把数据赋给字符名。 3、DATA语句可以把一个表达式的值赋给字符名称,其中的表达式应是可求值的。DATA伪指令在程序中用来定义数据地址。 DB 定义字节命令 格式:DB(项或项表) 功能:通知汇编程序从当前ROM地址开始,保留一个字或字节串的存储单元,并存入DB后的数据。 注意:项或项表可以是一个字节,用逗号隔开的字节串或括在单引号中的ASCI
您可能关注的文档
最近下载
- 生理性房室传导阻滞_刘仁光.pdf VIP
- 农村自来水厂建设工程分部分项施工方案和技术措施.pdf VIP
- (人教A版数学选择性必修一)2025年秋季学期讲义第12讲第一章空间向量与立体几何测评卷(基础卷)(学生版+教师版).docx VIP
- 《反恐怖防范管理规范 第2部分:医院》(DB22 T 3687.2-2025).pdf VIP
- 计算机视觉教程 作者 章毓晋 CCV04.ppt VIP
- 化工原理第四版谭天恩习题答案解析.pdf VIP
- 2025年高考物理(山东卷)试卷评析及2026高考备考策略 课件.pptx
- 人教版新版一年级语文上册课程纲要.pdf VIP
- 2025年广州地铁集团公司经营方针和战略.docx
- 2025年职业技能无人机驾驶员-民用无人机驾驶员理论知识参考题库含答案解析(5卷).docx VIP
文档评论(0)