单片微型计算机原理及应用 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.pptVIP

单片微型计算机原理及应用 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.4 综合编程举例 例4-18 编一I/O端口程序,用P1.0口输出1kHz和2kHz的变频信号以示报警,每隔1秒交替变换1次。 单片微型计算机原理及应用 第4章 MCS—51单片机的汇编语言程序设计 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 第4章 MCS—51单片机的汇编语言程序设计 4.1 程序设计的步骤 4.2 MCS—51单片机汇编语言的伪指令 4.3 汇编语言程序设计 4.4 综合编程举例 4.1 程序设计的步骤 1)分析任务,确定算法或解题思路。 2)按功能划分模块,确定各模块之间的相互关系及参数传递。 3)根据算法和解题思路画出程序流程图。 4)合理分配寄存器和存储器单元,编写汇编语言源程序(以“.ASM”扩展名保存),并进行必要的注释,以方便阅读、调试和修改。 5)将汇编语言源程序进行汇编和连接,生成可执行的目标文件(“.BIN或.HEX”)。 6)仿真调试、修改,直至满足任务要求(仿真调试可以用软件模拟仿真,也可用硬件仿真,硬件仿真器需单独购买)。 7)将调试好的目标文件(“.BIN或.HEX”)烧录进单片机内,上电运行。 4.2 MCS—51单片机汇编语言的伪指令 1.定义起始地址伪指令ORG 1)在一个汇编语言源程序的开始,一般都要设置一条ORG伪指令来指定该程序在程序存储器中存放的起始地址。 2)在一个汇编语言源程序中,可以多次使用ORG伪指令为不同的程序段或数据段确定相应的起始地址,但所确定的16位地址必须从小到大排列,且存储空间不允许重叠。 2.终止汇编伪指令END 3.定义字节伪指令DB 4.定义字伪指令DW 5.定义连续存储区伪指令DS 6.赋值伪指令EQU 7.位地址定义伪指令BIT 4.3 汇编语言程序设计 4.3.1 顺序结构程序 顺序结构程序是指无分支、无循环,也不调用子程序的程序,又称简单程序,即程序的执行是按程序计数器PC自动加1的顺序执行的。任何程序中都包含有这样结构的程序,它是构成复杂程序的基础。 例4-1 求和程序,将内部RAM 40H、41H、42H三个单元中的无符号数相加,其和存入R0(高位)及R1(低位)。 4.3 汇编语言程序设计 4.3 汇编语言程序设计 例4-2 拆拼字程序,将片内RAM的50H、51H两个单元中的低4位分别取出,合并成一个字节后存入52H单元。 4.3 汇编语言程序设计 4.3.2 分支结构程序 在程序设计中,有时往往需要根据某个条件成立与否来决定程序的走向,以转向不同的分支。常见的分支结构有单分支、双分支和多分支三种结构,如图4?1所示。 图4-1 分支结构 a)单分支结构 b)双分支结构 c)多分支结构 4.3 汇编语言程序设计 例4-3 单分支程序,假设在内部RAM的40H与41H单元中有两个无符号数,现要找出其中的较大者,并将其存入40H单元中,较小者存入41H单元。 4.3 汇编语言程序设计 例4-4 双分支程序,某温度控制系统采集的温度值T存放在累加器A中,此外在内部RAM的54H单元中存放控制温度的下限值Ta,在55H单元中存放控制温度的上限值Tb。 若T>Tb,程序转向降温处理程序JW;若T<Ta,则程序转向升温处理程序SW;若Ta≤T≤Tb,则程序返回主程序。 4.3 汇编语言程序设计 例4-5 多分支程序,根据R7的内容分别转向相应的处理程序。设R7的内容为处理程序的序号0~N,对应的处理程序的入口地址分别为A0~AN。 4.3 汇编语言程序设计 4.3.3 循环结构程序 在实际问题中,经常需要重复地做某件事情,用计算机来处理就是要重复地执行某些指令,这就用到了循环结构程序。 图4-2 两种循环程序操作流程 a)先执行后判断 b)先判断后执行 4.3 汇编语言程序设计 例4-6 存储单元清0程序,在外部RAM首地址为TABLE的数据表中有连续10字节的数据,编程将其全部清0。 4.3 汇编语言程序设计 例4-7 延时程序,编写一个延时约120ms的程序,若系统的晶振频率为6MHz。 4.3 汇编语言程序设计 例4-8 排序程序,将片内RAM中地址为30H~39H的连续10个单元中的无符号数由小到大排序,结果仍存于这片单元中。 4.3 汇编语言程序设计 1)子程序必须命名,以便主程序或其他程序调用。 2)注意现场的保护与恢复。 3)注意有关参数的传递。 4)子程序的最后一条指令必须是返问指令RET。 4.3.4 子程序结构及参数传递方法 4.3 汇编语言程序设计 例4-9 在主程序中保护现场。 4.3 汇编语言程序设计 例4-10 编写将8位无符号数转换为3位BCD码(2个字节)的子程序。 4.3 汇编语言程序设计 例4-11 编写子程序,将

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档