mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD44870 initialisiert nicht


Autor: Moritz Becker (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen

Ich habe ein Problem mit der Initialisierung meines LCD.

Ich habe alles so angeschlossen, wie es im Source steht.
Mega 0 an LCD 11
     1        12
     2        13
     3        14
     4        4
     5        5
     6        6
Ich habe auch schon die BusyFlag abfrage durch eine Zeit ersetzt,
ohne Erfolg. Statt PortD habe ich auch schon PortA versucht.
Vielleicht habe ich was im Makefile falsch?
Das Display lief schon einmal an einem Mega8 (allerdings mit
AVRPascal)
Abblokkondensatoren habe ich und der Reset des AVR ist mit einem
RC-Glied beschaltet. (Ich kann ihn ohne Probleme programmieren und
ein Blink - Testprogramm läuft auch soweit)

Kann mir jemand einen Hinweis geben?
Im Datenblatt des LCD steht etwas davon, dass vor der Initialisierung
kein Busyflag ausgegeben werden kann, aber dann hätte doch das
Ersetzen durch eine Zeit helfen müssen, oder?
Ich weiß jedenfalls im Moment nicht weiter.

Gruß,

Moritz Becker

PS Ich hoffe, dass ich keine Angaben vergessen habe.

Autor: Moritz Becker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch das Datenblatt des LCD.
Ich sehe gerade, dass ich vergessen habe zu schreiben,
dass es sich um das 4x16 LCD handelt.

Autor: Moritz Becker (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anhang war zu groß, daher nur die entsprechende Seite.

Autor: Klaus...(Norad) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja ich hab mal den Code Angeschaut aber  kenn mich bei AVR nicht so
aus also ich Tipp mal, dass das Timining nicht stimmt scheint mir etwas
zulange.

Bei der Sache Enable hab ich bei mir festgestellt, das man nach der
High --> Low  etwas Pause machen sollte damit der LCD-Controller die
Daten weiterleiten kann und wieder Aufnahme fähig ist.

Also ungefähr so EN = HIGH, DATEN zum BUS, EN = LOW, Wait= ca. 1 msec

einfach ausprobieren.


Gruß Klaus

Autor: Moritz Becker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte man legt Daten an den Bus und "toggelt" den
Enable Pin. Also Daten anlegen, EN = High, EN = Low
Wird zumindest in den Routinen so gemacht die ich sonst so benutze.
(Der Code ist nicht von mir und scheint auch "überall" so zu
funktionieren)

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.