Hola amigo, esto es un ejemplo sencillo, en el foro hay demasiados ejemplos.
saludos.
#include <16F876A.h>
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6,rcv=pin_c7) //Configuración del puerto
//rs232; a 4mhz solo acepta 4800 bps
//Se puede configurara otro pin como TX
//pero como RX solo C7
#fuses xt,put,brownout,nowdt
#byte portb=6
///////////////////////////////////////////////////////////////////////////////
#int_rda //Vector de interrupcion de la recepcion de datos
void interrupcion_rx() //por el usart
{
portb = getc(); //Se lee el dato recibido
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#zero_ram //Borrado de la memoria ram
void main() //Rutina principal
{
set_tris_b(0b00000000); //Configuracion de entradas y salidas del puerto B
enable_interrupts(global); //Habilitación de todas las interrupciones
enable_interrupts(int_rda); //Habilitación por recepcion
portb = 0;
while(true) //Rutina general
{
delay_ms(100)
putc('A');
}
///////////////////////////////////////////////////////////////////////////////