导航:首页 > 操作系统 > 单片机中怎么比较大小

单片机中怎么比较大小

发布时间: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

阅读全文

与单片机中怎么比较大小相关的资料

热点内容
加密狗插上去了怎么办 浏览:622
锤子m1怎么把文件夹重置 浏览:213
APP的数据会存在哪里 浏览:64
一支轻快又解压的舞 浏览:586
80x86编程手册 浏览:765
android机制使用 浏览:361
国外太空探索网站源码 浏览:643
dotaimba命令大全 浏览:13
手解剖pdf 浏览:733
单片机无法烧写程序 浏览:413
pline命令 浏览:111
760贴片机编程视频 浏览:333
欧姆龙plc编程第36讲 浏览:915
我的世界如何将一个服务器弄崩 浏览:8
php网站访问量代码 浏览:431
怠速压缩机咔咔响 浏览:176
怎么才能修改APP中的数据 浏览:688
哪里有抢单的app 浏览:462
算法概率题 浏览:465
长方形拉伸的命令 浏览:279