16x4 LCD

Gast #85186
Lesenswert?

Hallo!

Ich möchte dieses Display (anhang) ansteuern. Versorgung und Kontrast
sind bereits eingestellt, aber ich bringe nichts auf die Anzeige.
Arbeite mit einem 8031uC. Die Daten schicke ich über Port1, Enable, R/W
und RS über 3 bei mir freie Pins am Port 3: 3.5, 3.4, 3.3 (in dieser
Reihenfolge). Die Daten kommen richtig an, in richtiger Reihenfolge
(siehe Anhang).

Bitte um Hilfe

MfG, Thomas Reichssöllner
Angehängte Dateien:
Gast #85188
Lesenswert?

nichts für ungut, aber wie erkennst du am Datenblatt dass die Daten
richtig ankommen?
Die beliebtesten Fehler:
*) Enable zu kurz, min. 250us
*) Cycle time zu kurz
*) falsche Initialisierung, (dreimal den Initwert schicken mit
Einhaltung der Pausen, Busyabfrage ist dabei nicht möglich, danach
Einstellung der Displayparameter; Details sollten im Datenblatt
stehen)

grüsse leo9
Gast #85189
Lesenswert?

Enable min. 250µs... das werde ich probieren... hab ich gar nicht
gewusst (-> Datenblatt min. 280ns). Auf Pausen (Busyabfrage habe ich
gelesen kann man mit Warteschleifen > 40µs umgehen) usw habe ich
geachtet -> Das derzeitige Programm liegt im Anhang. Wem es
interessiert: Das vollständige Datenblatt findet man unter Conrad:
http://www.produktinfo.conrad.com/cgi-bin/dlc/dlc.cgi?art=184691&lang=DE

Schon mal ein Dankeschön vorweg

MfG Thomas
Angehängte Dateien:
Gast #85190
Lesenswert?

Enable time ist mit 250 us ein wenig übertrieben. Aber gut ist wenn du
dich an die Zeiten im Datenblatt hälst plus etwas toleranz. Da dein
Quarz auch nicht exakt schwingt. Hoffe du hast die Zeiten deinem Quarz
angepasst?!

im Anhang mal ein Display ebenfalls mit KS0066 Controller. Das Timing
ist  fast das selbe.

Ich kenn leider die 8031 nicht so gut.

Am besten du gehst deinen Code stück für stück durch. Versuch so zu
denken wie dein Controller. Der macht nur das was du ihm sagst.

Die Pausenzeiten einhalten. Und die richtigen Ausgänge schalten. Meißt
ist es ein kleiner Fehler.

Wenn du verzweifelst- dann alles löschen und noch mal schritt für
schritt von vorn anfangen

Gruss
Chriss
Angehängte Dateien:
Gast #85192
Lesenswert?

Hallo

Du legst doch E auf High und legst dann erst die Daten auf den Bus.

Versuch das mal  so.

E = Low

Daten auf Port legen
warten laut Datenblatt min 500 nS
E = High  ( LOW -> High = RS und RW werden ausgewertet )
Warten laut Datenblatt min 450 ns
E = Low   ( High - > LOW = Daten werden übernommen )

mfg

Dieter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren