LED灯的左移和右移
ORG 0000H
MAIN: MOV P1,#01H ;先把P1的第1位LED灯点亮
LCALL DELAY ;软件延时(延时子程序设为100ms)
MOV P1,#02H ;延时后再单个点亮P1的第2位灯(后面都是如何工作的)
LCALL DELAY
MOV P1,#04H
LCALL DELAY
MOV P1,#08H
LCALL DELAY
MOV P1,#10H
LCALL DELAY
MOV P1,#20H
LCALL DELAY
MOV P1,#40H
LCALL DELAY
MOV P1,#80H ;左移的效果在这里结束(后面接着进行右移)
LCALL DELAY
MOV P1,#40H
LCALL DELAY
MOV P1,#20H
LCALL DELAY
MOV P1,#10H
LCALL DELAY
MOV P1,#08H
LCALL DELAY
MOV P1,#04H
LCALL DELAY
MOV P1,#02H
LCALL DELAY
MOV P1,#01H
LCALL DELAY
MOV P1,#00H
SJMP $ ;结束左、右移
DELAY: MOV R7,#200 ;延时子程序
D1: MOV R6,#250
DJNZ R6,$
DJNZ R7,D1
RET
END