Amigos...Gracias por sus respuestas. Ya encontre la solucion a mi problema, la cual se las dejo despues de explicarle porque tuve que hacerlo asi. El pic con el que estoy trabajando es el 16F819, el cual no puedo usar las interrupciones internas al puerto serie, (que era lo que queria), por la sencilla razon de que este pic no maneja interrupciones internas al puerto seria, no posee usart. Por lo que para poder usar una interrupcion cuando ingresa un dato por el puerto serie, no queda otra que hacerlo con una interrupcion externa. Lo que hice fue puentear la rx del pic a RB0, poner RB0 como entrada y listo. Prueben con este ejemplo del CCs que a mi me anduvo de maravilla. Desde Mendoza, Argentina..Gracias Totales. Cualquier duda pregunten
/////////////////////////////////////////////////////////////////////////
//// EX_WAKUP.C ////
//// ////
//// This example shows how to use the sleep function. When the ////
//// button is pushed, the processor goes into sleep mode. When ////
//// the button is released, the processor wakes up and continues ////
//// counting. ////
//// ////
//// Configure the CCS prototype card as follows: ////
//// Jumper from pin 40 to 47. ////
//// See additional connections below. ////
//// ////
//// This example will work with the PCM and PCH compilers. The ////
//// following conditional compilation lines are used to include a ////
//// valid device for each compiler. Change the device, clock and ////
//// RS232 pins for your hardware if needed. ////
/////////////////////////////////////////////////////////////////////////
//// (C) Copyright 1996,2003 Custom Computer Services ////
//// This source code may only be used by licensed users of the CCS ////
//// C compiler. This source code may only be distributed to other ////
//// licensed users of the CCS C compiler. No other use, ////
//// reproduction or distribution is permitted without written ////
//// permission. Derivative programs created using this software ////
//// in object code form are not restricted in any way. ////
/////////////////////////////////////////////////////////////////////////
#if defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Jumpers: 8 to 11, 7 to 12
#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Jumpers: 8 to 11, 7 to 12
#endif
// global flag to send processor into sleep mode
short sleep_mode;
// external interrupt when button pushed and released
#INT_EXT
void ext_isr() {
static short button_pressed=FALSE;
if(!button_pressed) // if button action and was not pressed
{
button_pressed=TRUE; // the button is now down
sleep_mode=TRUE; // activate sleep
printf("The processor is now sleeping.
"

;
ext_int_edge(L_TO_H); // change so interrupts on release
}
else // if button action and was pressed
{
button_pressed=FALSE; // the button is now up
sleep_mode=FALSE; // reset sleep flag
ext_int_edge(H_TO_L); // change so interrupts on press
}
if(!input(PIN_B0)) // keep button action sychronized wth button flag
button_pressed=TRUE;
delay_ms(100); // debounce button
}
// main program that increments counter every second unless sleeping
void main() {
long counter;
sleep_mode=FALSE; // init sleep flag
ext_int_edge(H_TO_L); // init interrupt triggering for button press
enable_interrupts(INT_EXT);// turn on interrupts
enable_interrupts(GLOBAL);
printf("
"

;
counter=0; // reset the counter
while(TRUE)
{
if(sleep_mode) // if sleep flag set
sleep(); // make processor sleep
printf("The count value is: %5ld
",counter);
counter++; // display count value and increment
delay_ms(1000); // every second
}
}