Forum: Mikrocontroller und Digitale Elektronik 16x4 LCD


von Thomas Reichssöllner (Gast)


Angehängte Dateien:

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

von Chriss (Gast)


Lesenswert?

Dein Code zur Ansteuerung wär nicht schlecht.

von leo9 (Gast)


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

von Thomas Reichssöllner (Gast)


Angehängte Dateien:

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

von Chriss (Gast)


Angehängte Dateien:

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

von leo9 (Gast)


Lesenswert?

Sorry wegen den 250us, hab schon wieder mal ein paar Nullen
"übersehen", sind natürlich 250ns (Nanosekunden)

grüsse leo9

von Dieter B (Gast)


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

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.