导航:首页 > 编程语言 > 单片机排序程序

单片机排序程序

发布时间:2024-11-08 07:05:51

『壹』 51单片机汇编语言-请编写程序将内部RAM 40H到4FH 中的16个数据按从小到大顺序重新排列。 尽量简单一点的

冒泡排序程序如下:

ORG 0000H
LCALL SORT ; 跳转到排序程序

SORT: ; 数据冒泡排序程序
MOV R6, #16 ;参加排序数据的总个数
DEC R6 ; 比较次数 比 数据总数 少 1

L1:
MOV R0, #40H ; 把数据的起始地址40h付给R0
MOV A, R6 ;调整比较次数
MOV R7, A
CLR F0 ; 清交换标志

L2: ;比较
MOV A, @R0 ; 取前一个数
INC R0
MOV B, @R0 ; 取后一个数
CJNE A, B, L3 ; 前面的数 与 后面的数 比较, 前-后

L3: ;判断、处理
JC N_JH ; 后面的数 大于 前面的数,不交换
XCH A,B ; 否则前后两数交换存放
MOV @R0,A
DEC R0
MOV @R0,B
INC R0
SETB F0 ; 设交换标志

N_JH:
DJNZ R7, L2 ; 没有比较完,就继续
JNB F0, L_END ; 没有交换过,就结束
DJNZ R6, L1

L_END:
SJMP $ ; 排序完成。

;结果是:
;40H中存放着最小的数;
;4FH中存放着最大的数。

『贰』 使用单片机汇编语言冒泡法排序

一、实验要求
给出一组随机数,将此组数据排序,使之成为有序数列
二、实验目的
1.了解数据排序的简单算法。
2.了解数列的有序和无序概念
三、实验说明
有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的
数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在
数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。
四、程序框图

Size equ 10 ; 数据个数
Array equ 50h ; 数据起始地址
Change equ 0 ; 交换标志

Sort:
mov r0, #Array
mov r7, #Size-1
clr Change
Goon:
mov a, @r0
mov r2, a
inc r0

mov B, @r0
cjne a, B, NotEqual
sjmp Next
NotEqual:
jc Next ; 前小后大, 不交换

setb Change ; 前大后小, 置交换标志
xch a, @r0 ; 交换
dec r0
xch a, @r0
inc r0
Next:
djnz r7, Goon
jb Change, Sort
ljmp $

end
引自:伟福单片机开发平台软件实验

『叁』 编写简单的单片机c语言程序 1、指定数组找最大值 2、排序

就是一般的排序算法,与查找算法一样,这个的都不会吗
float
a[3],max=0;
for(i=0;i<=2;i++)
{
printf("册毕Please
enter
the
mark:");
scanf("%f"敬姿纳,&a[i]);
if(max<a[i])
{
max=a[i];maxnum=i+1;}
}
printf("the
number
of
the
highest
is
%d\n",maxnum);
for(i=0;i<=2;i++)
if(max==a[i])
if(i+1!=maxnum)
printf("the
number
of
the
highest
is
%d\n",i+1);
排序
#include<stdio.h>
int
sort(int
num[5]);
void
main()
{
int
numm[5],i,a;
for
(i=0;i<5;i++)
scanf("%d",&numm[i]);
sort(numm);
//亮没调用排序
for
(i=0;i<5;i++)
printf("%d
",numm[i]);
}
int
sort(int
num[5])
{
int
m,n,t;
for
(m=0;m<4;m++)
for(n=m+1;n<5;n++)//冒泡排序
{
if
(num[m]<num[n])
{
t=num[n];
num[n]=num[m];
num[m]=t;
}
}
return
1;
}

阅读全文

与单片机排序程序相关的资料

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接