单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt

单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt

ID:50066187

大小:1.14 MB

页数:31页

时间:2020-03-08

单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt_第1页
单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt_第2页
单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt_第3页
单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt_第4页
单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt_第5页
资源描述:

《单片微型计算机原理及应用 教学课件 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片微型计算机原理及应用第4章 MCS—51单片机的汇编语言程序设计第4章 MCS—51单片机的汇编语言程序设计4.1 程序设计的步骤4.2 MCS—51单片机汇编语言的伪指令4.3 汇编语言程序设计4.4 综合编程举例4.1 程序设计的步骤1)分析任务,确定算法或解题思路。2)按功能划分模块,确定各模块之间的相互关系及参数传递。3)根据算法和解题思路画出程序流程图。4)合理分配寄存器和存储器单元,编写汇编语言源程序(以“.ASM”扩展名保存),并进行必要的注释,以方便阅读、调试和修改。5)将汇编语言源程序

2、进行汇编和连接,生成可执行的目标文件(“.BIN或.HEX”)。6)仿真调试、修改,直至满足任务要求(仿真调试可以用软件模拟仿真,也可用硬件仿真,硬件仿真器需单独购买)。7)将调试好的目标文件(“.BIN或.HEX”)烧录进单片机内,上电运行。4.2 MCS—51单片机汇编语言的伪指令1.定义起始地址伪指令ORG1)在一个汇编语言源程序的开始,一般都要设置一条ORG伪指令来指定该程序在程序存储器中存放的起始地址。2)在一个汇编语言源程序中,可以多次使用ORG伪指令为不同的程序段或数据段确定相应的起始地址,但

3、所确定的16位地址必须从小到大排列,且存储空间不允许重叠。2.终止汇编伪指令END3.定义字节伪指令DB4.定义字伪指令DW5.定义连续存储区伪指令DS6.赋值伪指令EQU7.位地址定义伪指令BIT4.3 汇编语言程序设计4.3.1 顺序结构程序顺序结构程序是指无分支、无循环,也不调用子程序的程序,又称简单程序,即程序的执行是按程序计数器PC自动加1的顺序执行的。任何程序中都包含有这样结构的程序,它是构成复杂程序的基础。例4-1 求和程序,将内部RAM40H、41H、42H三个单元中的无符号数相加,其和存入

4、R0(高位)及R1(低位)。4.3 汇编语言程序设计4.3 汇编语言程序设计例4-2 拆拼字程序,将片内RAM的50H、51H两个单元中的低4位分别取出,合并成一个字节后存入52H单元。4.3 汇编语言程序设计4.3.2 分支结构程序在程序设计中,有时往往需要根据某个条件成立与否来决定程序的走向,以转向不同的分支。常见的分支结构有单分支、双分支和多分支三种结构,如图4⁃1所示。图4-1 分支结构a)单分支结构 b)双分支结构 c)多分支结构4.3 汇编语言程序设计例4-3 单分支程序,假设在内部RAM的40

5、H与41H单元中有两个无符号数,现要找出其中的较大者,并将其存入40H单元中,较小者存入41H单元。4.3 汇编语言程序设计例4-4 双分支程序,某温度控制系统采集的温度值T存放在累加器A中,此外在内部RAM的54H单元中存放控制温度的下限值Ta,在55H单元中存放控制温度的上限值Tb。若T>Tb,程序转向降温处理程序JW;若T<Ta,则程序转向升温处理程序SW;若Ta≤T≤Tb,则程序返回主程序。4.3 汇编语言程序设计例4-5 多分支程序,根据R7的内容分别转向相应的处理程序。设R7的内容为处理程序的序

6、号0~N,对应的处理程序的入口地址分别为A0~AN。4.3 汇编语言程序设计4.3.3 循环结构程序在实际问题中,经常需要重复地做某件事情,用计算机来处理就是要重复地执行某些指令,这就用到了循环结构程序。图4-2 两种循环程序操作流程a)先执行后判断 b)先判断后执行4.3 汇编语言程序设计例4-6 存储单元清0程序,在外部RAM首地址为TABLE的数据表中有连续10字节的数据,编程将其全部清0。4.3 汇编语言程序设计例4-7 延时程序,编写一个延时约120ms的程序,若系统的晶振频率为6MHz。4.3 

7、汇编语言程序设计例4-8 排序程序,将片内RAM中地址为30H~39H的连续10个单元中的无符号数由小到大排序,结果仍存于这片单元中。4.3 汇编语言程序设计1)子程序必须命名,以便主程序或其他程序调用。2)注意现场的保护与恢复。3)注意有关参数的传递。4)子程序的最后一条指令必须是返问指令RET。4.3.4 子程序结构及参数传递方法4.3 汇编语言程序设计例4-9 在主程序中保护现场。4.3 汇编语言程序设计例4-10 编写将8位无符号数转换为3位BCD码(2个字节)的子程序。4.3 汇编语言程序设计例4

8、-11 编写子程序,将一位16进制数转换成ASCII码。4.3 汇编语言程序设计例4-12 编写程序实现C=a2+b2,要求a2和b2用子程序实现,其中a、b、c分别存于片内RAM的30H、31H和32H单元中。4.3 汇编语言程序设计4.4 综合编程举例1.搜索程序例4-13 有一批数据存放在片外以2043H为首地址的连续单元中,数据长度置于2042H存储单元,编制搜索程序使之能从该批数据中寻找是否有等于字母T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。