首先教你如何理解JNB和JB,
JNB就是Jump Not Bit,这样不好理解,解释一下就明白了:jump表示跳转,not表示0,bit表示该位。它实际是条件判断语句,意思是:如果该为为0则跳转,否则继续下一条。
例:JNB P1.1,mark[如果P1.1位为零则跳转到mark标志指向的指令,否则继续执行下一行]
JB则与JNB相反,即判断0变为1,表示:如果该为为0则跳转,否则继续下一条。
助记口诀是:JNB为0跳转,否继续;JB为1跳转,否继续。
下面实现你要的流水灯程序,假定P1口低六位接灯,高电平时亮。
ORG 0000H
MOV P1,00H
MOV A,11111110B
LOOP:
RLC ACC
JNB ACC.0,ENABLEBIT1
JNB ACC.1,ENABLEBIT2
JNB ACC.2,ENABLEBIT3
JNB ACC.3,ENABLEBIT4
JNB ACC.4,ENABLEBIT5
JNB ACC.5,ENABLEBIT6
ENABLEBIT1:
MOV P1,00000001B
JMP LOOP
ENABLEBIT2:
MOV P1,00000010B
JMP LOOP
ENABLEBIT3:
MOV P1,00000100B
JMP LOOP
ENABLEBIT4:
MOV P1,00001000B
JMP LOOP
ENABLEBIT5:
MOV P1,00010000B
JMP LOOP
ENABLEBIT6:
MOV P1,00100000B
JMP LOOP
不想逐行解释了,自己看吧
大概意思是这样,不严谨,自己实际操作中完善吧
温馨提示:答案为网友推荐,仅供参考