网站大量收购独家精品文档,联系QQ:2885784924

第三章80C51单片机的程序设计.pptVIP

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
§3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 一般现场保护/恢复方式有两种: 若每次调用需保护的内容不同,可采用前者。这样每次调用均需在主程序中编写保护和恢复程序,增加程序量,多占用存储空间。 对每次调用保护的内容固定,则应采用后者。既减少程序量又有利于程序的读、写和调试。 在编写子程序时,还应注意保护(压栈)和恢复(弹出)的顺序,否则将出错。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序的特性 随着程序设计技术的发展,子程序在程序设计中越来越重要。因此,对编制子程序应有较高的要求,除了通常在程序设计中应遵循的原则(程序应尽量简炼、占用存储空间少,执行速度快等)外,还应具备以下特性: §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序的特性 1)通用性 为使子程序能适应各种不同程序、不同条件下的调用,子程序应具有较强的通用性。例如,数制转换子程序、多字节运算子程序等,理应能适应各种不同应用程序的调用,至少应尽量做到在本程序范围内通用。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序的特性 2)可浮动性 是指子程序可设置在存储器的任何区域。假如子程序只能设置在固定的地址段,在编制主程序时就要特别注意存储空间的分配。为使子程序能够浮动,必须在子程序中避免选用绝对转移地址,而应选用相对转移类指令,子程序首地址也应采用符号地址。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序的特性 3)可递归和可重入性 子程序能自己调用自己的性质,称为子程序的可递归性;而子程序能同时被多个任务(或多个用户程序)调用的性质,称为子程序的可重入性。这类子程序常在庞大而复杂的程序中应用,单片机应用程序设计很少用到。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序说明文件 对于通用子程序,为便于各种用户程序的选用,要求在子程序编制完成后提供一个说明文件,使用户不必详读源子程序,只需阅读说明文件就能了解其功能及应用。 子程序说明文件一般包含如下内容: §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序说明文件 ①子程序名。标明反映子程序功能的名字。 ②子程序功能。简要说明子程序能完成的主要功能。 ③初始和结果条件。说明有哪些参量、参量传送和存储单元,说明执行结果及其存储单元。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 子程序说明文件 ④所用的寄存器。提示主程序对哪些寄存器内容是否需要进栈保护。 ⑤子程序调用。指明本子程序需调用哪些子程序。有些复杂而庞大的子程序还需说明占用资源情况、程序算法及程序结构流程图等。随子程序功能的复杂程度不同,其说明文件的要求也各不相同。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 常用子程序举例 例9. 将单字节无符号二进制整数转换成三位压缩型 BCD码。 采用80C51的除法指令,可以很方便地实现单字节二进制整数转换成三位压缩型BCD码。三位BCD码需占用二个字节,将百位BCD码存于高位地址字节单元,十位和个位BCD码存于低地址字节单元中。 §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 例9. 入口参数:8位无符号二进制整数存于R4中。 出口参数:三位BCD码存于R4、R5中。 转换方法:采用除法指令。子程序如下: BINBCD:PUSH PSW PUSH ACC ;现场保护 PUSH B §3.2 汇编语言及其程序设计 二、 汇编语言程序设计 关于子程序的设计 例9. 程序续 MOV A,R4 ;二进制整数送A MOV B,#100 ;十进制数100送B DIV AB ;(A)/100,以确定百位数 MOV R5,A ;商(百位数)存于R5中 MOV A,#10 ;将10送A中 XCH A,B

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档