ORG	0000H
	MOV	R1,#00000000B
	MOV	R2,#01010101B
	MOV	R3,#00000000B
	MOV	R4,#11111111B
	

TEST1:	ORL	P3,#0FFH
	JNB	P3.7,CASE1
	JNB	P3.6,CASE2
	JNB	P3.5,CASE3
	JNB	P3.4,CASE4
	AJMP	TEST1


CASE1:	
START1:	MOV	R0,#OK1-TABLE1+1
	MOV	DPTR,#TABLE1
	MOV	R1,#00H
	ACALL	LOOP1
	ACALL 	DELAY
	AJMP	TEST1
	
	
	
CASE2:	
START2:	MOV	R1,#07H
	MOV	A,#11111110B
LEFT	MOV	P1,A
	ACALL	DELAY
	RL	A
	DJNZ	R1,LEFT
	MOV	R1,#07H
	MOV	A,#01111111B
RIGHT	MOV	P1,A
	ACALL	DELAY
	RR	A
	DJNZ	R1,RIGHT
	AJMP	START2
	
CASE3:	
TEST3:	
	MOV 	A,R1
	MOV	P1,A
	XRL	A,#11111111B
	MOV	R1,A
	ACALL	DELAY
	AJMP	TEST3
	
	
CASE4:	
START6:	MOV	R0,#OK2-TABLE2+1
	MOV	DPTR,#TABLE2
	MOV	R1,#00H
	ACALL	LOOP1
	ACALL 	DELAY
	AJMP	START6		
	


TABLE1:	DB	01111110B
	DB	00111100B
	DB	00011000B
	DB	00000000B
	DB	00011000B
	DB	00111100B
	DB	01111110B
	DB	11111111B
	
	
	DB	01111110B
	DB	00111100B
	DB	00011000B
	DB	00000000B
	DB	00011000B
	DB	00111100B
	DB	01111110B
	DB	11111111B
	
	
	DB	00000000B
	DB	11111111B
	DB	00000000B
OK1:	DB	11111111B

TABLE2:	DB	01010101B
	DB	10101010B
	
	
	DB	01111110B
	DB	00111100B
	DB	00011000B
	DB	00000000B
	DB	00011000B
	DB	00111100B
	DB	01111110B
	DB	11111111B
	
	
	DB	00000000B
	DB	11111111B
	DB	00000000B
OK2:	DB	11111111B
	
	
LOOP1:	MOV	A,R1
	MOVC	A,@A+DPTR
	MOV	P1,A
	ACALL	DELAY
	INC	R1
	
	DJNZ	R0,LOOP1
	AJMP	START1
	RET	
	
DELAY:
	MOV	R6,#250
LOOP2	MOV	R7,#200
LOOP3	DJNZ	R7,LOOP3
	DJNZ	R6,LOOP2
	RET
	END					