51单片机汇编语言程序设计[精品].ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机汇编语言程序设计[精品]

* * 在上例程序中采用了多重循环程序,即在一个循环体中又包含了其他的循环程序,这种方法是实现延时程序的常用方法。使用多重循环时,必须注意以下几点。 (1) 循环嵌套,必须层次分明,不允许产生内外层循环交叉; (2) 外循环可以一层层向内循环进入,结束时由里往外一层层退出; (3) 内循环可以直接转入外循环,实现一个循环由多个条件控制的循环结构方式。 4.2.3 循环程序 * * 4.2.4 子程序 同一个程序中,往往有许多地方都需要执行同一任务,这时可对这项任务独立编写,形成一个子程序。在原来的主程序中需要执行该任务时,调用该子程序,执行完后又返回主程序,这就是子程序结构。在程序设计过程中,适当地使用子程序具有以下优点: 1) 不必重复编写同样的程序,提高了编码的效率。 2) 缩短了源程序和目标程序的长度,节省了程序存储器的空间。 3) 使程序模块化、通用化,便于阅读、交流和共享。 4) 便于分块调试。 ----子程序 * * 在子程序调用过程中须解决以下两个方面的问题: 1) 保护现场和恢复现场。 2) 调用程序与被调用程序之间的参数传递。 保护现场和恢复现场 在进入子程序时,将需要保护的数据推入堆栈,子程序中要使用到的寄存器。在返回主程序之前,再将推入堆栈的数据弹出到原有的工作单元,恢复其原来的状态,使调用程序可以继续往下执行。 4.2.5 子程序 ----子程序 * * 参数传递 子程序调用时,要特别注意主程序与子程序之间的信息传递问题。在调用一个子程序时,主程序应先把有关参数(子程序入口条件)放到某些约定的位置,子程序在运行时,可以从约定的位置得到有关参数。同样子程序结束前,也应把处理结果(出口条件)送到约定位置。返回后,主程序便可从这些位置得到需要的结果,这就是参数传递。 4.2.5 子程序 ----参数传递 * * 参数传递大致可分为以下几种方法: 1) 传递数据 将数据通过工作寄存器R0~R7和累加器来传送。即主程序和子程序在交接处,通过工作寄存器或累加器存储要传递的参数。 2) 传送地址 数据存放在数据存储器中,参数传递时只通过R0、R1或DPTR传递数据所存放的地址。 3) 通过堆栈传递参数 在调用之前,先把要传送的参数压入堆栈,进入子程序之后,再将压入堆栈的参数弹出到工作寄存器或者其他内存单元。 4.2.5 子程序 ----参数传递 * * 例4-10 试编写程序,计算 分析:0、1、...、9存放在内部RAM的20H开始的存储区域内,计算所得结果存放在R3、R2中。要求:平方运算编写成子程序SORT,主程序通过调用SORT并求和完成运算。参数的传递用累加器。 4.2.5 子程序 ----子程序应用 * * ORG 8000H MAIN: MOV R0, #20H ;置数据指针 MOV R7, #10 ;置计数初值 MOV R3, #0 ;结果单元清零 MOV R2, #0 LOOP: MOV A, @R0 ;取数 ACALL SORT ;调用求平方子程序 ADD A, R2 ;累加平方和 MOV R2, A MOV A,R3 ADDC A, #0 ;加进位Cy MOV R3, A INC R0 ;修改指针 DJNZ R7, LOOP ;未完,继续 4.2.5 子程序 ----子程序应用 * * SJMP EN SORT: MOV DPTR, #TAB ;进入子程序查平方表 MOVC A, @A+DPTR RET ;返主程序 TAB: DB 0, 1, 4, 9, 16 DB 25, 36, 49, 64, 81 EN: NOP END 4.2.5 子程序 ----子程序应用 * * 习题与思考题 4-1 常用的程序结构有哪几种?特点如何? 4-2 子程序调用时,参数的传递方法有哪几种? 4-3 编写程序,将片内30H~39H单元中的内容送到以2000H为首的外部存储器。 4-4 MCS-51系列单片机汇编语言进行程序设计的步骤如何? 4-5 编写程序,采用算术平均值滤波法求采样平均值,设8次采样值依次放在20H~27H的连续单元中,结果保留在A中。 * * 4-6 编写程序,将存放在内部RAM起始地址为20H和30H的两个3字节无符号相

您可能关注的文档

文档评论(0)

bodkd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档