子程序的嵌套
;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(變?yōu)?0h,全部亮)
mov p1,a;輸出到p1
acall del;調(diào)用延時以便觀察
cjne r0,#20,loop;如果海沒有到20則繼續(xù)
sjmp $;否則原地等待結(jié)束
DEL: MOV R7,#01FH;延時子程序
DEL1: MOV R6,#0fFH
DEL2: MOV R5,#08H
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
inc r0;;每調(diào)用一次子程序r0加1
RET
END
程序在倚天版運行的狀態(tài)p1口燈全亮
評論