;知识要点:熟悉子程序的嵌套
;r0送20,开始为0,然后每次加1,到20后停止:注意闪烁是取反2次
;所以取反20次为闪烁10次
ORG 0000H
LJMP MAIN
ORG 030H
MAIN: MOV R0,#0;最开始为0
MOV a,#0ffH;;a送ff,全部不亮
loop: cpl a ; 取反a(变为00h,全部亮)
mov p1,a;输出到p1
acall del;调用延时以便观察
cjne r0,#20,loop;如果海没有到20则继续
sjmp $;否则原地等待结束
DEL: MOV R7,#01FH;延时子程序
DEL1: MOV R6,#0fFH
DEL2: MOV R5,#08H
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
inc r0;;每调用一次子程序r0加1
RET
END
运行的状态p1口灯全亮
运行的状态闪烁10次后停止