Witam
Walczyliśmy kiedyś z tym układem i okazał sie bardzo kapryśny.
Po pierwsze za nic na świecie nie chciał działać z programowym I2C.
Po drugie ustawienia w rejestrze kontrolnym (adres 0x07) nie dadzą żadnego rezultatu jeżeli bit 7 w rejestrze sekund (adres 0x00) nie będzie wyzerowany!!! Bit ten nazywa się Clock Halt i jego ustawienie na jeden powoduje zatrzymanie wewnętrznego oscylatora. Spośród kilku datascheet-ów w tym jest to najlepiej opisane
https://www.sparkfun.com/datasheets/Com ... DS1307.pdf(strona 4, akapit: CLOCK AND CALENDAR)
Finalnie w inicjalizacji DS1307 zastosowaliśmy sprawdzanie stanu tego bitu i jeżeli jest równy 1 to najpierw go zerujemy a następnie konfigurujemy rejestr kontrolny.
Oczywiscie weź pod uwagę to co koledzy napisali wcześniej odnośnie prawidłowego podłączenia szyny I2C
Pozdrawiam