- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3-9章单片机小结2014121
第三章 MCS-51单片机汇编语言程序设计 3.1 概述 3.2 汇编语言程序设计原则与步骤 3.3 顺序程序 3.4 分支程序的设计 3.5 循 环 程 序 设 计 3.6 位操作程序设计 3.7 子程序 3.8 小 结 嵌入式系统的设计方法 1、确定方案和计算方法(算法:乒乓控制;连续控制;PID控制;线性最优控制;非线性控制等) 2、硬件系统设计(确定应用系统的硬件配置、性能指标) 3、软件系统设计(确定控制算法,合理分配存储器单元和 I/O接口地址,编制源程序) 4、制作电路板,系统调试。 汇编语言程序的基本原则 采用结构化、模块化设计原则 汇编语言程序的基本结构: 顺序结构 分支结构 循环结构 汇编语言程序的基本模块: 子程序 中断服务子程序 应用系统程序设计基本思路 拿到工程项目后,首先要对任务进行分解,分解的目标是每个单一任务,都可以用教材上的例子来解决。 对每个单一任务,都将其编写成一个独立的子程序。 编写合适的主程序,将各个单一任务有机地连接起来,完成总体设计要求。 对于实际工程项目而言,主程序的总体结构一般为循环结构。——与PLC类似。 子程序设计原则 一种能完成某一特定任务的程序段。其资源要为所有调用程序共享。因此,子程序在结构上应具有独立性和通用性, 在编写子程序时应注意问题: 1.子程序的入口地址,前必须有标号。 2.主程序调用子程序是通过主程序中的调用指令来实现的。 3.注意设置堆栈指针和现场保护 调用子程序时,要把程序断点地址压栈。子程序返回时执行RET指令时再把断点弹出堆栈送入PC指针。因此,在调用子程序时,必须保证堆栈数据的安全性,防止误更改。 同时为了提高编程效率,主程序和子程序都要要使用寄存器,因此也要用堆栈来进行现场保护与现场恢复。 因此,堆栈的使用必须要非常清楚。 如果有较多的寄存器要保护,应使主、子程序使用不同的寄存器组。 4.最后一条指令必须是RET指令 5.子程序可以嵌套,但是,不能递归调用。 6.在子程序调用时,还要注意参数传递的问题 入口参数是子程序运行时需要的原始参数。 出口参数是子程序执行后获得的结果参数。 【例4-4】单字节到双字节查表程序 【例4-4】有一巡回检测报警装置,需对16路(x)输入进行检测,每路有一个最大允许值(y),为双字节数。需根据测量的路数(x),查表找出对应该路的最大允许值(y),看输入值是否大于最大允许值,如果大于就报警。 取路数为 x(0 ≤ x ≤15),y为最大允许值,放在表格中。设进入查表程序前,假设路数 x 已放于 R2 中,查表后该路的最大允许值 y 放于 R3 R4 中。 查表的程序如下: ? 【例4-4-1】单字节到双字节查表程序 –DPTR版本 ORG 0000H MOV DPTR, #TAB3 MOV A, R2 ADD A, R2 ;(R2)*2→(A) MOV R3, A ;保存指针 MOVC A, @A+DPTR ;查第一字节 XCH A, R3 INC A MOVC A, @A+DPTR ;第二字节 MOV R4, A SJMP $ TAB3: DW 1520H,3721H,4264H,7580H ;数值表 DW 3483H,3265H,7883H,9943H DW 1000H,4051H,6758H,8931H DW 4468H,5871H,1328H,2780H END 【例4-4-2】单字节到双字节查表程序 –DPTR版本(子程序) ORG 0000H MOV R2,#6 ; 入口参数 MAIN: LCALL TB4 ;调用子程序 MOV P1, R3 ;出口参数 MOV P2, R4 ;出口参数 SJMP $ TB4: MOV DPTR,#TAB3 MOV A,R2 ADD A,R2 ;(R2)*2→(A) MOV R3,A ;保存指针 MOVC A,@A+DPTR ;查第一字节 XCH A,R3 INC A MOVC A,@A+DPTR ;第二字节 MOV R4,A RET TAB3: DW 1520H,3721H,4264H,7580H ;数值表 DW 3483H,3265H,7883H,9943H DW 10
您可能关注的文档
最近下载
- 【关爱青春期】《男生青春期教育讲座》.pptx VIP
- JB∕T 8527-2015 金属密封蝶阀.pdf VIP
- 2025 《高质量数据集 分类指南》.pdf VIP
- 2025年八年级语文上册《钱塘湖春行》古诗鉴赏对比阅读训练含答案.docx VIP
- 《工程测量基础(第2版)》课件 闭合导线测量.pptx
- 《铁路技术管理规程》(普速铁路部分)考试复习参考题库资料(500题).pdf VIP
- 2025年宿州市公安机关第二批公开招聘警务辅助人员240人笔试备考试题及答案解析.docx VIP
- 管理创新与思维创新 .pptx VIP
- 《光电传感器》PPT课件.ppt VIP
- CAD基础教程详解.ppt VIP
原创力文档


文档评论(0)