www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit Programmierung einer Binäruhr


Autor: Nico (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin,

ich habe mir ne Binäruhr auf eine 160x100mm Platine gebastelt und
betreibe die Uhr mit einem AT Mega 8. Der Mega 8 steuert 3 450 ICs
(dual Binär-Zähler), die wiederum die LEDs direkt ansteuern.
Auf der Platine befinden sich zwei Taster. Der erste Taster hält auf
Druck das normale Zählen an und wechselt bei weiterem Tastendruck von
Stunden zu Minuten, von Minuten zu Sekunden, von Sekunden zum
Normalbetrieb. Währenddessen kann man mit dem zweiten Taster die Uhr
stellen.

Das Progamm, das ich schrieb, wirkt mir wesentlich zu lang und
umständlich. Das liegt vielleicht daran, daß es mein erstes ist
Naja funktionieren tut es, aber zwei gefallen mir noch nicht:

Wenn die 1er-Sekundenanzeige den Wert 10 errreicht, muß Sie ja
augenblicklich zurückgesetzt werden und die 10er Sekundenanzeige zählt
um 1 hoch. Bei der 1er Anzeige ist für eine halbe Sekunde trotzdem die
10 zu erkennen.

Dann läuft die Uhr nicht genau auf 1Hz - ich habe ziemlich große
Abweichungen, wenn ich das Ganze mit einer normalen Uhr vergleiche.
Ich nutze den internen 1Mhz Ozillator, der natürlich nicht genau 1Hz
erreicht. Ich habe hier noch ein Uhrenquarz liegen, mit dem man die
gewünschten 1Hz bestimmt realisieren kann (Timer-Interrupt)- ich weiß
nur noch nicht wie.

Ausserdem wäre es nicht schlecht, wenn das Programm automatisch zählt,
wenn Taster, der zum Stellen benutzt wird, länger als beispielsweise 1
Sekunde gedrückt wird.

Anbei der Quelltext(Bascom). Auf Wunsch kann ich den Code auch direkt
ins Forum schreiben - wird nur recht lang.

Ich würde mich freuen, wenn sich jemand das Programm mal anschauen
könnte und mir ein paar Verbesserungsvorschläge geben kann.

Mfg Nico

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.