第三章(伪指令与程序设计).ppt

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

一、伪指令 二、汇编程序设计方法 三、程序设计 1、简单程序 2、分支程序 3、循环程序 4、查表程序 5、子程序 二、汇编程序设计方法 1、步骤: (1)分析题意确定算法。对复杂的问题进行具体分析,找出合理的计算方法及适当的数据结构。 (2)根据算法画出程序框图。画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。 (3)编写程序。 编写公用子程序前,首先应确定子程序名及初始和结果条件。通用子程序所用的存储器单元通常是MCS-51片内RAM区的地址单元或工作寄存器等,在编程前应合理安排,规划好。 初始条件:包括程序入口参数,所用的寄存器以及初始化要求。 结果条件:表示子程序执行结果所存放的存储单元。 初始和结果条件,主要是为了便于子程序调用者的调用 公用子程序应具有: ①子程序的第一条指令地址,称为子程序首地址或称入口地址,必须用标号标明,以便调用者调用。 ②子程序的末尾要用RET返回指令结束,以便正确返回到原调用处,继续执行原程序。 2、程序设计概述--基本步骤 题意分析 画出流程图 分配内存及端口 编制源程序 仿真、调试程序 固化程序 三、程序设计 1、简单程序 2、分支程序 3、循环程序 4、查表程序 5、子程序 1、简单程序设计 结构特点: 按指令的先后顺序依次执行。 例1:将20H单元的两个压缩BCD码拆开变成ASCII码,存入21H、22H单元。(假设20H中的BCD码 2、分支程序设计 结构特点:不一定按指令的先后顺序依次运行程序,程序的流向有两个或两个以上分支,根据指定条件选择程序的流向。 如: 实例3:已知30H单元中有一变量X,要求编写一程序按下述要求给Y赋值,结果存入31H单元。 X+1, X>0 Y = 0 , X = 0 –1 , X<0 题意:根据X的不同,程序编写时有三个出口,即有三个分支!!!! 设内部RAM 20H单元和30H 单元中分别存放了两个8位的无符号数 X、Y, 若X≥Y 则让P1.0管脚连接的LED亮;若XY 则让P1.1管脚连接的LED亮。 X EQU 20H Y EQU 30H ORG 0000H MOV A,X CLR C JC L1 SJMP FINISH L1: FINISH: SJMP $ END 3、循环结构 结构特点:利用转移指令反复运行需要多次重复的程序段。 实例:前面的延时程序:(DELAY) DELAY: MOV R3, #OFFH DEL2: MOV R4,#0FFH DEL1: NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 RET 循环程序的组成: 1. 初始化部分(设定循环次数等) 2. 循环体(重复执行的部分,用于完成实际操作) 3. 循环控制(不断修改和判别循环变量,直至结束)。 4. 循环结束处理。 4、查表程序 表格是事先存放在ROM中的,一般为一串有序的常数,例如平方表、字型码表等。 表格可通过伪指令DB来确定。 通过查表指令来实现。 MOVC A,@A+DPTR MOVC A,@A+PC 2)返回指令 ORG 1000H DL1S:MOV R7,#10 DL1: MOV R6,#200 DL2: MOV R5, #250 DL3: DJNZ R5, DL3 DJNZ R6,DL2 DJNZ R7,DL1 RET 例8

文档评论(0)

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

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

1亿VIP精品文档

相关文档