導航:首頁 > 操作系統 > 單片機中怎麼比較大小

單片機中怎麼比較大小

發布時間:2023-03-11 04:12:13

『壹』 單片機 兩個有符號數分別在50H和51H裡面,比較他們的大小,最後把大的放入60H單元。

;比較有符號數的大小,可以先進行一次相減,
;再根據差的正負、是否溢出,來區分大小。
;程序如下:
;
ORG 0000H
MOV 50H, #-28 ;先隨便存入兩個數字.
MOV 51H, #108
;========================================
BIJIAO: ;開始比較.
MOV A, 50H
CLR C
SUBB A, 51H ;(50H)-(51H)
JZ DA_50H ;差為0轉移.
JB ACC.7, FU ;負數轉移.
JB OV, DA_51H ;有溢出轉移.
SJMP DA_50H ;正數且無溢出,轉到(50H)大.
;----------------------------------------
FU: JB OV, DA_50H ;負數且有溢出,轉到(50H)大.
;----------------------------------------
DA_51H: MOV 60H, 51H ;(51H)大的處理程序.
SJMP BJ_END ;轉到結束.
;----------------------------------------
DA_50H: MOV 60H, 50H ;(50H)大的處理程序.
;----------------------------------------
BJ_END: SJMP $ ;比較程序結束.
;========================================
END

『貳』 單片機的匯編語言 如何判斷兩個無符號數的大小

誰跟你說圖上是判斷有符號數大小的程序???
這程序就是比較無符號數大小的,只不過加了數據搬運而已。
查了一下PIC的SUBWF指令,的確是比較有符號數的。
如果要比較無符號數,可先判定兩個數的最高位是否同號:若異號,則最高位為1者大;若同號,再用SUBWF減法判定大小,參考書上這個常式。

『叄』 單片機char數據和int數據的大小怎麼比較

一個char數據,一個int數據,是同樣可以用if 語句來比較的。
單片機的C語言編程,char 數據不再只是字元了,就是8位帶符號數,有正負數的。這一點不同於電腦的C語言編程,只是指字元型。
如果確實是要用char表示字元,那就用unsigned char來表示,同樣,可以用if 語句比較。

『肆』 在MCS-51單片機中怎麼用CJNE指令比較兩數大小

比如比較30H和31H寄存器中數據大小:
MOV A,30H
CJNE A,31H,NXT
....... ;兩數相等
NXT:
JC SMALL
....... ;30H大於31H
RET
SMALL:
..... ;30H小於31H

『伍』 如何比較單片機中兩個帶小數位的數的大小

BJ:
MOV A, 30H ;先比較十位
CJNE A, 33H, ZZZ ;比較不等轉移

MOV A, 31H ;相等則比較個位
CJNE A, 34H, ZZZ ;比較不等轉移

MOV A, 32H
CJNE A, 35H, ZZZ ;比較不等轉移
…… ;兩數相等
……
ZZZ:
JNC A_DA ;無借位則為A大
B_DA: ;否則就是B大
……
……
A_DA:
……
……
END

『陸』 在單片機怎麼用C語言 比較幾個數的大小

冒泡法啊,去看書!C語言書上很詳細,我就不再給你寫了,你自己看懂就學會了~~~
//冒泡法排序程序
#include<reg52.h>
char x[4]={0,1,2,3}; //數組中可存放n位相應的數據,
//應用於單片機時,可把得到的數據放入本數組內
int a,b,t;
void main()
{
for(a=0;a<3;a++) //n位時為a<n-1
for(b=a+1;b<4;b++) //n位時為b<n
if(x[a]<x[b]) //交換
{
t=x[a];
x[a]=x[b];
x[b]=t;
}
//此時已進行完從大到小的排序x[4]={3,2,1,0};
}
剛利用上班時間給你寫的,夠詳細吧?應該能看的明白了!
呵呵,哥們給多加點分嗎,俺馬上就要升到五級了,哈哈~~~~~~

『柒』 51單片機 用匯編語言怎麼編程:幾個有符號數的比較大小

51單片機中,沒有專門的有符號數比較指令,只能通過一些變通的方法來實現,比如:
比較30H和40H中有符號數的大小,結果放在R2中,大於則為1,等於為0,小於為128:
CMPDAT:
MOV A,30H
JB ACC.7,CMPF1
MOV B,A
MOV A,40H
JB ACC.7,CMPZ2 ;30H正,40H負所以30H>40H
CJNE A,B,CMPZ1 ;均為正,比較大小
MOV R2,#0
RET
CMPZ1:
JC,CMPZ2
CMPZ11:
MOV R2,#128
RET
CMPZ2:
MOV R2,#1
RET
CMPF1:
ANL A,#7FH
MOV B,A
MOV A,40H
JNB ACC.7,CMPF3 ;30H負,40H負
SJMP CMPZ11 ;30負,40H正,所以30H<40H
CMPF3:
ANL A,#7FH
CJNE A,B,CMPF10 ;兩個均為負數
MOV R2,#0
RET
CMPF10:
JC CMPZ2 ;30H<40H(負數小者大)
SJMP CMPZ11 ;30H>40H

『捌』 51單片機中怎樣比較兩個數的大小

jc是判斷借位標志CY的跳轉指令,程序應該有做減法的指令,當A<B且做A-B運算後,發生借位,此時硬體置CY為1

閱讀全文

與單片機中怎麼比較大小相關的資料

熱點內容
pubg為什麼顯示伺服器連接失敗 瀏覽:650
阿里雲掃碼登錄伺服器 瀏覽:970
化學基礎pdf 瀏覽:896
51單片機晶碼管 瀏覽:281
怎麼查伺服器假死原因日誌在哪看 瀏覽:277
掃描pdf文件 瀏覽:926
解壓密碼百度雲在線解壓 瀏覽:767
傳播學演算法推薦 瀏覽:749
我的世界網路游戲如何查找伺服器 瀏覽:257
安卓和蘋果通訊錄怎麼互傳 瀏覽:203
怎麼打開隱私與應用加密的菜單 瀏覽:416
我的世界伺服器小游戲的地址大全 瀏覽:578
在網路安全中加密安全機制提供了數據的 瀏覽:249
南京前端程序員私活怎麼收費 瀏覽:981
拓撲pdf 瀏覽:440
如何在工行app查我的訂單 瀏覽:214
車壓縮機改電動 瀏覽:83
如何尋找音樂app 瀏覽:831
一加加密的照片 瀏覽:200
阿里雲虛擬主機php 瀏覽:639