以下是暗点流动的程序
麻烦再后面注解 每一步是什么意思
ORG 0000H
LJMP START
ORG 30H
START:
MOV SP,#5FH
MOV A,#80H 将A中的初始值改为改成7FH变亮的流动
LOOP:
MOV P1,A
RL A 改变流动的方向将RL A改为RR A
LCALL DELAY
LJMP LOOP
delay:
mov r7,#255
d1: mov r6,#255
d2: nop
nop
nop
nop
djnz r6,d2
djnz r7,d1
ret
END
那延时程序呢?
delay:
mov r7,#255
d1: mov r6,#255
d2: nop
nop
nop
nop
djnz r6,d2
djnz r7,d1
想要增长或缩短时间怎么改
还有为什么要4个连续的nop
小白伤不起吧····
mov r7,#255 r7=255
d1: mov r6,#255 r6=255
d2: nop 空操作,什么也不干,就是浪费一点时间
nop
nop
nop
djnz r6,d2 r6=r6-1看看是不是减到0了,没有的话跳转到d2处继续浪费时间
djnz r7,d1 r6减到0了就来到这里,r7=r7-1,然后看看r7减到0没,没有的话跳转到 d1处,把r6从新赋值255,继续浪费时间,直到r6等于0同时r7也等于0,就返回到调用处的下一条指令处继续执行