PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Uhr mit PIC programmieren



theodrin
08.08.2007, 09:01
Hallo!

Ich würde gerne eine Uhr mit meinem PIC programmieren und dann die Uhrzeit auf nem LCD-Display ausgeben. Die Uhr soll recht exakt sein und es soll nebenbei noch ein Programm ausgeführt werden. Sprich die Uhr ist Bestandteil des Programms unter anderen Teilen. Also kann ich die ja nicht direkt von der CPU machen.
Ich hab mich schon ein wenig informiert und das DCF77-Modul wäre eine praktische Lösung denke ich, leider krieg ich das nirgends zu kaufen. Nur so Komplettkits um mehr als 100€. Wissts ihr da einen guten Link oder Verkäufer, wo man nur dieses Modul kaufen kann und wie teuer das ist?
Oder kann ich die Uhr auch anders programmieren? Ich dachte an einen Timer, aber ich hab keinen Schimmer wie ich das machen soll. Mit Interrups oder so? Ich weiß es wirklich nicht. Könnt ihr mir da ein paar Tipps geben, wie ich das Problem lösen kann?

lg,
Norbert

r.moshage
08.08.2007, 09:33
Zum Thema Uhr mit Timer schau dir mal die AP582 von Microchip an.http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011057
DCF77 Module giebt's zB. bei Reichelt http://www.reichelt.de/?SID=295EYzaqwQAR0AABc2HkEbab1d69fdab759f837304308 86b7c9dd;ACTION=3;LA=4;GROUP=X2;GROUPID=3636;ARTIC LE=57772;START=0;SORT=preis;OFFSET=1000
Conrad hat síe glaube ich auch.

MFG
Ralf

theodrin
08.08.2007, 13:45
Hallo!

Danke für die Antwort. Aber ich muss leider sagen, dass mich beide nicht begeistern. Also ich programmiere in C und hab den rießen lagnen Code in ASM nicht verstanden.
Der Timer läuft eh unabhängig von der CPU oder? Kann ich da nicht schnell was programmieren. Also so was wie Timer zählt hoch, ich merk mir die Überläufe, wenn ne bestimmte anzahl an Überläufen (von Quarz abhängig) ist, dann ist eine Sekunde um. Oder so hab ich mir das gedacht.

Der DCF77-Baustein ist toll, nur hab ich kein Datenblatt dazu gefunden, bzw. ein Datenblatt, wo nix drin steht. Also wie ich jetzt die Zeit auslese.
Und gibts den DCF77-Baustein bei Distrelec oder Farnell auch? Bei Conrad hab ich ihn nicht gefunden.

lg,
Norbert

Mobius
16.08.2007, 13:53
Bei Conrad hab ich ihn nicht gefunden. Conrad hat ein Modul im Angebot (641138 - 62), wo du das Signal des Empfängers herausbekommst. In was für einem Format, das steht net drinnen, stimmt, ABER, da ist ein Schaltplan drinnen mit dem Namen des Chips: T2242. Eine kurze Suche auf datasheetcatalog.com spuckt dann diesen (http://www.tranzistoare.ro/datasheets2/23/231185_1.pdf) Datenblatt heraus. Danach schaut man sich noch einmal schnell den Schaltplan an (beachte, Ausgänge sind Open Collector, also Pullups net vergessen). Danach schaut man sich noch das DCF-77-Protokoll (http://www.dcf77.com/) an und implementiert es.


Der Timer läuft eh unabhängig von der CPU oder? Kann ich da nicht schnell was programmieren. Also so was wie Timer zählt hoch, ich merk mir die Überläufe, wenn ne bestimmte anzahl an Überläufen (von Quarz abhängig) ist, dann ist eine Sekunde um. Oder so hab ich mir das gedacht. Genau, es ist wirklich keine Hexerei eine Uhr zu programmieren. Wenn du dann auch noch einen Uhrenquarz nimmst (32,768 kHz), kommst du sehr schön (mit weniger Stromverbrauch) auf die 1 Sekunde bei 128 Überläufen (siehe diese (http://www.mikrocontroller.net/topic/23135) Diskussion). Danach hast du weniger Probleme mit der Genauigkeit, vor allem wenn du dann, sagen wir mal, jede halbe Minute dich mit dem DCF synchronisierst wird die Uhr genau gehen wie die Sau.

Naja, ob C oder Assembler ist geschmackssache, ich bleib bei Assembler :D.
lg
Mobius