www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eine Uhr mit Avr prog.


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wolte mal fragen ob einer hier schon mal eine Uhr programmiert hat , 
wenn ja wäre es möglich das ich bitte bitte auch einen Ansatz bekomme 
wie ich das machen kann.
Uch wolte die Zeitschleife über die Timer Register vornehmen.
Das klapt auch schon mit einer Zeitschleife von 1 Sekunde.
Auch das Init für die Ausgabe ans Display funktuniert.
Arbeite mit dem 90s4433.

mfg Andy

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ne komplette Uhr mit allem möglichen Zubehör:

http://www.specs.de/~danni/appl/soft/c51/thclock/index.htm

Trotzdem paßt alles in einen kleinen billigen AT89C2051 mit nur 2kB 
Programmspeicher.



Peter

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter

Allerdings ist das alles in einen anderen befehlscode geschrieben
Ich bin ehrlich gesagt froh das ich mit dem wavrasm meine befehle aus 
dem listing hinkriege.

Danke trotzdem
Vileicht noch einer einen Tip?

mfg Andy

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ehrlich keiner eine Uhr bis jetzt??

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
macht auch nicht viel Sinn (wer will denn noch Digitaluhren??), genau 
geht ein MC-Uhr zumindest mit den üblichen Quarzen auch nicht (die 
Osz-Frequenz liegt eigentlich immer ca. 0,1% über der aufgedruckten 
Quartzfrequenz), hat glaube ich was mit Serien- bzw. Parallelresonanz zu 
tun. Mit ext. Generator könnte es genauer werden, wie genau die sind, 
weiß ich nicht.
Ansonsten ist es einfach, du bastelst dir einen genauen Timerinterrupt, 
sagen wir mal alle 50ms (z.B. Quartz 4,096MHz, Vorteiler 1024, reload 
-200), der Rest ist reine Fleißarbeit.
Ein Register zählt dei 50ms-Impulse, wenn eine Sekunde um ist, 
zurücksetzen, Sekundenzähler erhöhen usw.
Dazu eine Ausgaberoutine, fertig ist die Uhr. Noch ein paar Tasten zum 
Stellen, Sommer/Winterzeit, Sternzeit, Mondphase - da kannst du deinen 
Spieltrieb ausleben.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andy,

hast Recht, das ganze Programm ist in C geschrieben.

Wenn man allerdings noch nie mit C gearbeitet hat, ist es schwer zu 
verstehen.

Da ist auch noch ein Artikel auf meiner Webseite, wie man beliebig 
krumme Quarze als hochgenaue Uhr benutzt, bzw. die Abweichung des 
Quarzes korrigieren kann.


Peter

Autor: Haiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für eine Uhr würde ich lieber einen MSP430 nehmen. Der hat den Vorteil, 
dass gleich ein LCD-Display angeschlossen werden kann und die Batterie 
bei 2,5uA ca. 10Jahre halten wird. Bei der Genauigkeit kann man ein 
bisschen trixen, herkömmliche Quarze sind in der Tat etwas ungenau.
Die Zeit zählt man am besten über einen der Timer des MSP und gleicht 
dabei die Ungenauigkeit des Quarzes aus, indem man den Timer anpasst. 
Wenn die Uhr immer schön im Wohnzimmer steht, spiel auch der 
Temperatureinfluss keine grosse Rolle mehr.
Eine andere Möglichkeit ist ein DCF-Controller à la T4227.
Das ganze ist in Assembler schnell programmiert.

Gruss und viel Spass

Autor: Michael T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andy,
schau mal unter Codesammlung nach.
Da ist eien DCF Uhr mit dem 1200.
Dabei wird auch eine Echtzeituhr verwendet.
Die auch ohne DCF läuft.
Ist wenigsten ein Ansatz.
Die Anzeige von Stunden und Minuten geht auf jedem fall.

Viele Grüße
       Michael T

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.