Forum: Mikrocontroller und Digitale Elektronik LCD Display - 80C537


von Danny (Gast)


Angehängte Dateien:

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

von Michael U. (Gast)


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

von Danny (Gast)


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!

von Michael U. (Gast)


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

von Danny (Gast)


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!

von Danny (Gast)


Angehängte Dateien:

Lesenswert?

Hier einmal das Datasheet mit dem timings.

von Danny (Gast)


Lesenswert?

Weiß niemand eine Lösung?
Das Problem mit der vorschleife hat sich übrigens erledigt!

von Danny (Gast)


Lesenswert?

seufz find echt nichts dazu...

von Daniel W. (danny84)


Lesenswert?

Ahhhh, kann doch kein hoffnungsloser fall sein und das bei einem neuem 
LCD

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.