LCD Display - 80C537

Gast #497146
Lesenswert?
• ▲
▼
Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen.
Ich versuche über meinen Controler ein LCD Display anzusteuern.
Die Initialisierung funktioniert auch gut. Wenn ich jetzt einen oder 
mehrere Buchstaben auf das Display schreiben will, zeigt er Sie erst 
nicht an, wenn ich den MC reset, steht auf einmal der Text auf dem 
Display.

Auch komisch fand ich wenn ich die buchstaben ausgabe mittels einer 
for-schleife machen wollte, das dann hinterher das ganze lcd ausgefüllt 
ist mit dem zu letzt ausgegebenen zeichen!??

Und das Programm lief immer in einer Endlosschleife, daher hab ich unten 
die While schleife eingefügt, damit er nicht von vorne beginnt. hatte in 
erinnerung das ich mit return 0; das programm normal beende, aber das 
tut er nicht er haut mir dann mein terminal-programm seiten weise zu mit 
dem text "Hallo.." den ich am anfang des Programms stehen haben.

Der Code ist nicht lang, alsobraucht keine angst haben.

Bedanke mich schonmal für euere Hilfe,
mfg danny
Angehängte Dateien:
Gast #497150
Lesenswert?
• ▲
▼
Hallo,

ein Blich in das Timing-Diagramm des Display-Controllers sollte 
offenbaren:

Die Folge L-H-L an E sagt dem Display, daß es die Daten übernehmen soll.

Daten, RS, RW MÜSSEN also schon stabil anliegen, BEVOR E auf H geht und 
stabil bleiben BIS E wieder auf L ist.

Was macht Dein Programm an diesen Stellen?
E auf H (hier erwarete das Display aber schon gültige Daten...)
dann Daten raus (zu spät...), E auf L...

Gruß aus Berlin
Michael
Gast #497209
Lesenswert?
• ▲
▼
Hallo, ich habe es so probiert wie du meinst! Aber es klappt genauso 
wenig.
Im Daten Blatt setht RS,RW H und dann E auf H und dann müssen erst die 
daten anliegen und werden mit E auf L übernommen :( so wie in meinem 
programm!
Gast #497234
Lesenswert?
• ▲
▼
Hallo,

ok, variiert etwas in den Dokus. Beim HD44780 ist für die Zeit zwischen 
E auf H und Daten gültig keine Minimal-Zeit angegeben, nur die 
Maximal-Zeit von 160ns zwischen E auf H und Daten gültig.
Wäre mir zu unsicher, ist aber wohl nicht die Ursache für Dein 
Problem...

Was ist mit den Wartezeiten beim Init?
Min. 15ms nach Erreichen der Betriebsspannung bevor das Display 
überhaupt ansprechbar ist?
Rund 5ms zwischen dem Senden des ersten und des zweiten Kommandos?

Scheint so, als wenn das Display das erste Init ignoriert, weil es zu 
früh beginnt und erst auf das nächste reagiert, wenn Du Reset machst?

Gruß aus Berlin
Michael
Gast #497240
Lesenswert?
• ▲
▼
Also ich glaube die Initialisierung klappt. Denn wenn die 
Betriebspannung anliegt, ist in der ersten reihe nur kästchen zu sehen, 
nach der initialisierung sind die weg! Ich mein dann hat es doch 
geklappt, so hab ich es verstanden!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.