Gabriel, para que se possa "visualizar" teu circuito, poe aqui o pinout das linhas de controle dos chips, tipo :
MCU
Px.y - SDA
Px.y - SCL
EEPROM (poe o part e o fabricante)
Pino x - SDA
.....
Bom peguei os links aqui pra facilitar os amigos
http://www.aurel32.net/elec/pcf8591.pdf
http://www.aurel32.net/elec/pcf8583.pdf
Você está usando o Write Protect da bixinha ?
Já tentou tirar ela do endereço 0 e por em outro (tal com A0...A2 = VCC), ou seja no endereço 7 ?
Resistores de Pull up ok ?
Observe, tambem, uma coisa importante, quando voce envia algo para um SLAVE, após enviar o último BIT, voce precisa escrever "1" na porta de saida do MCU, para que ele possa liberar a linha para receber o ACK do SLAVE no proximo clock....onde esse ACK é um bit pra baixo no proximo clock do MCU.....
Enfim, essa condicao de ACK se assemelha muito com a condição START (Clock em ALTO e SDA transição negativa).
Tem uma referencia de hardware de uma placa da grifo...
http://www.grifo.it/MANUAL/K51AVR.PDF
No site da própia griffo tem as referências BASIC para alguns periféricos....
Eu vi uma discussao semelhante em
http://www.svet-el.si/phpBB2/viewtopic. ... f6af235274
Tá parecendo "grego" ....mas dá pescar alguma coisa....
Bom eu imagino que voce fez A0...A2 (na eeprom) = 0,
Colocou o pino A0 do RTC = 1
E fez Ao..A2 = 010 no A/D correto ?
Pelo menos é que imagino que seja