ORG 0
START: MOV R2,#8 ;循环次数赋值为8
MOV A,#0FEH ;LED控制字为FEH
SETB C ; 借位置1
LOOP: MOV P1,A ;点亮LED
LCALL DELAY ;延时
RLC A ;带借位循环左移位
DJNZ R2,LOOP ;8次循环未到继续从LOOP循环
MOV R2,#8 ;循环次数重置为8
LOOP1: MOV P1,A ;点亮LED
LCALL DELAY ;延时
RRC A ;带借位循环右移
DJNZ R2,LOOP1 ;8次循环未到继续从LOOP1循环
LJMP START ;重新开始
DELAY: MOV R5,#20 ; ;延时外层循环次数
D1: MOV R6,#20 ;延时次层循环次数
D2: MOV R7,#248 ;延时内层循环次数
DJNZ R7,$ ;内层循环
DJNZ R6,D2 ;次层循环
DJNZ R5,D1 ;外层循环
RET
END