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

单片微型计算机原理及应用教学幻灯片讲义.ppt

单片微型计算机原理及应用教学幻灯片讲义.ppt

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

为标号赋值EQU 格式: 标号 : EQU nn或表达式 功能:将语句操作数的值赋于本语句的标号 例:AB:EQU 1000H; 给标号赋地址值为1000H 注意:同一程序,用EQU对标号赋值后,该标号的值在整个程序中不能再改变 源程序结束END 格式: 标号 : END 表达式 功能:END告诉汇编程序,该程序段已结束。不论END在哪出现,汇编程序不汇编其后的语句。END的标号可有可无。 § 9—2 汇编语言源程序汇编过程 由汇编语言编写的源程序,须—变成?机器语言才能被单片机执行。 ??若由人工完成:?先由指令查出每条指令对应的机器代码,列一 张和源程序对应的机器程序清单。 ?在监控程序管理下,从键盘直接? 计算机内存。 人工方法效率低,易出错,麻烦。 ?现一般都用微机系统或开发装置汇编,可在同一计算机中既汇编 源程序,又执行汇编后的目标程序,即自汇编。 ?? ?后来也有采用交叉汇编。用计算机对源程序汇编,再将目标程序 打印成清单输入或通过介质转存到小型或专用微型机中。单板机一般用 此法。 自动编排目标程序中指令存放地址 源程序翻译?机器码 分析源程序语法。若出错,给出错误信息 4 输出目标程序及源程序文件列表 §9—3 汇编语言程序基本结构及程序设计举例 和大多数高级语言编程一样,单片机的汇编语言也有4种编程形式 一 顺序结构形式: 如前讲例题,将2位地址异或,放入另一单元 二 分支结构—通过条件转移指令实现 分为: 顺序结构 分支结构 循环结构 子程序结构 单分支 多分支 三 循环结构 程序循环是通过条件转移指令进行控制的。 包括4个部分: 子程序结构 子程序应具备特性 ?通用性—必须适应各种应用程序的调用。子程序的参数是可变的。 ?可浮动性—子程序可不参加任何修改放置在存储器的任何区域。这 要求子程序设计中应避免使用绝对转移指令。子程序的首地址也该用 符号地址 循环准备—设循环次数,起始地址,结果初值 循环体—循环程序的主体,重复执行部分 循环修改—修改次数及参变量 循环控制部分—由循环结束条件判断是否结束循环 ?可递归性及可重入性 参数传递方法 ?传递数据 将数据通过R0~R7或A来传送。 具体操作:调用子程序前将数据送入寄存器中,子程序就对这些寄 存器中的数据进行操作,子程序执行后,结果仍由寄存器送回 ?传递地址 数据存于数据存储器中,参数传递时用R0,R1,DPTR传递数据存 放的地址。调用结束,结果也放在数据存储器中,传送回的也是寄 存器中的地址 ? ? 子程序可 自己调用 自己 子程序可同 时被多个程序调用 ?堆栈传递参数 调用前,将要传递的参数?堆栈,进入子程序后,再将堆栈中的参 数弹出到R ~ 0R7或其它内部RAM单元。弹出时,堆栈顶2个字节数 据应是断点地址 现场保护 进入子程序,应注意除了要处理的参数数据和要传递回主程序的参 数之外,有关的内部RAM单元和工作寄存器的内容及各标志状态都 不因调用子程序而改变。 现场保护:一旦进入子程序,就将子程序中使用的或会被改变内容 的工作单元的内容压入堆栈。子程序处理完,将要返回前,将堆栈 中的数据弹出到原来对应的工作单元,恢复原态,再返回。 子程序接口说明 包括:?子程序名 ?子程序功能;给自己或读者看的 ?入口参数及格式 ?出口参数及格式 ?程序中使用的寄存器和工作单元 ?调用 ?设计举例: 定时或延时 例1: MOV R5,#TIME; (一个机器周期) LOOP: NOP; (一个机器周期) NOP; (一个机器周期) DJNZ R5, LOOP; (二个机器周期) 设晶振fosc=12MHZ,, 则一个机器周期=1us,一次循环4us.故 最小延迟时间:4us; 最大延迟时间:1024us; 4*256=1024 长时间循环可加多重循环 算最大定时时间 设:Fosc=12MHZ; MOV R5, #TIME1; LOOP1: MOV R4, #TIME2; (一个机器周期) LOOP2: NOP;

文档评论(0)

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

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

1亿VIP精品文档

相关文档