以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 ;>>>依次亮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 试试