- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 汇编语言程序设计 6.1 汇编语言 6.2 基本程序结构设计 6.3 子程序设计 6.4 实用程序举例 小 结 单片机汇编语言程序设计是单片机应用系统设计的重要组成部分。汇编语言程序基本结构包括顺序结构、分支结构、循环结构和子程序结构等。 程序设计的关键是掌握解题思路。程序设计的步骤一般分为题意分析、画流程图、分配寄存器和内存单元、源程序设计、程序调试等。 单片机原理与应用技术(第2版)清华大学出版社 单片机原理与应用技术(第2版)清华大学出版社 6.1 汇编语言 6.2 基本程序结构设计 6.3 子程序设计 6.4 实用程序举例 小结 采用汇编语言编写的程序叫做汇编语言源程序,源程序只能用于人机对话,并不能被机器直接执行,必须由“汇编程序”翻译成机器语言的目的程序。 汇编语言(Assembly Language)是指用指令助记符代替机器码的编程语言。它是一种面向机器的程序设计语言,属于低级程序语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差。 汇编语言程序设计的基本步骤如下。 (1) 题意分析 (2) 画出程序流程图 (3) 分配内存工作区及有关端口地址 (4) 编制汇编源程序 (5) 仿真、调试程序 (6) 固化程序 按照程序编写的顺序依次执行,编写这类程序主要应注意正确地选择指令,提高程序的执行效率。 6.2.1 顺序结构程序设计 例6.2 拆字程序。将30H的内容拆开,高位送31H低位,低位送32H低位。 分析:利用逻辑与指令实现内容的屏蔽。 程序流程如图所示。 解:编程清单如下: ORG 0050H CWORD:MOV A,30H SWAP A ANL A,#0FH MOV 31H,A ;将(30H)高位存入(31H) MOV A,30H ANL A,#0FH MOV 32H,A ;将(30H)低位存入(32H) END 6.2.2 循环结构程序设计 在程序设计中,当需要对某段程序多次重复执行时,可采用循环的方法设计程序。 循环结构的程序一般包括下面几个部分: ◆ 置循环初值 ◆ 循环体 ◆ 循环修改 ◆ 循环控制 例6.4 数据极值查找程序。内部RAM 30H单元开始存放了10个数,找出其中最大的数。 分析:采用比较交换法来查找最大数。先指定MAX单元,使第一个数存入MAX单元,然后把它和数据块中的每一个数逐一比较,大的数存放在MAX单元,直到数据块中每个数都比较完。 6.2.3 分支结构程序设计 分支程序的主要特点是程序的流向有两个或两个以上的出口,根据指定的条件进行选择确定。编程的关键是如何确定供判断或选择的条件以及选择合理的分支指令。 分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择程序流向。 例6.6 设补码数x存放在30H单元中,函数值y按下式进行赋值: 试编写程序,根据x的值求出y,并放回原单元。 分析:取出x后先作取值范围判断,用累加器A状态转移指令判断x是否为0,用位状态转移指令判断x是大于0还是小于0。 在解决实际问题时,经常会遇到一个程序中多次使用同一个程序段,如延时程序、查表程序、算术运算程序段等功能相对独立的程序段。为了节省存储空间,往往把它独立出来,附加额外的指令,将其编制成可供反复调用的公用的独立程序段,并通过适当的方法把它与其他程序段连接起来。这种程序设计的方法称为子程序设计。被独立出来的程序段称为子程序,调用子程序的程序叫主程序或调用程序。 设计包含子程序的程序时,需注意以下几个问题。 ◆主程序与子程序之间的转返 ◆主程序与子程序间的参数传递 ◆现场保护 例6.9 用程序实现c=a2 +b2,假设a、b、c分别存放于R2、R3、R4中。 分析:通过调用子程序查平方表,结果在主程序中相加得到。 解:编程清单如下: 例6.11 8位二进制数转换为BCD码。将累加器A中的二进制数0~FFH内的任一数转换为BCD码(0~255)。 1、代码转换程序 解:编程清单如下: BINBCD:MOV B,#100 DIV A,B ;除法指令,A/B →商在A中,余数在B中 PUSH ACC ;将商(百位数)暂存在堆栈中 MOV A,#10 XCH A,B ;余数交换到A中,B=10 DIV A,B ;A/B →商(十位)在A中,余数(个位)在B中 SWAP A ;十位数移到高半字节 ADD A,B
您可能关注的文档
- 第1讲_计算机网络基础知识.ppt
- 德国AAA数字全瓷牙.ppt
- 大运会口语范文.ppt
- 单片机及C51应用-8.ppt
- 单片机原理及应用(第二讲).ppt
- 单片机的外围接口.ppt
- 单片机定时计数功能.ppt
- 单片机原理与应用-8155.ppt
- 单片机AD与DA.ppt
- 第0章模拟电子技术 导言.ppt
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)