Wenas amigos estoy intentando que funcionen un reloj de dallas y una memoria EEPROM los dispositivos son 24FC512 y DS1307, ambos funcionan correctamente por separados, pero a la hora de colocarlos en el mismo bus el reloj no funciona bueno la memoria tampoco, respecto al direccionemiento quien tan solo la requieren es la memoria, el reloj no requiere direccion hardware, creo que lo que hago esta bien , aqui os dejo el código haber si me podeis exar un cable con esto pq me esta volviendo loco , gracias por vuestra atencion:
///////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//
#include <18F452.h>
#fuses XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use i2c(master, sda=PIN_C4, scl=PIN_C3)
#include "eeprom.c"
#include "reloj.c"
void main(void)
{
int i;
char vector[]={"A","B","C","D","E","F","G","H"};
output_high(CTR);
input(PIN_B5);
// init_ext_eeprom();
ini_reloj();
printf("Real Time Clock
"

;
printf(" ds1307
"

;
delay_ms(3000);
while(1)
{
leer_reloj();
i2c_start();
i2c_write(0x01);//direccon de la memoria, con A0 a 5volts. A1 y A2 a Vss
for(i=0;i<=8;i++)write_ext_eeprom(i,vector
);
printf("
%2x-%2x-20%2x",date,month,year);
printf("
%2x:%2x:%2x",hours,minutes,seconds);
i2c_start();
i2c_write(0x01);
for(i=0;i<=8;i++)printf("leyendo:%X
",read_ext_eeprom(i));
}
}