① 單片機實驗在冒泡排序中,如何實現兩個數據大小比較的
用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)(需調試器付初值)
⑨ 單片機數據排序實驗
單片機數據排序實驗當然也不是那麼好做的,這個得有樣本
⑩ 單片機匯編語言程序溫度數據按從小到大排列有什麼用
能掌握控轉移指令的功能,以及冒泡法排序的原理。
排序就是按照數的大小按順序排列。數據排序常用冒泡法。其演算法是將一個數與後面的每個數相比較,如果比後面的數大,則交換。如此操作下去將所有的數都比較一遍後,最大的數就會在數列的最後面。然後取第二個數,再進行下一輪比較,再找出第二大數。不斷循環,直到全部依序排列。