ORG 0020H ; START: MOV A,#0 ; CLEAR ACCUMULATOR. MOV P1,A ; SET P1 TO ACC VALUE IE 0. DISPLAYS 00 IN 7448 DISPLY. MOV DPTR,#0 ; LOAD DATA POINTER WITH USER PROGRAM LOCATION. MOV SCON,#REN8U ; 01010000 BIT-4 REC ENABLE BIT-6 8 BIT UART MODE. MOV TMOD,#ARTC8 ; 8 BIT AUTO RELOAD TIMER COUNTER MODE TH#1 HOLDS SET. MOV TH1,#BRATE ; SET BAUD RATE OF COMMUNICATION LOAD TIMER 1 HIGH FDH. SETB TR1 ; TIMER 1 RUN CONTROL ON, ON TIMER 1. SETB EA ; ENABLE ALL INTERRUPT. SETB ET1 ; ENABLE T1 INTERRUPT OF TIMER 1. LOOPS: NOP ; SMALL DELAY. NOP ; SMALL DELAY. SJMP LOOPS ; LOOP HERE TILL TIMER 1 INT. ; TIM1P: NOP ; SMALL DELAY. JNB RI,TIM1P ; IF RI RECIVE INT FLAG NOT SET LOOP BACK TILL INT. CLR TR1 ; IF RI SET DATA HAS BEEN RECD IN SBUF HENCE STOP TIMER. CLR RI ; ACKNOWLEDGE DATA RECEPTION BY CLR OF RI FLAG. MOV A,SBUF ; READ DATA RECD IN SBUF TO ACC. MOV P1,A ; OUTPUT IT TO P1 TO BE DISPLAYED IN HEX FORMAT 7448. NOP ; SMALL DELAY. NOP ; SMALL DELAY. MOVX @DPTR,A ; WRITE INTO DATA POINTER LOCATION IE MYPROG RECD VALUE. INC DPTR ; INC TO NEXT RAM LOCATION 0001H.....SO ON CONSEC REC. SETB TR1 ; SET TIMER 1 ON. T1RET: RETI ; RETURN INT.