mikrocontroller.net

Forum: Projekte & Code Multifunktionsdisplay, Uhr, AD-Wandler


Autor: Manuel B. (jackson02)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte hier mal meine erweiterte (verbesserte) Version meiner 
kleinen LCD-Uhr vorstellen.
Dabei handelt es sich um ein Programm, mit dem Uhr-/Datumsausgabe auf 
dem LCD (über 4 Drähte angesteuert) erfolgt. Des weiteren lässt sich 
über ein an PC2 angeschlossenes Potentiometer ein Wert auf dem Display 
von 0-1024 darstellen, was später einmal beispielsweise für lineare 
Temperaturbauteile genutzt werden könnte. Demnächst folgt jedoch eine 
Temperaturausgabe auf dem Display, die über einen weiteren Baustein in 
Form eines binären Codes an den µC geschickt wird.
Die Uhr lässt sich vor der Inbetriebnahme über zwei Taster abgleichen 
und bedarf dann im Betrieb in der Regel keinem weiteren Abgleich. Werde 
noch daran arbeiten, dass das Stellen auch während dem Betrieb (z.B. 
durch langes Drücken eines Tasters) ermöglicht wird.
Ansonsten hoffe ich, dass sich jemand findet, dem das Projekt, das vor 
allem für Einsteiger gedacht ist, als brauchbar erscheint und dies dann 
als ganzes oder Teile davon nutzen kann.
Falls jemand Anregungen oder Verbesserungsvorschläge bzgl. meines 
kleinen Projektes (das ja schließlich noch im Anfangsstadium ist) hat, 
dann zögert bitte nicht mir eine Antwort darauf zu geben ;)

Mit dem besten Grüßen

Manuel

Autor: Thomas Kiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bisschen Schade...geschrieben in C..

Autor: Uwe S. (de0508)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Manuel,

ich finde den Code super leserlich und auch sehr brauchbar.

Jeder Anfänger und Fortgeschrittene kann sich so an deinem Programm 
weiterbilden.

Was der Kommentar von Thomas soll, verstehe ich nicht !

Vielleicht mag er das selbe Problem in Prolog oder Forth beschreiben und 
sein Programm hier einstellen ?

Autor: Uwe S. (de0508)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir jetzt dein Programm angesehen und habe noch eine Anmerkung 
zum Prescale des ADC, dieser soll laut Datenblatt atMega48 so gewählt 
werden, dass der ADC zwischen 50kHz und 250kHz läuft.

Das erreiche ich nur mit:
void init_ADC(void)
:
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (0<< ADPS0);  //Frequenzvorteiler auf 64

Des weiteren würde ich mehr mit #defines arbeiten um den Code lesbarer 
zu machen.

Z.B. die Positionen auf dem LCD-Display
lcd_setcursor (8,2);

Die Variable
Timer_anhalten
 wird in der ISR verändert und hat kein 'volatile' in der Deklaration. 
Gibt das keine Probleme ?

Für was der ADC Wert gebraucht wird, habe ich noch nicht verstanden.

Mein avr-gcc läuft nun für den atMega48 durch.

.

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Programmcode, Danke fürs reinstellen.

Mich würde auch noch der Schaltplan interessieren, oder habe ich ihn 
übersehen?

Autor: Uwe S. (de0508)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin,

ich habe den Info.txt erweitert, dort kannst Du alle Ports nun finden.

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, Danke.

Ein echter Schaltplan wäre mir zwar lieber, aber so komme ich auch 
zurecht.

Gruß
Martin

Autor: Manuel B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

sorry, ich war in den letzten Wochen aufgrund mehrerer Projekte, Schule 
und Arbeit recht eingespannt.
Wenn noch jemand Interesse an einem Schaltplan hat, werde ich naütrlich 
einen Erstellen.
Dabei ist jedoch auch alles im Quellcode enthalten (LCD.H und .C gibt 
an, wie das LCD angeschlossen wird, was man natürlich auch beliebig 
verändern kann). Auch, wie Taster etc. angeschlossen sind, könnte man 
über PXxx leicht finden. Natürlich wäre es sinnvoller alles über DEFINES 
zu gestalten, da es die Lesbarkeit nochmals erhöht. Wenn ich Zeit finde, 
werde ich mal am Wochenende über einen Schaltplan gehen und die 
Schaltung nochmal ein wenig lesbarer machen.

Bei Interesse an weiteren Infos oder den Schaltplan bitte "antworten" 
oder ne Mail an mb001@hotmail.de

Mit freundlichen Grüßen

Manuel B.

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.