- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 单片机基础知识3
1.5 程序设计举例 单片机汇编语言程序设计的基本步骤 1.分析问题,明确被控对象对软件的要求 2.确定算法 3.设计程序流程图 4.分配内存单元及有关端口地址 5.编写汇编语言源程序 6.调试程序 7.固化程序 主要的几种程序设计方法 顺序程序:顺序程序是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。 分支程序:分支程序是通过转移指令对相应条件的判断实现改变程序的执行方向的设计方法。 循环程序:在程序中需要反复的执行的程序段,为了避免在程序中多次的编写,可以通过利用条件转移或无条件转移指令来控制程序的执行。 子程序:在编写程序时,经常有一些的程序会被频繁的使用。通常情况下,我们将这些程序段定义成子程序,使程序变的便于调试和阅读,同时也缩小了程序的长度。 一、顺序程序设计 将30H单元内的两位BCD码拆开并转换成ASCII码,存入31H、32H两个单元中。 1、题意分析 2、程序流程 参考程序如下: ORG 2000H MOV A,30H ;取值 ANL A,#0FH ;取低4位 ADD A,#30H ;转换成ASCII码 MOV 31H,A ;保存结果 MOV A,30H ;取值 SWAP A ;高4位与低4位互换 ANL A,#0FH ;取低4位(原来的高4位) ADD A,#30H ;转换成ASCII码 MOV 32H,A ;保存结果 END 二、分支程序设计 分支程序有三种基本形式:单分支、双分支、多分支。 单分支: 双分支: 多分支: 分支程序的设计要点如下: (1)先建立可供条件转移指令测试的条件。 (2)选用合适的条件转移指令。 (3)在转移的目的地址处设定标号。 双分支程序设计举例 设X存在30H单元中,根据下式 X+2 X0 Y = 100 X=0 ∣X∣ X0 求出Y值,将Y值存入31H单元。 1、题意分析: 根据数据的符号位判别该数的正负,若最高位为0,再判别该数是否为0。 2、程序流程 参考程序如下: ORG 1000H MOV A,30H ;取数 JB ACC.7,NEG;负数,转NEG JZ ZER0 ;为零,转ZER0 ADD A,#02H ;为正数,求X+2 AJMP SAVE ;转到SAVE,保存数据 ZER0: MOV A,# 64H ;数据为零,Y=100 AJMP SAVE ;转到SAVE,保存数据 NEG: DEC A ; CPL A ;求∣X∣ SAVE: MOV 31H,A ;保存数据 SJMP $ ;暂停 END 多分支程序设计举例 根据R0的值转向7个分支程序。 R010,转向SUB0; R020,转向SUB1; | R060,转向SUB5; R0=60,转向SUB6; 1、题意分析: 利用JMP @A+DPTR 指令直接给PC赋值,使程序实现转移。 2、程序流程。 参考程序如下: ORG 2000H MOV DPTR,#TAB;转移指令表首地址 MOV A,R0 ;取数 MOV B,#10 DIV AB ;A/10,商在A中 CLR C RLC A ;A←2A JMP @A+DPTR ;PC ← A+DPTR TAB: AJMP SUB0 ;转移指令表 AJMP SUB1 AJMP SUB2 …… AJMP SUB5 AJMP SUB6 …… 三、循环程序设计 ☆循环程序一般包括如下四个部分: (1)初始化 (2)循环体 (3)循环控制 (4)结束 ☆循环程序按结构形式,有单重循环与多重循环。 ☆在多重循环中,只允许外重循环嵌套内重循环。 ☆不允许循环相互交叉,也不允许从循环程序的外部跳入循环程序的内部 有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式: X+2 X0 Y= 100 X=0 求出Y值,并将Y值放回原处。 ∣X∣ X0 1、题意分析:设置一个计数器控制循环次数,每处理完一个数据,计数器减1 2、程序流程 参考源程序如下: ORG 2000H MOV R0,#10 MOV R1,#30H START: MOV A,@R1 ;取数 JB ACC.7,NEG;若为负数,
您可能关注的文档
- 第8章1-配合物.ppt
- 第8章第1节假设检验的基本概念_概率论与数理统计.ppt
- 第8章桥式起重机的电气控制原理及维护.ppt
- 第8讲 弹力、重力、摩擦力.ppt
- 第8章 酶分子的化学修饰.ppt
- 第8章:逆向物流.ppt
- 第9章 C语言文件.ppt
- 第8讲 原电池.ppt
- 第9章 -材料成型机控制.ppt
- 第9章 Memetic算法.ppt
- 希沃白板说课课件英语.pptx
- 市政道路建设项目风险管理方案.docx
- 2025至2030全球及中国晶体谐振器行业市场深度研究及发展前景投资可行性分析报告.docx
- 2023年黑龙江省绥化市安达市种牛场招聘社区工作者真题及答案详解一套.docx
- 2023年黑龙江省绥化市安达市老虎岗镇招聘社区工作者真题及完整答案详解1套.docx
- 2023年黑龙江省绥化市安达市老虎岗镇招聘社区工作者真题及答案详解一套.docx
- 屠宰场粪污处理设施建设工程投资估算方案(模板).docx
- 屠宰场粪污处理设施建设工程环境影响报告书(范文模板).docx
- 小学信息技术教师教学画像构建与教育数据挖掘方法探究教学研究课题报告.docx
- 2025至2030全球及中国显微传感器行业市场深度研究及发展前景投资可行性分析报告.docx
文档评论(0)