mira karen, este ejemplo esta hecho para el compilador mikroC, el cual ofrece un conjunto de librerias para trabajar con los pic, algunas de ellas son:
 (1)  UART Library:   la cual tiene 4 funciones
             USART_Init 
             USART_Data_Ready 
             USART_Read 
             USART_Write 
             Esta libreria esta hecha para trabajar con pics q tengan la UART.
 (2)  Software UART Library:   la cual tiene 3 funciones
            Soft_UART_Init 
            Soft_UART_Read 
            Soft_UART_Write 
            Esta libreria esta hecha para poder implementar el protocolo serial en
            pics q no tengan la UART, como es el caso del 16f84, q no la tiene.
unsigned short data = 0, ro = 0;
unsigned short *recOK;
void main() {
  recOK = &ro;
  // Initialization (8 bit, 2400 baud rate, no parity bit..)
  // Tomo el pin 1 del puerto como el rx y el pi 2 como el tx
  Soft_UART_Init(PORTB, 1, 2, 2400);
  do {
      do {
          data = Soft_UART_Read(recOK);               // Revisar si llego un dato.
    }while (!*recOK);                                           //  ¿ llego ?
                                                                        // Si llego el dato...entonces
    Soft_UART_Write(data);                                 // lo envio de regreso, hago eco.
  } while (1)
}
...otra opcion seria utilizar el compilador ccs, en este las fuciones son:
   printf("Hola mundo...")    //Saca cada caracter x el puerto serial
   c = getc()                      //Espera x la llegada de un caracter en el puerto serial
pero lo q no c, es si estas funciones c pueden utilizar en pics sin UART como el caso del pic16f84.
en todo caso, no t preocupes, voy a ver q + averiguo.
Chao y espero y t sirva...