51单片机冒泡排序

阅读: 评论:0

51单片机冒泡排序

51单片机冒泡排序

第一步准备阶段: 准备十个数字

M EQU 10TAB EQU 30H

MOV 30H,#04H

MOV 31H,#03H

MOV 32H,#05H

MOV 33H,#06H

MOV 34H,#09H

MOV 35H,#08H

MOV 36H,#15H

MOV 37H,#10H

MOV 38H,#16H

MOV 39H,#20H

执行完后Memory:

可以看到以30H为头的十个数据成功写入。

之后具体冒泡实现:

MAOPAO:

MOV R0,#09H

LOOP1:

MOV R1,#30H

MOV A,R0

MOV R2,A

LOOP2:

MOV A,@ R1

MOV R3,A

INC R1;

SUBB A,@R1 ; 前减后 看CY位判断大小

JC LOOP3 ; 前减后 看CY位判断大小

MOV A,R3

XCH A,@R1

DEC R1

MOV @ R1,A

INC R1

LOOP3:

DJNZ R2,LOOP2

DJNZ R0,LOOP1

SJMP $

END

执行后效果:

看到已经完成!。

完整程序:

;=======================================;实验12: 冒泡排序

;要求: 将依次存储在30H的十个数升序排列

;=======================================ORG 0000H

LJMP MAIN

ORG 0040H

MAIN:

M EQU10TAB EQU 30H

;Êý¾Ý×¼±¸

MOV 30H,#04H

MOV 31H,#03H

MOV 32H,#05H

MOV 33H,#06H

MOV 34H,#09H

MOV 35H,#08H

MOV 36H,#15H

MOV 37H,#10H

MOV 38H,#16H

MOV 39H,#20H

;¿ªÊ¼Ã°ÅÝ

MAOPAO:

MOV R0,#09H

LOOP1:

MOV R1,#30H

MOV A,R0

MOV R2,A

LOOP2:

MOV A,@ R1

MOV R3,A

INC R1;

SUBB A,@R1

JC LOOP3

MOV A,R3

XCH A,@R1

DEC R1

MOV @ R1,A

INC R1

LOOP3:

DJNZ R2,LOOP2

DJNZ R0,LOOP1

SJMP $

END

本文发布于:2024-01-28 06:34:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063949005498.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单片机
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23