单片机程序只执行16次?

下面的这段程序,STC89C52下载后只循环了16次就停了,最后停在P1.7灯亮,其余全灭。。高人们帮忙看看为什么啊?
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
RL A
MOV P1,A
LCALL DELAY
LCALL LOOP
DELAY: MOV R0,#200
D1: MOV R1,#160
D2: DJNZ R1,D2
DJNZ R0,D1
RET
END

MAIN: MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
RL A
MOV P1,A
LCALL DELAY
LCALL LOOP ;把这行改为:SJMP LOOP
DELAY: MOV R0,#200
D1: MOV R1,#160
D2: DJNZ R1,D2
DJNZ R0,D1
RET
END
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-17
单片机程序最好学着用C语言或C++语言写!
第2个回答  2010-03-17
LCALL LOOP 这句不对。自己不能调用自己的。 应用 JMP 指令