- 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编程的步骤、方法和技巧01添加标题4.2汇编语言源程序的编辑和汇编02添加标题4.3汇编语言程序设计举例03添加标题4.4C51高级语言简介04添加标题
4.1.1编程的步骤4.1.2编程的方法和技巧4.1.3汇编语言程序的基本结构4.1编程的步骤、方法和技巧
2025/4/27§4.1.1编程的步骤一、分析问题二、确定算法三、画程序流程图四、编写程序
2025/4/27§4.1.2编程的方法和技巧一、模块化的程序设计方法二、编程技巧
一、模块化的程序设计方法程序功能模块化的优点01划分模块的原则02
1、程序功能模块化的优点单个模块结构的程序功能单一,易于编写、调试和修改。便于分工,从而可使多个程序员同时进行程序的编写和调试工作,加快软件研制进度。程序可读性好,便于功能扩充和版本升级。对程序的修改可局部进行,其它部分可以保持不变。对于使用频繁的子程序可以建立子程序库,便于多个模块调用。
2、划分模块的原则每个模块应具有独立的功能,能产生一个明确的结果,即单模块的功能高内聚性。模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性。控制耦合是指模块进入和退出的条件及方式,数据耦合是指模块间的信息交换方式、交换量的多少及交换频繁程度。模块长度适中。20条~100条的范围较合适。
二、编程技巧添加标题添加标题添加标题添加标题添加标题尽量少用无条件转移指令。对于通用的子程序,考虑到其通用性,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈保护。在中断处理程序中,除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。用累加器传递入口参数或返回参数比较方便,在子程序中,一般不必把累加器内容压入堆栈。尽量采用循环结构和子程序。
4.1.3汇编语言程序的基本结构顺序程序分支程序循环程序子程序结构
4.2汇编语言源程序的编辑和汇编4.2.1源程序的编辑4.2.2源程序的汇编4.2.3伪指令
4.2.1源程序的编辑在微型计算机上,借助编辑软件,编写或修改汇编语言源程序。如行编辑或屏幕编辑软件。
2025/4/27§4.2.2源程序的汇编汇编:将汇编语言源程序转换为机器码表示的目标程序的过程。对单片机有:一、手工汇编二、机器汇编反汇编:将二进制机器语言程序翻译成汇编语言程序的过程称反汇编。源程序(汇编语言)目标码(机器语言)汇编反汇编
4.2.3伪指令伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。89S51有8个伪指令:ORGENDEQUDATADBDWDSBIT
ORG汇编起始命令格式:ORG16位地址功能:规定该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址。例如:ORG2000HSTART:MOVA,#64H┇规定了START的地址是2000H,又规定了汇编后的第一条指令码从2000H开始存放。
END汇编结束指令格式:END功能:通知汇编程序结束汇编。在END之后所有的汇编指令均不予以处理。
2025/4/27EQU赋值命令格式:字符名称EQU项(数或汇编符号)功能:把“项”赋给“字符名称”。注意:字符名称不等于标号(其后没有冒号);其中的项可以是数,也可以是汇编符号。EQU赋值过的符号名可以用作数据、代码地址、位地址或一个立即数。可以是8位的,也可以是16位的。例1:AAEQUR1MOVA,AA;AA代表工作寄存器R1例2:A10EQU10DELYEQU07EBHMOVA,A10;A10作为片内的一个直接地址LCALLDELY;DELY作为一个16位子程序的入口地址
DATA数据地址赋值命令添加标题添加标题添加标题添加标题添加标题功能:与EQU类似,但有以下差别:EQU定义的字符名必须先定义后使用,而DATA定义的字符名可以后定义先使用。用EQU伪指令可以把一个汇编符号赋给一个名字,而DATA只能把数据赋给字符名。DATA语句可以把一个表达式的值赋给字符名称,其中的表达式应是可求值的。DATA伪指令在程序中用来定义数据地址。格式:字符名称DATA表达式
2025/4/27DB定义字节命令格式:DB(项或项表)功能:通知汇编程序从当前ROM地址开始,保留一个字或字节串的存储单元,并存入DB后的数据。注意:项或项
您可能关注的文档
最近下载
- 《食品毒理学教案》.doc VIP
- 组织设计的跨部门整合与协同.pptx VIP
- 2024年河北机电职业技术学院单招职业技能测试题库及答案(各地真题).docx VIP
- CQI-30橡胶加工系统评估表(2022第1版Excel格式).xlsx
- 弯曲剪应力公式推导.ppt
- 音乐喷泉控制系统MFTPRO使用说明手册.docx VIP
- 1.1.1第2课时表示集合的方法 课件 (共48张PPT)(2024) 高中数学湘教版必修第一册.pptx VIP
- 电动单梁起重机自检记录.docx
- 全国计算机等级考试教程二级WPS Office高级应用与设计:电子表格的创建与编辑PPT教学课件.pptx VIP
- 全身肌肉起止点、作用及神经支配表总结一览.docx VIP
文档评论(0)