比较两个数的大小--手把手教你学单片机

;知识要点:比较指令的学习与cy位

; 开始初始化为ff. 大于fe,那么显示1. 如果用导线把p1.1,\...p1.7

;短路到地,p1将小于fe, 显示0 ,如果把p1.0短路到地p1=fe则继续检测无显示.

;该程序示例了比较指令. 同时有助于理解数的概念.

ORG 0000H;程序开始

LJMP MAIN;

ORG 030H;

MAIN: MOV P0,#0FFH;初始化p0

MOV r0,#0FeH;r0送立即数

clr p2.1;打开第一个数码管

MOV A,r0;r0送到a

CJNE A,P1,L1;pi与r0比较如相等则顺序如果不等则跳到l1.如大cy=1否则为0

ACALL DEL;调用延时以便观察

AJMP MAIN;重新开始

L1: JC L2;cy 如果为1则跳到l2否则顺序

mov p0,#28h;如果为0显示0

ACALL DEL;

AJMP MAIN;继续检测

L2: mov p0,#7eh;如果为1显示1

ACALL DEL;

AJMP MAIN;继续检测

DEL: MOV R7,#0FFH; 延时程序

DEL1: MOV R6,#0FFH;

DEL2: DJNZ R6,DEL2;

DJNZ R7,DEL1;

RET;

END

运行的状态:开始初始化为ff. 大于fe,显示1.

运行的状态:用导线把p10-p17任意一个接地数码管显示0