① 单片机实验在冒泡排序中,如何实现两个数据大小比较的
用C语言编程,直接比较,例 如
if(a>=b).......
② 51单片机数据排序并显示输出
参考:
http://hi..com/do_sermon/item/624eafd995b960f093a97498
③ 单片机排序程序
MOV R5,#16
MOV R6,#40H
LONG:
MOV R4,#15;16个数比较15次
MOV A,30H;将30H里面的内容复给A
MOV R0,#31H;让其从31H开始自加到3FH
L:
SUBB A,@R0;31H里面的内容和30H里面的内容进行相减比较求C
JC XU;如果C=0则表示A里面的内容大于@R0里面的内容否则小于跳转XU
INC R0;R0加1到下一单元地址
DJNZ R4,L;15次比较没有结束跳转到L继续执行
AJMP LL;如果15次循环完毕则求出最大值,然后再循环求出次大值
XU:
MOV A,R0;放比较数的地址送A,以清零方便为第二次比较
MOV R1,A;方便清零
MOV A,@R0;最大值送A
INC R0
AJMP LL
LL:
MOV @R1,#00H;最大值地址清零,然后再比较15次求次大值
MOV R6,A;最大值送40H
INC R6
DJNZ R5,LONG;判断是否全部从大到小排完
AJMP TT
TT:
END
④ 急求:单片机实验
:
ORG 0030H
MOV 30H, #34H
MOV 31H, #56H
MOV 32H, #23H
MOV 33H, #90H
MOV 34H, #32H
MOV 35H, #68H
MOV 36H, #09H
MOV 37H, #75H
CALL SORT
SJMP $
;-----------------------------------------------------
SORT: ;最简短、高效的排序程序.
MOV B, #7 ;第一轮排序时,比较7次.
S1: MOV R0, #30H ;数据区的起始地址.
MOV R7, B
CLR PSW.5 ;清除"交换"标志位.
S2: MOV A, @R0 ;取前一个数.
INC R0
CLR C
SUBB A, @R0 ;减后一个数,前<后时,Cy=1
S3: JC S4 ;有借位时,不用交换,转移.
MOV A, @R0 ;取后一个数,准备交换.
DEC R0
XCH A, @R0 ;交换到前一个.
INC R0
XCH A, @R0 ;交换到后一个.
SETB PSW.5 ;设定"交换"标志位.
S4: DJNZ R7, S2 ;继续本轮比较.
JNB PSW.5, ENDS ;如本轮没有进行过交换,可提前结束.
DJNZ B, S1 ;下一轮,比较次数少一次.
ENDS:
RET
;-----------------------------------------------------
END
⑤ 单片机数据排序冒泡实验
重新螃蟹卖完这些能搞定一些数据显示,所以认为蒸干可以搞进去实验的检测,所以认为还分什么
⑥ 单片机实验“将20个数据中的偶数按从大到小的顺序排列单独存放”这个语言怎么编写啊
#include <stdio.h>
int partions(int l[],int low,int high)
{
int prvotkey=l[low];
l[0]=l[low];
while (low<high)
{
while (low<high&&l[high]>=prvotkey)
--high;
l[low]=l[high];
while (low<high&&l[low]<=prvotkey)
++low;
l[high]=l[low];
}
l[low]=l[0];
return low;
}
void qsort(int l[],int low,int high)
{
int prvotloc;
if(low<high)
{
prvotloc=partions(l,low,high); //将第一次排序的结果作为枢轴
qsort(l,low,prvotloc-1); //递归调用排序 由low 到prvotloc-1
qsort(l,prvotloc+1,high); //递归调用排序 由 prvotloc+1到 high
}
}
void quicksort(int l[],int n)
{
qsort(l,1,n); //第一个作为枢轴 ,从第一个排到第n个
}
void main()
{
int a[11]={0,2,32,43,23,45,36,57,14,27,39};
for (int b=1;b<11;b++)
printf("%3d",a[b]);
printf("\n");
quicksort(a,11);
for(int c=1;c<11;c++)
printf("%3d",a[c]);
}
pc上的快速排序算法
⑦ 单片机 实验 编程查表程序设计、数据排序实验
这么多问题,还没积分。。。谁回答啊。。
⑧ 编写一段程序,将单片机内部RAM单元40H~4FH中的16个数据按照从小到大的顺
摘要 汇编冒泡排序(51)(需调试器付初值)
⑨ 单片机数据排序实验
单片机数据排序实验当然也不是那么好做的,这个得有样本
⑩ 单片机汇编语言程序温度数据按从小到大排列有什么用
能掌握控转移指令的功能,以及冒泡法排序的原理。
排序就是按照数的大小按顺序排列。数据排序常用冒泡法。其算法是将一个数与后面的每个数相比较,如果比后面的数大,则交换。如此操作下去将所有的数都比较一遍后,最大的数就会在数列的最后面。然后取第二个数,再进行下一轮比较,再找出第二大数。不断循环,直到全部依序排列。