第四章MCS51汇编程序的设计.ppt

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

南京邮电大学光电工程学院 第四章 MCS-51汇编程序设计 本章在指令系统基础上,介绍51单片机汇编语言程序设计 本章主要内容 4.1 汇编语言程序设计简介 4.2 顺序程序设计 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计和参数传递 4.1 汇编语言程序设计简介 4、51汇编语言源程序组成 5 、汇编程序语句格式 6 、程序的基本结构 程序的基本结构即逻辑结构: 程序中语句之间的逻辑关系; 各语句在程序中的先后顺序关系; 各语句执行的顺序关系。 程序基本结构的示意图 7 、程序设计基本步骤 8 、程序流程图—算法描述的图形工具 9 、伪指令 :用于规定程序地址和建立数据表格 (2)汇编结束指令END 指令格式: END 功能:提供汇编结束标志。 汇编程序遇到END后就停止汇编,对END以后的语句不予处理,故END应放在程序的结束处。 且每个程序最后都 是END指令 (4) 定义字节指令DB 指令格式: [标号:] DB X1,X2,…,Xn 其中 X1,X2, … ,Xn为8位数据或ASC?码 功能:把X1,X2, … ,Xn依次存入从标号开始的连续的存储单元中。 4.2 顺序程序设计 顺序结构是最简单的一种程序结构,编程很容易,它 有两个显著特点: ①程序语句按编写顺序一条条执行,程序流向不变 最后一条指令执行完毕整个程序即结束. ②程序中无转移、调转等指令; 多用于处理比较简单的问题 第一步 问题分析(定义已知、要求及假设) 第四步 根据算法绘制程序流程图(确定逻辑结构) 第五步 根据流程图编写源程序 例2 单字节二进制数转换成压缩BCD码程序设计 第三步 工作单元分配(变量或寄存器任务分配) 第五步 根据流程图编写源程序 4.3 分支程序设计 条件转移指令 比较不相等转移指令 例1 十六进制数转换成ASCII码 第三步 根据算法绘制程序流程图(确定逻辑结构) 第四步 根据流程图编写源程序 例2 开关显示程序 4.4 循环程序设计 循环转移指令 例1 10个无符号单字节数求和程序 第二步 确定处理问题的方法即算法 第四步 根据算法绘制程序流程图(确定逻辑结构) 第五步 根据流程图编写源程序 例2将内部RAM 40H-4FH单元中数据全部清0 第四步 根据算法绘制程序流程图(确定逻辑结构) 4.5 子程序设计 例 延时200ms的程序设计 第四步 根据算法绘制程序流程图 第五步 根据流程图编写源程序 a1 + a2 + a3+…+ a9 + a10 = X b1 b2 b8 b9=X 第三步 工作单元分配(变量或寄存器任务分配) 累加器A:存放中间结果b1、b2、..b9即存放累加和 最好用A 寄存器R0(或R1):存放数据地址指针 若将a1的地址存放在R0中设(R0)=30H,则a2的地址为(R0)+1 a3的地址为(R0)+1+1… R2:计数器:存放相加次数 开始 0 ? A 10 ?R2 30H ? R0 (A)+((R0))?A (R0)+1? R0 (R2)-1 ? R2=0? (A)? 50H 结束 Yes No 开始 累加器A清0 置R2相加次数 设置初始地址 加一个数 指向下一个数 是否加完? 保存结果 结束 Yes No ORG 0030H ;程序开始 START:CLR A ;清累加器A MOV R2,#10 ;相加次数送R2 MOV R0,#30H ;第一个数据地址送R0 LOOP1:ADD A,@R0 ;循环累加 INC R0 ;地址指向下一个数 DJNZ R2,LOOP1 ;修改计数器并判断 MOV 50H,A ;保存和结果 END ;程序结束 开始 0 ? A 10 ?R2 30H ? R0 (A)+((R0))?A (R0)+1? R0 (R2)-1 ? R2=0? (A)? 50H 结束 Yes No 第一步 问题分析(定义已知、要求及假设) 40H 41H … … 4FH a2 a1 .. a16 … 00H 00H .. 00H … 第二步 确定处理问题的方法即算法 对某一单元清0即存入00H; 第三步 工作单元分配

文档评论(0)

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

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

1亿VIP精品文档

相关文档