单片机实验一冒泡法排序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验一冒泡法排序

实验一:冒泡法排序实验 实验要求 实验目的:掌握控转移指令的功能,以及冒泡法排序的原理。 实验原理 循环嵌套结构。循环程序的设计方法和一样的,要分别考虑重循环的控制条件。内循环外循环重的具体处理部分。在嵌套中,不各个相互交叉,不从外循环跳入内循环,否则编译时会出错。注意每次通过外循环进入内循环式,内循环的初始条件需要重置。程序流程图 1 冒泡法流程图 2、程序代码N EQU 10 TAB EQU 30H ORG 0000H MOV 30H, #1 ;在30H中输入10个随机数 MOV 31H, #3 MOV 32H, #2 MOV 33H, #4 MOV 34H, #6 MOV 35H, #8 MOV 36H, #7 MOV 37H, #11 MOV 38H, #9 MOV 39H, #10 SORT: MOV R4, #N-1 LOOP1: MOV A,R4 ;冒泡法循环 MOV R3, A MOV @R0, #TAB LOOP2: MOV A, @R0 MOV B, A INC R0 MOV A, @R0 CLR C MOV R2, A SUBB A, B JNC UNEXCH MOV A, R2 UNEXCH: DJNZ R3, LOOP2 ;如果AB,顺序执行UNEXCH DJNZ R4, LOOP1 LJMP SWITCH EXCH: DEC R0 ;如果AB,则A,B调换位置 XCH A, @R0 INC R0 MOV @R0, A SWITCH: MOV R0, #30H MOV R1, #50H MOV R2, #N PAIXU: MOV A, @R0 ;将30H中排好的数移动到50H中 MOV @R1, A INC R0 INC R1 DEC R2 CJNE R2, #0, PAIXU SJMP $ END 四、程序验证 在30H中输入10个数,显示如下: 图 2 30H单元中存储的数 图 3 对30H中数排序后的结果 图 4 30H中数转移到H之后的结果JNC UNEXH 此时A=(A)-(B)-(cy),存储器A中的值已经改变,不再是30H中的某个数。下面算法EXCH中交换A、B的值得到的结果必然是错误的。应在比较完A、B的值后,把A还原到比较前的值。 4、算法中39H中的数据“丢失”问题还需进一步思考解决。

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档