第4章 MCS-51单片机汇编语言程序设计2014精选.ppt

第4章 MCS-51单片机汇编语言程序设计2014精选.ppt

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

从而实现一批数据由小到大的排列。 假设有7个原始数据的排列顺序为6、4、1、2、5、7、3。第一次冒泡的过程是: 6、4、1、2、5、7、3 ;原始数据的排列 4、6、1、2、5、7、3 ;逆序,互换 4、1、6、2、5、7、3 ;逆序,互换 4、1、2、6、5、7、3 ;逆序,互换 4、1、2、5、6、7、3 ;逆序,互换 4、1、2、5、6、7、3 ;正序,不互换 4、1、2、5、6、3、7 ;逆序,互换,冒泡结束 第四章 MCS-51单片机汇编语言程序设计 * 如此进行,各次冒泡的结果如下: 第1次冒泡结果:4、1、2、5、6、3、7 第2次冒泡结果:1、2、4、5、3、6、7 第3次冒泡结果:1、2、4、3、5、6、7 第4次冒泡结果:1、2、3、4、5、6、7 ;已完成排序 第5次冒泡结果:1、2、3、4、5、6、7 第6次冒泡结果:1、2、3、4、5、6、7 对于n个数,理论上应进行(n-1)次冒泡才能完成排序,实际上有时不到(n-1)次就已完成排序。 第四章 MCS-51单片机汇编语言程序设计 * 第四章 MCS-51单片机汇编语言程序设计 * 程序清单如下: SORT: MOV R0,#20H ;数据首地址 MOV R7,#07H ;比较次数 CLR F0 ;互换标志清0 LOOP: MOV A,@R0 ;取前一个数 MOV 2BH,A ;存前一个数 INC R0 MOV 2AH,@R0 ;取后一个数 CLR C ;清CY SUBB A,@R0 ;前数减后数 JC NEXT MOV @R0,2BH DEC R0 MOV @R0,2AH ;两个数交换位置 INC R0 ;准备下一次比较 SETB F0 ;互换标志置位 NEXT:DJNZ R7,LOOP ;下个数比较? JB F0,SORT ;下一轮比较? RET 第四章 MCS-51单片机汇编语言程序设计 * 第四章 MCS-51单片机汇编语言程序设计 本章小结 四种基本结构形式,顺序结构、分支结构、循环结构和子程序。 代码转换和定点运算子程序。 双字节及多字节的加、减、乘、除运算程序。 掌握程序设计的基本方法和这些常用的子程序可以更好地进行程序设计。 * 常用的流程图符号有:开始和结束符号、工作任务符号、判断分支符号、程序连接符号、程序流向符号等 第四章 MCS-51单片机汇编语言程序设计 * 编制程序的方法和技巧 一、采用模块化程序设计方法 应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:发送、接收、延时、打印和显示等。 模块化的程序设计方法具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。 第四章 MCS-51单片机汇编语言程序设计 * 二、尽量采用循环结构和子程序 采用循环结构和子程序可以使程序的长度减少、占用内存空间减少。 多重循环,注意各重循环的初值和循环结束条件,避免出现 “死循环”现象; 通用的子程序,除了用于存放子程序入口参数的寄存器外,子程序中用到的其它寄存器的内容应压入堆栈进行现场保护,并要特别注意堆栈操作的压入和弹出的平衡; 中断处理子程序除了要保护程序中用到的寄存器外,还应保护标志寄存器。 第四章 MCS-51单片机汇编语言程序设计 * 作业 课后习题:2\4\6\8\10\11 交到: 新技术楼 803 电子教案:mcs51hit@126.com mcs51hit1

文档评论(0)

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

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

1亿VIP精品文档

相关文档