MCS-51汇编程序设计.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 MCS-51汇编程序设计 本章在指令系统基础上,介绍51单片机汇编语言及程序设计 本课程主要内容 4.1 汇编语言程序设计简介………… 4.2 顺序程序设计…………………… 4.3 分支程序设计…………………… 4.4 循环程序设计…………………… 4.5 子程序设计和参数传递… ……… 4.6 汇编程序调试与开发及实验… 4.1 汇编语言程序设计简介 一 程序设计概述 3 、程序设计 二 51汇编语言程序设计概述 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 顺序程序设计 顺序结构是最简单的一种程序结构,编程很容易,它 有两个显著特点: ①程序语句按编写顺序一条条执行,程序流向不变 最后一条指令执行完毕整个程序即结束. ②程序中无转移、调转等指令; 多用于处理比较简单的问题 第一步 问题分析(定义已知、要求及假设) 第四步 根据算法绘制程序流程图(确定逻辑结构) 第五步 根据流程图编写源程序 集成纯软件仿真工具—8051IDE 例2 两个无符号双字节数相加 已知:被加数存放于内部RAM的40H(低位字节)、41H(高位字节),加数存放于50H(低位字节)、51H(高位字节),和数存入40H和4lH单元中。 求:设计程序计算这二数据之和且将二数之和低位字节存入40H中,高位字节存入41H。 假设:二数之和仍为双字节数即无进位。 第二步 确定处理问题的方法即算法 第四步 根据算法绘制程序流程图(确定逻辑结构) 第五步 根据流程图编写源程序 例3 十六进制数转换成BCD码 第三步 工作单元分配(变量或寄存器任务分配) 第五步 根据流程图编写源程序 例4 单字节二进制数转换成压缩BCD码程序设计 第三步 工作单元分配(变量或寄存器任务分配) 第五步 根据流程图编写源程序 4.3 分支程序设计 条件转移指令 无条件转移指令 比较不相等转移指令 例1 十六进制数转换成ASCII码 第三步 根据算法绘制程序流程图(确定逻辑结构) 第四步 根据流程图编写源程序 例2 开关显示程序 4.4 循环程序设计 循环转移指令 例1 10个无符号单字节数求和程序 第二步 确定处理问题的方法即算法 第四步 根据算法绘制程序流程图(确定逻辑结构) 第五步 根据流程图编写源程序 例2将内部RAM 40H-4FH单元中数据全部清0 第四步 根据算法绘制程序流程图(确定逻辑结构) 例3 延时1ms的程序设计(软件延时) 第三步工作单元分配(变量或寄存器任务分配) 例4 延时200ms的程序设计 第四步 根据算法绘制程序流程图 例5 延时1s的程序设计 例6 延时25s的程序设计 4.5 子程序设计 二、子程序的定义与调用 例1 设计一个延时1ms的子程序(软件延时)设晶振fs=12MHZ 例4 延时200ms的程序设计 第四步 根据算法绘制程序流程图 第五步 根据流程图编写源程序 4.6 汇编程序调试与开发及实验 4 程序调试基本过程 5 集成纯软件仿真工具—8051IDE 1 2 3 4 5 6 JZ B1 B1: 2 5 6 2 3 4 5 6 (A)=0 (A)?0 JC 标号 操作:先判断标志位C的状态之后决定程序的去向 即若(C)=1则转移至标号位置;否则顺序执行。 JNC 标号 操作:先判断标志位C的状态之后决定程序的去向 即若(C)=0则转移至标号位置;否则顺序执行。 JB bit,标号 操作:先判断直接位bit的状态之后决定程序的去向 即若( bit )=1则转移至标号位置;否则顺序执行。 JNB bit, 标号 操作:先判断直接位bit的状态之后决定程序的去向 即若(bit )=0则转移至标号位置;否则顺序执行。 执行无条件转移指令时,无论状态如何都转移至

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档