Prueba con esto
#include <16F877.h> // Se añade la libreria del PIC a utilizar
#FUSES NOWDT,HS,NOPUT,PROTECT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG
#use delay(clock=20000000) //Velocidad del reloj
#use rs232(baud=9600,parity=N,bits=8,stop=1,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C5,errors) //enable=PIN_C5 hace que el C maneje el pin de habilitación
#include <24512.c> // Se añade la libreria de la EEPROM 24LC512
#include <external_eeprom.c> // Se añade la libreria para controlar una EPROM externa
#int_rda
void serial_isr(){
int dato=0,dir2=0,i=0,f=0,g=0,h=0,j=0,k=0;
float dato2=0;
char answer;
disable_interrupts(int_rda);//Aqui deshabilito la interrupción
answer=getch();
if(answer='Y'){
printf(" Interrupcion ");
//Leo datos de eeprom y envio al PC
}
}
void main(void) // Inicio del programa principal
{
float irra[] = {1, 2, 3, 6};
float tempa[] = {6, 3, 2, 1};
float tempm[] = {2, 4, 5, 6};
float vel[] = {2, 4, 5, 6};
float volt[] = {2, 4, 5, 6};
float inte[] = {2, 4, 5, 6};
//Variables int que contienten el valor de la fecha
int min,sec,hr;
//Inicialización de las variables necesarias para movernos por la EEPROM
int dir=0;
//Iniciaización variables para necesarias para moverse dentro de los datos
int f=0,g=0,h=0,i=0,j=0,k=0;
min=0;
sec=0;
hr=0;
init_ext_eeprom(); // Inicializamos EEPROM EXTERNA
delay_ms(200);// retraso 200 milisegundos para no colapsar PIC
// Escribimos datos en la eeprom
do{
enable_interrupts(int_rda);
enable_interrupts(global);
delay_ms(500); // espera por ejemplo 0,5 seg para enviar nuevamente el dato,
output_HIGH(PIN_B1); // por ejemplo conectas un led entre el pin B1 y masa y este debe prender
delay_ms(250); // espera por ejemplo 0,25 seg
output_LOW(PIN_B1); // se apaga el led
delay_ms(250); // esperas otros 0,25 seg para enviar nuevamente el dato,
}while(TRUE);
}