汇编程序按建第6次和复位后运行不正常
我刚开始学习汇编,编写了一个按键控制灯的程序,按一次按键后灯闪5次。问题:按键前5次正常运行,第6次后就只闪一次了,复位后不用按按键就一直闪个不停。
只有断开电源重新上电后才恢复前5次正常运行的情况,第6次后还是不行。
我花了一个星期都没有解决,请大侠们指出程序中的错误,不胜感激。
ORG 0000H
START:
SETB P1.1
SETB P1.3
JNB P1.1,LIGHT
ACALL DL1
JNB P1.1,LIGHT
AJMP START
LIGHT:
MOV 44H,#5
GU:CLR P1.3
LCALL DL2
SETB P1.3
LCALL DL2
DJNZ 44H,GU
RET
DL1:
MOV R2,#10
D2:MOV R3,#255
D1:DJNZ R3,D1
DJNZ R2,D2
RET
DL2:
MOV R4,#0F8H
DEL1:MOV R5,#0F0H
DEL2:DJNZ R5,DEL2
DJNZ R4,DEL1
RET
END