	
        ORG	0000H
	MOV	TMOD, #00100110B	;TIMER 0 MODE 2, COUNTER
	MOV	TH0, #0			;TH0 = 0
AGAIN:	SETB	TR0			;START TIMER/COUNTER 0
BACK1:	MOV	A, TL0			;A = TL0
	MOV	B, P1			;B = P1
	CJNE	A, B, NEXT		;IF A IS NOT EQUAL TO B GOTO NEXT
	CLR	A			;A = 0
	MOV	TL0, A			;TL0 = A
NEXT:	MOV	P2, A
	ACALL 	CONV                    ;CALL CONVERSION SUBROUTINE
	JNB	TF0, BACK1
	CLR	TF0			;CLEAR TIMER 0 FLAG
	SJMP	AGAIN
		
;-------CONVERTING DEC DIGITS TO DISPLAYABLE ASCII DIGITS

CONV:	MOV	B, #10                 
	DIV	AB
	MOV	R2, B
	MOV	B, #10
	DIV	AB
	ORL	A, #30H
	ACALL	SEND
	MOV	A, R4
	MOV	A, B
	ORL	A, #30H
	ACALL	SEND
	MOV	R3, A
	MOV	A, R2
	ORL	A, #30H
	ACALL	SEND
	MOV	R2, A
	SJMP	AGAIN
	RET		
;-------SERIAL DATA TRANSFER.

SEND:	
	MOV	TH1, #0FDH              ;9600 BAUD RATE
	MOV	SCON, #50H              ;8-BIT, 1 STOP BIT, REN ENABLED
	SETB	TR1                     ;START TIMER 1
	MOV	SBUF, A
H_1:	JNB	TI, H_1
	CLR	TI
	RET
	END  