;知识要点:比较指令的学习与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