ORG 00H ; 设置起始地址
START: ; 标号
MOV R0, #5 ; 循环闪烁5次,R0为计数器
LOOP: ; 标号
MOV P1,#00H ; 向P1 口输出0低电平,使发光二极管点亮
CALL DELAY ; 调用延时子程序
MOV P1, #0FFH ; 向P1 口输出1高电平,使发光二极管熄灭
CALL DELAY ; 调用延时子程序
DJNZ R0,LOOP ; R0减1,如果不等于0就跳到LOOP标号处循环执行
JB P2.0,$ ; 如果P2.0为高电平则循环执行本行
JMP START ; 跳到START标号处重新开始执行
DELAY: MOV R3,#50 ; 延时子程序(500ms)
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET ; 返回主程序
END ; 汇编程序结束