Thank you for your patience..

Code:
INCLUDE "MODEDEFS.BAS"



TRISA=%11110000
TRISB=%00000010

cmcon=7  ' predispone la portaA come I/O digitali


'INTCON ( Interruption Control register ) 
intcon.7=1	'GIE : Global Interrupt Enable bit
intcon.6=1	'PEIE : Peripheral Interrupt Enable bit ( This bit should be set when using the CCP interruption so on )
intcon.5=0	'T0IE : TMR0 Overflow Interrupt Enable bit
intcon.4=0	'INTE : RB0/INT Interrupt Enable bit
intcon.3=0	'RBIE : RB Port Change Interrupt Enable bit
intcon.2=0	'T0IF : TMR0 Overflow Interrupt Flag bit
intcon.1=0	'INTF : RB0/INT Interrupt Flag bit
intcon.0=0	'RBIF : RB Port Change Interrupt Flag bit

'definisco il registro di ricezione RCSTA
rcsta.7=1	'SPEN serial port enable bit
rcsta.6=1	'RX9 9-bit receive enable bit
rcsta.5=0	'SREN single receive enable bit
rcsta.4=1	'CREN continous receive enable bit
rcsta.3=1	'ADDEN address detect enable bit
rcsta.2=0	'FERR framing error bit(read only)
rcsta.1=0	'OERR overrun error bit(read only)
rcsta.0=0	'RX9D 9th bit of receive data (read only)


'definisco il registro di trasmissione TXSTA
txsta.7=0	'CSRC : Clock Source Select bit
txsta.6=0	'TX9 : 9-bit Transmit Enable bit
txsta.5=1	'TXEN : Transmit Enable bit
txsta.4=0	'SYNC : USART Mode Select bit 0=asincrono
txsta.3=0	' N/A
txsta.2=1	'BRGH : High Baud Rate Select bit
txsta.1=0	'TRMT : Transmit Shift Register Status bit ( Read only )
txsta.0=0	'TX9D : 9th bit of transmit data. Can be parity bit.


'PIE1 ( Peripheral Interrupt Enable register ) 8Ch
PIE1.7=0	'EEIE : EE Write Complete Interrupt Enable Bit 
PIE1.6=0	'CMIE : Comparator Interrupt Enable bit 
PIE1.5=1	'RCIE : USART Receive Interrupt Enable bit 
PIE1.4=0	'TXIE : USART Transmit Interrupt Enable bit 
PIE1.3=0	' N/A
PIE1.2=0	'CCP1IE : CCP1 Interrupt Enable bit 
PIE1.1=0	'TMR2IE : TMR2 to PR2 Match Interrupt Enable bit 
PIE1.0=0	'TMR1IE : TMR1 Overflow Interrupt Enable bit


'azzera tutti i flag di interrupt
PIR1.7=0
PIR1.6=0
PIR1.5=0		'azzera l'RCIF
PIR1.4=0
PIR1.3=0
PIR1.2=0
PIR1.1=0
PIR1.0=0



'DEFINE HSER_BAUD 38400	' Set baud rate
'DEFINE HSER_SPBRG 15	' Set SPBRG directly (normally set by HSER_BAUD)

'set the speet to 38800 baud (with a 10Mhz osc)
SPBRG.7=0
SPBRG.6=0
SPBRG.5=0
SPBRG.4=0
SPBRG.3=1
SPBRG.2=1
SPBRG.1=1
SPBRG.0=1



DEFINE OSC 10


OERR VAR RCSTA.1    ' Alias USART over-run bit
CREN VAR RCSTA.4    ' Alias USART continuous receive enable bit
RCIF VAR PIR1.5	    ' Alias USART received character interrupt flag bit
ADEN VAR RCSTA.3



Enable interrupt


i VAR WORD
led VAR BIT
led2 VAR BIT
ric VAR BYTE
ric2 VAR BYTE
X VAR BYTE
X=0


on interrupt GoTo indirizzo

GoTo ricevi


 Disable
indirizzo:

    ric = RCREG            'store the byte contained on RCREG in "ric" and clear RCREG

    
    While RCIF               'to be sure that the register'll be empty the next time I'll read it
       	ric2=RCREG
    Wend
    
'    ADEN=0
'    RCIF=0   
    
IF OERR = 1 Then   ' If over-run, then clear it
        CREN = 0   ' Disable receive
        CREN = 1   ' Re-enable & clear over-run condition
EndIF
     
     'print the 3 lsb of ric into 3 external leds
     PORTA.0=ric.2
     PORTB.7=ric.1
     PORTB.6=ric.0   
     
             'every time that the pic is interrupted, store the received byte in a location into the eeprom
	Write 0+X,ric
	X=X+1          'next time will write the next location

  Resume
 Enable


ricevi:

	For i=1 to 65000
	Next	

		IF led=1 Then 
			PORTA.1=0:led=0
		Else
			PORTA.1=1:led=1
		EndIF
GoTo ricevi