He logrado compilar tu codigo, en realidad son cosas muy simples, el mismo compilador te arroja donde esta y cual es el error/warning, detecte las siguientes errores/warnigs:
Es un warning, linea 19, las funciones de interrupcion deben devolver void:
#int_rda //Interrupcion para el puerto serie
void rda_isr() //Falta el void
Lo arroja como un Warning pero es un error, en ese linea se esta asignando el caracter '2' a dat, el operador de igualdad es == , no =
if (dat_in='2') //Si es "2" se visualizan los primeros datos de la EEPROM
{
Aunque no es un error, el compilador manda un warning, esto por el bucle infinito, si lo cambias por for(;
ya no aparecera la advertencia pero puedes usar ambas
while(1) {
Linea 20, archivo RTC_ds1307.c, aqui faltaba un parentesis
return(varia + (varia >> 2) + (bcd & 0x0f));
TEMP_ds1621.c, linea 26, si la funcion no regresa nada deberia indicarse con void
void WRITE_FLOAT_EXT_EEPROM(long int n, float data) {
TEMP_ds1621.c, Linea 38, Aqui te faltata un parentesis,
*(((int8*)(&data) + i)) = read_ext_eeprom(i + n);
Entre muchas otras cosas mas, en realidad no vi si tu codigo es funcional, solo cheque que compilara basado en las advertencias que generaba el compilador, por cierto, comente el siguiente header debido a que existe conflictos con los nombres de las funciones, ya existe una que tiene el mismo nombre, ademas movi todos los headers a la carpeta raiz, espero te sirva de base para que hagas funcionar tu codigo. Saludos.
//#include <FLOATEE.c>