PORT1	EQU		P0
PORT2	EQU		P2
ORG		0H
JMP		MAIN
ORG		30H
MAIN:								
MOV	SP,#5FH
MOV	PORT2,#0FFH
LOOP:
MOV	R0,#4						
MOV	R1,#11101111B					
MOV	R2,#0FFH						
NLINE:
MOV	A,R1							
MOV 	PORT1,A
MOV 	A,PORT0						
ORL 	A,#0F0H
CJNE 	A,#OFFH,KEYIN
MOV 	A, R1
RL 		A
MOV 	R1,A
DJNZ 	R0,NLINE
JMP		LOOP
KEYIN:								
MOV 	R2,A
CALL 	DELAY1
NOPEN:
MOV 	A,PORTO0					
ORL 	#0F0H
CJNE 	A,#OFFH,NOPEN
CALL 	DELAY1
CALL 	TRANF						
CALL . 	CHANG						
MOV 	PORT2, A						
JMP		LOOP
DELAY1:								
MOV 	R7,#30
MOV 	R6,#0
T1:
DJNZ 	R6,$
DJNZ 	R7,T1
RET
TRANF:
MOV 	B,#0
MOV 	A, R1						
LOOP1:
RRC 	A
JNC 		LOOP2
INC 		B							
INC 		B
INC		B
INC 		B
JMP		LOOP1
LOOP2:
MOV 	A, R2
RR 		A							
RR 		A
RR 		A
RR 		A							
LOOP3:
RRC 	A
JNC 		LOOP4
INC B
JMP 		LOOP3
LOOP4:
MOV 	A, B							
RET
CHANG:
INC 		A
MOVC 	A,@A+PC
RET								
DB 	0C0H,0F9H,0A4H,0B0H
DB 	99H,92H,82H,0F8H
DB 	80H,90H,88H,83H
DB 	0C6H,0A1H,86H,8EH
END



