打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
采用冒泡法编写51单片机排序程序

采用冒泡法编写51单片机排序程序

试设计一个子程序,其功能为将(R0)指出的内部RAM中6个单字节正整数按从小到大的次序重新排列。
悬赏分:10 - 解决时间:2010-5-7 22:59
;========================================
最佳答案:
下列程序使用冒泡法排序,经过KEIL仿真测试通过。
ORG 0000H
;------------------------下面先准备6个数字
MOV 40H, #8AH
MOV 41H, #3BH
MOV 42H, #0B9H
MOV 43H, #47H
MOV 44H, #29H
MOV 45H, #0AFH

CALL SORT6 ;调用排序子程序

SJMP $ ;停止,此时可以观察排序结果
;-------------------------------------
SORT6: ;排序子程序
MOV R6, #5 ;6个数字,比较5次
S1:
MOV R0, #40H ;起始地址
MOV B, R6
MOV R7, B
CLR PSW.5 ;交换标志清零
S2:
MOV B, @R0 ;取出前一个数
INC R0
MOV A, @R0 ;取出后一个数
CJNE A, B, S3 ;后-前
S3:
JNC N_JH ;够减就不用交换
MOV @R0, B ;交换存放
DEC R0
MOV @R0, A
INC R0
SETB PSW.5 ;设立交换标志位
N_JH:
DJNZ R7, S2
JNB PSW.5, S_END ;没有交换过,就结束
DJNZ R6, S1
S_END:
RET
;-------------------------------------
END
;========================================
回答者: 做而论道 - 十三级 2010-4-21 00:19
提问者对于答案的评价:谢谢~
原题网址:http://zhidao.baidu.com/question/148407042.html?fr=qrl&cid=865&index=1

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
EMC义隆单片机论坛-EMC单片机编程技巧集锦(转换) - 单片机学习网
51单片机中断寄存器组选择
24课:动态扫描显示接口电路及程序
单片机多通道温度采集测控系统
利用单片机内部定时器实现软件看门狗
单片机驱动蜂鸣器原理与设计
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服