Wie einen ds1307 an einem atmega32 Programmieren

Gast #3027158
Lesenswert?

Hallo,
ich bin Schüler und habe mir ein meiner Freizeit eine Art 
Rasenmäherroboter gebaut. Als Vorlage diente mir dieses Projekt 
http://www.tomanja.de/robitobi/index.htm

http://www.tomanja.de/robitobi/download/RobiTobi-gesamt_v1.1.pdf

Lieder habe ich nicht viel Ahnung vom Programmieren. Mir geht es 
Hauptsächlich ums Löten und zum Bau des gesamten Fahrzeugs.

Jetzt habe ich alles zusammen gelötet und das Hauptprogramm für den 
Atmega via  isp Programmer und eXtreme Burner - AVR aufgespielt. Leider 
macht mir mein ds1307 Probleme. Da dieser noch nicht beschrieben ist und 
somit noch nicht richtig läuft kann mein Hauptprogramm darauf nicht 
zugreifen.
Jetzt habe ich mir das Beispiel aus Bascom mal angeschaut aber daraus 
werde ich auch nicht schlauer. Desweiteren benötige ich das Programm als 
.hex um es mit eXtreme Burner brennen zu können.

Als Zeitbaustein habe ich dieses Bauteil verbaut.
http://www.ebay.de/itm/I2C-RTC-DS1307-AT24C32-Real-Time-Clock-Realtime-Module-Batterie-for-AVR-ARM-PIC-/320854497094?pt=Bauteile&hash=item4ab46b1746#ht_4412wt_1344

Angeschlossen sind die Sda und Scl Ausgänge an den Pins 22,23 des 
Atemegas. und natürlich die Stromversorung. :)

Kann mir jemand weiterhelfen welche Programm ich brauche und wie ich 
mein Bauteil beschreiben kann ??

Vielen Dank schonmal
#3027231
Lesenswert?

Hallo Alexander,

lass Dich nicht ärgern !

Der DS1307 muss einmalig initialisiert werden, das mache ich so;

Im Register 0x00 - Sekunden - ist das Bit 7 = 0 zu setzen.

Im Register 0x02 - Stunden - stelle ich noch die Zeit auf 24 Stunden: 
Bit 6 = 0

Da ich die Zeit per 1 Sek. Interrupt auslesen möchte, setze ich noch:

Im Register 0x07 - REG_CONTROL - dieses Byte: (OPTION_SQWE | OPTION_HZ1)

#define OPTION_HZ1 0b00000000
#define OPTION_SQWE OPTION_SQWE

Danach kann man die aktuelle Zeit und das Datum einstellen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren