PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Problem mit DS1307



Kampi
05.04.2012, 13:46
Hallo Forum,

ich habe ein Problem mit meiner DS1307.
Diese wird mit 5V betrieben und besitzt eine 3V Batterie als Puffer. Während die Versorgungsspannung aktiv ist läuft sie auch problemlos.
Allerdings sobald die Spannung weg ist zählt die Uhr nicht weiter. Sobald die Spannung nach ein paar Minuten wieder zugeschaltet wird steht die Uhr noch auf der Zeit die sie vor dem abschalten hatte.
Woran kann das liegen?
Kann das an der Uhr oder an der Software liegen?
Danke für die Hilfe!

mcgero
05.04.2012, 16:04
Im Register Adr.00h (Sekunden) Bit 7 mit der Bitkennung CH ist wohl dafür verantwortlich. Es ermöglicht eine Sparsparfunktion und ist beim ersten Einschalten gesetzt. Also eine Init-Routine schreiben und nur dieses Bit auf 0 setzen. Ich habe es in Assembler so gemacht:
Ds1307_Init: mov b,#00h
lcall i2c_Ds1307_rd
anl a,#7fh
mov b,#00h
lcall i2c_Ds1307_wr
mov b,#02h
lcall i2c_Ds1307_rd
anl a,#3fh
mov b,#02h
lcall i2c_Ds1307_wr
mov a,#10h
mov b,#07h
lcall i2c_Ds1307_wr
ret
Funktioniert auf an Hieb. Viel Erfolg

Kampi
05.04.2012, 21:23
Danke für den Hinweis. Aber das Problem war wohl die DS1307 Lib im Bascom. Irgendwie hat die mir in die Suppe gespuckt. Als die raus war lief es direkt richtig. Aber das mit der Stromsparfunktion merke ich mir. Sehr guter Hinweis :)
Dank dir dafür :)