導航:首頁 > 編程語言 > 單片機排序程序

單片機排序程序

發布時間: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;
}

閱讀全文

與單片機排序程序相關的資料

熱點內容
蘋果售後換電池要多久 瀏覽:142
macbook12藍牙版本 瀏覽:276
手游一般是哪個編程工具開發的 瀏覽:365
安卓openvpn導入配置 瀏覽:858
k線組合app哪個好用 瀏覽:403
javaweb字典選擇框 瀏覽:362
剛裝的寬頻怎麼連接網路連接 瀏覽:909
鋼鐵雄心4陝西代碼 瀏覽:419
高效記住代碼的方法 瀏覽:390
envi5064位破解文件 瀏覽:808
fc超級馬里奧安卓版 瀏覽:134
內蒙古數控大賽用什麼軟體編程 瀏覽:148
2010word修改作者信息 瀏覽:386
linuxtomcat打不開 瀏覽:497
網路營銷與傳統營銷相比有哪些特點和優勢 瀏覽:404
圖片形式的文件怎麼弄 瀏覽:779
網頁文件的後綴 瀏覽:681
ipad錄屏視頻文件是什麼格式 瀏覽:30
atm網路是什麼 瀏覽:673
微博可以直接上傳pdf文件嗎 瀏覽:206

友情鏈接