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

上传人:E**** 文档编号:89503369 上传时间:2019-05-26 格式:PPT 页数:31 大小:1.14MB
返回 下载 相关 举报
单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计_第1页
第1页 / 共31页
单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计_第2页
第2页 / 共31页
单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计_第3页
第3页 / 共31页
单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计_第4页
第4页 / 共31页
单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计》由会员分享,可在线阅读,更多相关《单片微型计算机原理及应用 教学课件 ppt 作者 赵广复 第4章 MCS—51单片机的汇编语言程序设计(31页珍藏版)》请在金锄头文库上搜索。

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

2、仿真调试、修改,直至满足任务要求(仿真调试可以用软件模拟仿真,也可用硬件仿真,硬件仿真器需单独购买)。 7)将调试好的目标文件(“.BIN或.HEX”)烧录进单片机内,上电运行。,4.2 MCS51单片机汇编语言的伪指令,1.定义起始地址伪指令ORG 1)在一个汇编语言源程序的开始,一般都要设置一条ORG伪指令来指定该程序在程序存储器中存放的起始地址。 2)在一个汇编语言源程序中,可以多次使用ORG伪指令为不同的程序段或数据段确定相应的起始地址,但所确定的16位地址必须从小到大排列,且存储空间不允许重叠。 2.终止汇编伪指令END 3.定义字节伪指令DB 4.定义字伪指令DW 5.定义连续存储

3、区伪指令DS 6.赋值伪指令EQU 7.位地址定义伪指令BIT,4.3 汇编语言程序设计,4.3.1 顺序结构程序 顺序结构程序是指无分支、无循环,也不调用子程序的程序,又称简单程序,即程序的执行是按程序计数器PC自动加1的顺序执行的。任何程序中都包含有这样结构的程序,它是构成复杂程序的基础。 例4-1 求和程序,将内部RAM 40H、41H、42H三个单元中的无符号数相加,其和存入R0(高位)及R1(低位)。,4.3 汇编语言程序设计,4.3 汇编语言程序设计,例4-2 拆拼字程序,将片内RAM的50H、51H两个单元中的低4位分别取出,合并成一个字节后存入52H单元。,4.3 汇编语言程序

4、设计,4.3.2 分支结构程序 在程序设计中,有时往往需要根据某个条件成立与否来决定程序的走向,以转向不同的分支。常见的分支结构有单分支、双分支和多分支三种结构,如图41所示。,图4-1 分支结构 a)单分支结构 b)双分支结构 c)多分支结构,4.3 汇编语言程序设计,例4-3 单分支程序,假设在内部RAM的40H与41H单元中有两个无符号数,现要找出其中的较大者,并将其存入40H单元中,较小者存入41H单元。,4.3 汇编语言程序设计,例4-4 双分支程序,某温度控制系统采集的温度值T存放在累加器A中,此外在内部RAM的54H单元中存放控制温度的下限值Ta,在55H单元中存放控制温度的上限

5、值Tb。,若TTb,程序转向降温处理程序JW;若TTa,则程序转向升温处理程序SW;若TaTTb,则程序返回主程序。,4.3 汇编语言程序设计,例4-5 多分支程序,根据R7的内容分别转向相应的处理程序。设R7的内容为处理程序的序号0N,对应的处理程序的入口地址分别为A0AN。,4.3 汇编语言程序设计,4.3.3 循环结构程序 在实际问题中,经常需要重复地做某件事情,用计算机来处理就是要重复地执行某些指令,这就用到了循环结构程序。,图4-2 两种循环程序操作流程 a)先执行后判断 b)先判断后执行,4.3 汇编语言程序设计,例4-6 存储单元清0程序,在外部RAM首地址为TABLE的数据表中

6、有连续10字节的数据,编程将其全部清0。,4.3 汇编语言程序设计,例4-7 延时程序,编写一个延时约120ms的程序,若系统的晶振频率为6MHz。,4.3 汇编语言程序设计,例4-8 排序程序,将片内RAM中地址为30H39H的连续10个单元中的无符号数由小到大排序,结果仍存于这片单元中。,4.3 汇编语言程序设计,1)子程序必须命名,以便主程序或其他程序调用。 2)注意现场的保护与恢复。 3)注意有关参数的传递。 4)子程序的最后一条指令必须是返问指令RET。,4.3.4 子程序结构及参数传递方法,4.3 汇编语言程序设计,例4-9 在主程序中保护现场。,4.3 汇编语言程序设计,例4-1

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

8、,图说,4.4 综合编程举例,2.查表程序 例4-14 设有一个巡回报警装置需要对16路输入值进行比较,当每一路输入值超过该路的预设值时实现报警,试根据这一要求编写一个查表的子程序。,4.4 综合编程举例,4.4 综合编程举例,例4-15 设有5个按键0、1、2、3、4,其编码分别为3AH、47H、65H、70H、8BH,要求根据按下的键转向不同的处理程序,处理程序分别为PR0、PR1、PR2、PR3、PR4。设按键的编码已在B寄存器中,试编出此查表程序。,4.4 综合编程举例,4.4 综合编程举例,3.位操作程序 例4-16 编一位操作程序实现图4-3所示的逻辑运算电路,图中的TF0和IE1分别是定时器溢出中断标志位和外部中断请求标志位,25H和26H分别是两个位地址。,图4-3 逻辑运算电路图,4.4 综合编程举例,4.4 综合编程举例,图说,图说,4. I/O端口程序 例4-17 编一I/O端口程序,从P1.7口输出5个方波,脉宽不限。,4.4 综合编程举例,例4-18 编一I/O端口程序,用P1.0口输出1kHz和2kHz的变频信号以示报警,每隔1秒交替变换1次。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号