单片机原理实验之循环程序实验——五个数的排序.doc

单片机原理实验之循环程序实验——五个数的排序.doc

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

PAGE  PAGE 6 计算机硬件实验室实验报告 课程名称:单片机原理与接口技术 姓 名学 号班 级成 绩设备名称及软件环境Windows XP操作系统 Medwin仿真器 实验名称循环程序实验——五个数的排序实验日期实验内容 1.实现内存数据访问; 2.用直接选择排序和冒泡排序两种方法实现对五个字节从大到小的排序。理论分析或算法分析 本次实验中的五个数据放在以30H为首地址的Data里(30H~34H),将五个数据的从大到小排序,其对应的地址为(30H~34H)里。 选择排序: 每一趟在待排序的数据记录里出最大值的地址,然后将这个地址里的内容依次放在已排序记录序列后面的地址里,同时将后面地址里内容放在原最大值的地址里,直至数据都按此类排序。 如 23 45 56 12 35 第一次:56 [45 23 12 35] 第二次:56 45 [23 12 35] 第三次:56 45 35 [12 23] 第四次:56 45 35 23 12 冒泡排序: 1)比较相邻的元素。如果第一个比第二个小,就交换他们两个。 2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最小的数。 3)针对所有的元素重复以上的步骤,除了最后一个。 4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 如: 07 19 06 21 65 第一次: [19 07 21 65] 06 第二次: [19 21 65] 07 06 第三次: [21 65] 19 07 06 第四次: 65 21 19 07 06 三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等) 基本要求源代码, 扩展要求关键代码 2\冒泡排序代码: mov r4,#35h mov r2,#5 SORT: dec r4 dec r2 mov a,r2 jz jieshu mov r0,#30h mov r1,0 mov r6,0 mov r7,1 loop1: mov a,@r0 mov r3,a mov r1,0 loop2: mov a,r3 inc r1 mov r7,1 mov b,@r1 cjne a,b,l1 sjmp l2 l1: jc l2 inc r0 mov r6,0 xch a,b mov r3,a mov a,r1 1、选择排序代码: SORT: mov r7,#4 mov r0,#30h loop1: mov r6,7 mov a,@r0 mov r1,0 loop2: inc R1 mov b,@r1 cjne a,b,l1 sjmp l2 l1: jnc l2 mov a,b mov b,r1 mov r4,b l2: djnz r6,loop2 xch a,@r0 mov b,r4 mov r1,b mov @r1,a inc r0 mov b,r0 mov r4,b dJnz r7,loop1 sjmp $ end xrl a,r4 jnz loop2 sjmp SORT l2: mov r3,a mov a,b xch a,@r0 mov @r1,a inc r0 mov a,r0 xrl a,r4 jnz loop2 sjmp SORT jieshu: sjmp $ end 初始化设置五个数放在数据Data区中 30H~34H中,如下图: 四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等) 初始化数据:21 65 18 70 81 1、直接选择排序 第一次:81 65 18 70 21 第二次:81 70 18 65 21 第三次:81 70 65 18 21 第四次:81 70 65 21 18 即完成直接选择排序。 2、冒泡排序 第一次:65 21 70 81 18 第二次:65 70 81 21 18 第三次:70 81 65 21 18  第四次: 81 70 65 21 18 即完成冒泡排序。 五.结论 本次实验完成了用选择排序法和冒泡排序法的五个数的排序,在排序完成时跳出程序。灵活应用了比较、循环和跳转,将实验跟理论相结合,加深了对知识的理解。 报告提交日期

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档