单片机第4章(全国重点大学课件).pptVIP

  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.1 概述 4.1.4 汇编语言的规范 常用的伪指令 常用的伪指令 常用的伪指令 常用的伪指令 常用的伪指令 §4.3 程序设计基础与举例 方法1 方法2: 4.3.2 分支程序 4.3.2 分支程序 4.3.3 循环程序 ?? 在实际应用中的循环程序中,有时会遇到在循环体内具有多分支结构的循环程序,每执行循环一次,程序应判断是按照规定好的次序去执行其他分支或重复执行某个分支。 ?? 对于这种结构的循环程序,我们可采用逻辑尺控制的方法实现。逻辑尺控制法首先应设计一把逻辑“尺”,即将字节、字或双字甚至将根据需要所设置的多字节中的各位表示不同操作,如果需在循环中执行更多分支,也可采用多位组合。 最常用而用简单的逻辑尺是用一位0或1表示两种不同的分支操作。如下例: 例题:对一个部件的加工操作,根据设计要求,需通过两个不同的程序段来完成,并且执行程序段PRO1和PRO2的顺序和次数也有规定。 ?? 例如规定:PRO1(2次)→PRO2(3次)→PRO1(5次)→PRO2(4次) 请编程实现 分析:根据题目的特点和要求,我们采用逻辑尺控制法来编程。首先应设计定义一把逻辑尺。题目规定执行PRO1和PRO2共14次,因此采用一位的两种状态0或1来分别标志转向分支PRO1或PRO2. N???? EQU?? 14???? ;定义循环的总次数 RULE? EQU?? 183CH? ;定义逻辑尺 CODE?? SEGMENT ????? ASSUME CS:CODE START: MOV AX,RULE ??????? MOV CL,N LOP:?? SAL AX,1 ??????? JC? PRO2 PRO1:??? ????????? . PRO2: ????????? . NEXT:?? DEC CL ??????? JNZ LOP ??????? MOV AH,4CH ??????? INT 21H CODE?? ENDS ?????? END START 逻辑尺控制法 * * 通过前面的学习,我们已经了解了单片机内部的结构,MCS-51指令系统的寻址方式、各类指令的格式及功能。 下面我们就是要如何利用MCS-51的指令系统,来编写高效、充分利用其特点的程序。 4.1.1 程序设计语言 1. 机器语言 2. 汇编语言 3. 高级语言 4.1.2 编制程序的步骤 1.任务分析(硬件、软件系统分析) 2.确定算法和工作步骤; 3.程序总体设计和流程图绘制 关于流程图符号: 开始、结束----圆角矩形 工作任务----矩形 判断分支----菱形 程序流向---- 程序连接---- 开始 结束 4. 分配内存,确定程序与数据区存放地址; 5. 编写源程序; 6. 调试、修改,最终确定程序。 4.1.3 方法技巧 1. 模块化设计(按功能分:显示、打 印、输入、发送等) 2. 尽量采用循环及子程序结构(节省内存) 汇编语言源程序由以下两种指令构成 汇编语句(指令语句) 伪指令(指示性语句) 汇编语句的格式: 标号: 操作码 操作数 ;注释 数据表示形式: 二进制(B)、十六进制(H)、十进制(D或省略)、ASCII码(以单引号标识) 3.伪指令:控制汇编用的特殊指令,这些指令不属 于指令系统,不产生机器代码。 ORG (Origin) 定位目的程序的起始地址。 格式: ORG 表达式 如:ORG 0000H 注:表达式必须为16位地址值。 END 汇编语言程序结束伪指令。 注:一定放在程序末尾! EQU (EQUate) 赋值伪指令。 格式: 字符名称 EQU 数值或汇编符号 例: AA EQU 30H K1 EQU 40H MOV A,AA ; (30H)→A MOV A,K1 ;(40H)→A DB(Define Byte) 从指定单元开始定义(存储)若干个字节的数据或ASCII码字符,常用于定义数据常数表。 格式:DB 字节常数或ASCII字符 例: ORG 1000H DB 34H,0DEH,’A’,’B’ DB 0AH,0BH,20 DW(Define Word) 从指定单元开始定义(存储)若干个字的数据 或ASCII码字符。 格式:DW 字常数或ASCII字符 例: ORG 2000H DW 1234H,’B’ DW 0AH,20 BIT 位地址符号指令。 把

文档评论(0)

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

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

1亿VIP精品文档

相关文档