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

單片機比較大小

發布時間:2022-09-25 10:13:45

A. 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

B. 51單片機中怎樣比較兩個數的大小

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

C. 在單片機怎麼用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};
}
剛利用上班時間給你寫的,夠詳細吧?應該能看的明白了!
呵呵,哥們給多加點分嗎,俺馬上就要升到五級了,哈哈~~~~~~

D. 單片機 兩個有符號數分別在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

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

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

F. 單片機char數據和int數據的大小怎麼比較

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

G. 如何比較單片機中兩個帶小數位的數的大小

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

H. 單片機實驗在冒泡排序中,如何實現兩個數據大小比較的

用C語言編程,直接比較,例 如
if(a>=b).......

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

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

J. 單片機C語言編程時,不同進制數進行大小比較,怎麼寫請舉例. 這樣寫是不是正確: a(十六進制數)>13000

單片機只能認識二進制數字,所謂的不同進制數只是用戶編程時給定變數數值時的形式不同而已,所以如果你的變數是數值類型的,直接比較就可以。但如果數值的賦值過程還沒有完成,就需要單片機對表示不同進制數字的字元串,進行轉換為數值後,再比較了。

閱讀全文

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

熱點內容
阿里雲國際版試用的伺服器怎麼搞 瀏覽:891
java正則表達式工具 瀏覽:158
oa伺服器怎麼設置ftp 瀏覽:8
安卓如何安裝obb 瀏覽:440
QQ聊天記錄journal文件夾 瀏覽:118
蘋果公司雲伺服器地址 瀏覽:85
加密記事本手機 瀏覽:437
汽車壓縮機變頻閥 瀏覽:95
域外伺服器是什麼意思 瀏覽:639
大眾點評伺服器怎麼老卡頓 瀏覽:556
javavector與list的區別 瀏覽:316
java初始化類數組 瀏覽:303
java字元串轉換成json對象 瀏覽:647
android非阻塞socket 瀏覽:358
編譯系統概念 瀏覽:452
天眼通app能做什麼 瀏覽:557
魅族手機怎麼加密圖庫 瀏覽:8
rpa編譯器 瀏覽:572
車載雲伺服器記錄 瀏覽:740
四川金星壓縮機製造有限公司 瀏覽:55