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

單片機排序程序

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

友情鏈接