interrupción causa interferencia al enviar datos al lcd

hola
al usar la interrupcion ISR(USART_RX_vect) causa interferencia cuando envio datos al lcd
este es mi codigo.

#include <avr/interrupt.h>
#include <avr/io.h>

int maxvalue = 512;
int minvalue = 512;
volatile int foco = 13;

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 6, 7,8);

void setup() {

pinMode(foco, OUTPUT);

lcd.begin(16, 2);
UCSR0B |= (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0); // Turn on the transmission, reception, and Receive interrupt
cli();
sei(); //enable interrupt

}

void loop() {

val =0;
maxvalue = 511;
minvalue = 511;
for ( int i=0; i<2000; i++) {
val = analogRead(analogPin); // lee el valor de corriente del pin
if ( val > maxvalue) {
maxvalue = val;
}

if ( val < minvalue ){
minvalue = val;

}

}

val = ((maxvalue - minvalue) * 0.03) /1.4142 ;

lcd.print("comunicacion");
lcd.setCursor(0, 1);

lcd.print(val-0.16);// imprime el valor leído con una calibración de -0.16
lcd.print("A");

delay(200);
lcd.clear();
lcd.print("comunicacion");
lcd.setCursor(0,1);

lcd.print((val-0.16)*1000);
lcd.print("mA");
delay(200);
lcd.clear();

}

ISR(USART0_RX_vect)
{

digitalWrite(foco,HIGH);

}

te sigue pasando?

**Porque NADIE LEE como se postean los códigos? **
**Me pregunto : nunca miran otros hilos? **
No ven que TODOS los códigos estan debidamente presentados usando tags?

Lee las Normas del foro y edita ese código por favor.