29.05.14 Workshop Miklrorechner 2013 1
Experiment Realtime-Clock über I2CAufgabe:
Das Uhrenchip DS1307 soll per I2C auf festeStartwerte initialisiert werden. Danach soll perseriellem Monitor fortlaufend- Datum (Jahr / Monat / Tag)- Uhrzeit (Std. / Min. / Sek.)angezeigt werden.
Variante a:Die Initialisierung auf feste Startwerte findet nur statt, wenn zwischwendurch die
Batteriespannung für die Uhr ausgefallen ist. Das kann durch Nutzung der RAM-Zellen in der Uhr festgestellt werden.
Variante b:Es soll eine Stelleinrichtung eingebaut werden (über 2 Tasten oder Einlesen desSeriellen Monitors)
Variante c:Weckerfunktion hinzufügen (Ton aus Piezo-Geber mit tone() oder mitSerial.write(0x07) an serielles Terminal-Programm (geht nicht mit Arduinos SerialMonitor, aber mit Hyperterminal oder puTTY-Terminal)
A.Schultze, DK4AQ/23.05.2013
29.05.14 Workshop Miklrorechner 2013 2
VCC: 5V, UBAT: 3V, IBAT = 500nAExterner Quarz: 32,768kHzI2C-Geschwindigkeit: max. 100kb/s
DS 1307
29.05.14 Workshop Miklrorechner 2013 3
Hardware-Struktur DS1307
Rechteckspannung1Hz,4098Hz,8192Hz oder32,768kHz,OC-Ausgang
VCC: 5VUBAT: 3V
I2C
Quarz 32,768kHz
29.05.14 Workshop Miklrorechner 2013 4
DS1703 Timekeeper-Register
Aus diesen Registern wird Datum und Uhrzeit gelesen bzw. beim Einstellen geschrieben.Register 07 enthält das Control-Register.
A.Schultze, DK4AQ
29.05.14 Workshop Miklrorechner 2013 5
DS1703 Control-Register
OUT: Output Control, gibt den Wert an Pin SQW/OUT beim Disable durch SQWEvor..
SQWE: Square Wave Enable-Signal für die Rechteckausgangsspannung an PinSQW/OUT.
RS1, RS0: Rate Select, Einstellung der Frequenz am Pin SQW/OUT.
29.05.14 Workshop Miklrorechner 2013 6
Lesezugriff auf DS1703
Register-Pointer, Beginn der Übertragung bei dieser internen Adresse, wird auch miteinem Schreibbefehl vor Lesen angewendet!
Schreibzugriff auf DS1703
29.05.14 Workshop Miklrorechner 2013 7
Schaltbild Realtime Clock
29.05.14 Workshop Miklrorechner 2013 8
Detail: Beschaltung des DS1307
+5V
29.05.14 Workshop Miklrorechner 2013 9
Aufbauvorschlag Realttime Clock
29.05.14 Workshop Miklrorechner 2013 10
I2C_RealtClock_EXP4,Definition Konstanten und Variablen
29.05.14 Workshop Miklrorechner 2013 11
I2C_RealtClock_EXP4,Setup() Teil 1
29.05.14 Workshop Miklrorechner 2013 12
I2C_RealtClock_EXP4,Setup() Teil 2
29.05.14 Workshop Miklrorechner 2013 13
I2C_RealtClock_EXP4,loop() Teil 1
29.05.14 Workshop Miklrorechner 2013 14
I2C_RealtClock_EXP4,loop() Teil 2
29.05.14 Workshop Miklrorechner 2013 15
I2C_RealtClock_EXP4,loop() Teil 3
29.05.14 Workshop Miklrorechner 2013 16
I2C_RealtClock_EXP4,loop() Teil 3
29.05.14 Workshop Miklrorechner 2013 17
I2C_RealtClock_EXP4,BcdToDec() und decToBcd()
Top Related