以12MHz晶振为例
ORG 000H
AJMP START
START:
SETB C ;跑马灯,一直循环255次...
MOV R0,#0FFH
MOV A,#0
JX1:RLC A
MOV P1,A
LCALL DELAY500MS
DJNE R0,JX1
SETB C
MOV R0,#8
MOV A,#0
JX:RLC A ;P1.0>>>P1.7依次亮1S
MOV P1,A
LCALL DELAY1S
DJNE R0,JX
;灯全亮,1S
MOV P1,#0FFH
LCALL DELAY1S
MOV P1,#0
MOV P1,#01010101B ;偶数灯亮1S
LCALL DELAY1S
MOV P1,#0
MOV P1,#10101010B ;奇数灯闪2次
LCALL DELAY500MS
MOV P1,#0
LCALL DELAY500MS
MOV P1,#10101010B
LCALL DELAY500MS
MOV P1,#0
AJMP $
DEALY500MS:
MOV R7,#4
D1S1:MOV R6,#250
D1S:MOV R5,#250
DJNZ R5,$
DJNZ R6,D1S
DJNZ R7,D1S1
RET
DELAY1S:
MOV R7,#8
D1S1:MOV R6,#250
D1S:MOV R5,#250
DJNZ R5,$
DJNZ R6,D1S
DJNZ R7,D1S1
RET
差不多应该是这样的..试试看吧...:)