LOOP:MOV P1,A
RL A
ACALL DELAY
DJNZ RO,LOOP;【每次执行这个djnz指令,R0都会减一,当r0==0时才会执行 RR A指令,】
RR A
ACALL DELAY
SJMP LOOP;【这边跳转到loop时,R0的值是为0的】
可以这样修改:
MAIN:
MOV A,#11111110B
LOOP:
MOV R0,#7
LEFTMOVE:
MOV P1,A
RL A
ACALL DELAY
DJNZ R0,LEFTMOVE;【R0等于0后,开始进行右移】
MOV R0,#7
RIGHTMOVE:
MOV P1,A
RR A
ACALL DELAY
DJNZ R0,RIGHTMOVE;【R0等于0后,开始进行左移】
AJMP LOOP