org 0000h
Start:
MOV P2,#11110101B
LCALL DELAY1
LCALL Y_GREEN_SHAN
MOV P2,#11110011B
LCALL DELAY3
MOV P2,#11101110B
LCALL DELAY1
LCALL X_GREEN_SHAN
MOV P2,#11011110B
LCALL DELAY3
SJMP START
X_GREEN_SHAN: MOV P2,#11111110B
LCALL DELAY2
MOV P2,#11101110B
LCALL DELAY2
MOV P2,#11111110B
LCALL DELAY2
MOV P2,#11101110B
LCALL DELAY2
MOV P2,#11101110B
LCALL DELAY2
MOV P2,#11101110B
LCALL DELAY2
RET
Y_GREEN_SHAN:MOV P2,#11110111B
LCALL DELAY2
MOV P2,#11110101B
LCALL DELAY2
MOV P2,#11110111B
LCALL DELAY2
MOV P2,#11110101B
LCALL DELAY2
MOV P2,#11110111B
LCALL DELAY2
MOV P2,#11110101B
LCALL DELAY2
RET
DELAY1: MOV R5,#100
D1: MOV R6,#40
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DELAY2: MOV R5,#20
D3: MOV R6,#20
D4: MOV R7,#248
DJNZ R7,$
DJNZ R6,D4
DJNZ R5,D3
RET
DELAY3: MOV R5,#60
D5: MOV R6,#40
D6: MOV R7,#248
DJNZ R7,$
DJNZ R6,D6
DJNZ R5,D5
RET
END