Hallo!
Habe ein Problem:
Wenn ich das Display wie im Tutorial beschrieben verkabele, dann ist
das Datenbit6 immer auf high! Auch wenn das Display nur mit Strom
versorgt wird und nicht mit dem µC verbunden ist. Dadurch kann ich
natürlich keine Befehle senden, weil bit 6 und (im zweiten nibble) bit
2 immer high ist. Alle anderen Datenpins und auch die RS, RW, EN sind
open, so wie es ja auch sein sollte, oder???
Bin ich zu blöd dafür, oder gibts es da etwas was ich wissen müsste?
Hat da jemand einen Tipp???
Gruß
Andi
Hat niemand eine Idee diesbezüglich?
Ich hab einfach mal nen Pulldown dran gehangen... danach konnte der µC
das LCD ansteuern, aber sehr ungenau... teilweise werden die Befehle
von LCD falsch verstanden! und zwar genau an bit 2 oder bit 6 liegt
dann der falsche wert grrrr
Ist vielleicht der HD44780 defekt?
Hab leider kein zweites LCD zum testen da :(
Gruß
Andi
Hi!
Zunächst mal danke für deine Antwort
Timing habe ich auch schonmal langsamer gemacht, bringt nüscht.
Leitungen zum LCD sind momentan gerade mal 5cm... da dürfte es
eigentlich nicht dran liegen, oder?
Aber das mit dem Timing löst ja auch nicht das Problem mit dem
6.Datenbit (immer high). Das mit dem Pull-Down ist doch nicht üblich,
oder doch? Hab ich noch nirgends gesehen!
Also einen Verdrahtungsfehler kann ich außschließen, denn wie oben
schonmal beschrieben sind wenn ich nur gnd, vcc und vee anschließe alle
datenleitungen und die RS, RW, EN open (liegen so zwischen 0,5 und 2V),
außer die datenleitung6: die liegt auf 5V.
Da ist ein KS0076B/KS0063, HD44780 kompatibel drauf! (Display von
reichelt). Da ist halt nur dieser schwarze Kunststoff drüber, so dass
man den chip selber nicht sehen kann!
Hi!
Also ich habe mein HD44780 fest im vier Bit Modus angeschlossen d.h.
nur das High-nibble.
Bei angelegter Spannung LCD 5V Pin 1 und 2 hab ich folgendes
gemessen:
Pin 4 RS = High
Pin 5 R/W = High
Pin 6 E = LOW
Verdammt bin hab ausversehen Submit gedrückt!
Also ich habe mein HD44780 fest im vier Bit Modus angeschlossen d.h.
nur das High-Nibble und RS,R/W,E .
Bei angelegter Spannung LCD 5V Pin 1 und 2 hab ich folgendes
gemessen:
Pin 4 RS = High
Pin 5 R/W = High
Pin 6 E = LOW
Pin 7-11 (DB0-DB4)= Low
Pin 12 (DB5)= High
Pin 13 (DB6) = LOW
Pin 14 (DB7) = LOW
Also dein LCD sollte also Funzen wenn deine Initalisierungs-Sequenz
stimmt.
Sollte es trotzdem nicht gehen einfach umtauschen.
Gruß Klaus
Ach ja!
ich hoffe Du hast dein LCD richtig angeschlossen!
bei der 8 Bit Version brauchste den ganzen Port + Steuersignale
bei der 4 Bit Version nur ein Port aber das Low-Nibble des Ports muss
mit dem High-Nibble am Display verbunden werden.
Die Steursignale werden mit dem High-Nibble am selben Port ausgegeben.
Ich denke das ist dir ja bekannt!
Gruß Klaus
Zunächst mal danke an alle, die geholfen haben, aber ich habe das
Problem nun gelöst:
Ein Kurzschluss auf der LCD-Platine durch einen "Lötzinn-Flocken" der
sich zwischen LCD und Platine festgeklemmt hat... das muss man erstmal
erkennen unter der 5x Lupe grrrrr
Jetzt läuft alles bestens! Werde mich nun an die DCF-Signale
begeben...
Gruß
Andi
schon merkwürdig, ich arbeite auch gerade mit einem LCD und habe die
gleichen Probleme wie du. Jedes Programm läuft einfach nicht. Ausser
den vier Reihen aus schwarzen Rechtecken zeigt sich nichts auf dem
Display. Habe nie eine Änderung auf dem Display gesehen. Dann habe ich
mal diesen Beitrag gefunden und bin auch beigegangen und habe die LCD
Pins durchgemessen nachdem ich es wie folgt angeschlossen habe.
Vss GND
VDD Vcc
VEE Vcc (ist so bei dem EA 204)
RS GND
R/W GND
E GND
messe an D0,D1,D4,D6,RES 5V. Res ist wohl normal, aber die anderen
anscheinend nicht.
Die Lötstellen sehen auch ganz gut aus. Habe mir nur eine
Adapterplatine fertig gemacht, dass ich von Rastermaß 2 auf 2,54 für
mein Steckbrett komme.
Ist das LCD jetzt defekt? Was kann ich noch testen? Wäre echt schade,
wären 21 einfach so in den Sand gesetzt, ohne das ich es jemals
richtig genutzt habe. Habe mich lediglich an der Hintergrundbeleuchtung
erfreut ;)
Hallo Stephan!
Das LCD Display funzt nur wenn Du eine sogenannte Initialisierung
durchführst.
Das LCD kann im 4 Bit oder 8 Bit modus Betrieben werden.
Das Du nur Rechtecke siehst liegt wahrscheinlich am Timinig überprüf
mal deine Routine.
Gruß Klaus
also ich habe schon mehrere Routinen ausprobiert und keine hat
funktioniert, deswegen bin ich froh das ich diesen Beitrag gefunden
habe. Deswegen möchte ich gerne einen Hardwaredefekt ausschliessen. Da
ich weiter oben gelesen habe, dass der Andreas ein ähnliches Problem
hatte, bin ich davon ausgegangen, dass die Spannungen an den Datenpins
nicht normal sind.
hallo Klaus
also es ist ein EA DIP 204-4 4x20 LCD mit einem KS0073 Kontroller,
welcher laut Herstellerangabe "nahezu 100% HD44780 kompatibel" ist.
Ich versuche das LCD im 4bit Modus zu betreiben, habe auch schon den
8bit Modus probiert, aber ohne Erfolg. Da ich schon über 40std in
Routinentests und umprogrammieren beschäftigt habe, möchte ich ein
Hardwarefehler ausschliessen. Wie kann man es testen, ohne das man
etwas an das LCD senden muß.
Hallo Stephan!
wenn Du dein Display mit Spannung versorgst und dein Kontrast richtig
eingestellt ist, sollte ohne Initialisierung zumindest mal
die Reihe 2 und 4 angezeigt werden. (lauter vierecke)
Wie hast Du den vier Bit Modus realisert??
Gruß Klaus
z.B. http://www.mikrocontroller.net/tutorial/lcd Habe auch den Takt auf
4MHz gestellt, wie verlangt.
Stimmt, habe auch nicht gesagt, dass ich einen Mega8 mit Assembler
benutze.
Würde ich eine fertige Hex Datei haben und eine Anleitung an welchem
Port was anzuschliessen ist, dann könnte ich auch ein in C
programmiertes Programm benutzen. Ich bin leider selber nicht in der
Lage etwas in C zu programmieren. Assembler finde ich schön
verständlich und nachvollziehbar; bei C würde ich wohl den Überblick
verlieren.
Naja wie gesagt, ich glaube bei den ganzen Programmen die ich im Netz
gefunden und ausprobiert habe, möchte ich einen Hardwaredefekt als
nächstes ausschliessen. Deswegen auch die Frage ob man an den Datenpins
bei Minimalbeschaltung eine Spannung messen darf.
Hallo Stephan!
Siehe oben da hab ich mal an meinem LCD gemessen.
Die Anleitung sagt ja schon aus wie Du dein LCD an Port Anschliessen
musst.
Sind bei dir die Balken zusehen??
Klaus
hmmm, habe auch mal nur Spannung an Pin 1 und 2 angelegt und messe bei
RS, R/W, E, D2,D3,D5,D7 Low. D0,D1,D4,D6 sind auf High. Also nicht ganz
wie bei dir.
Werde nochmals das mikrocontroller.net Tutorial durchführen, vielleicht
hat sich ja doch irgendwo ein Fehler eingeschlichen. Das Anschliessen
geht ja mit einem Steckbrett ganz schnell.
Auf dem Display sehe ich bei Spannungsversorgung und Kontrast vier, mit
schwarzen Rechtecken gefüllte Zeilen. Es soll ja bedeuten, dass die
Initialisierung noch nicht stattgefunden hat, aber wie soll es auch
stattfinden, wenn an manchen Pins ein High-Signal anliegt, dann kann
der uC diese ja nicht mehr ansprechen.
Aber ich werde nicht so schnell aufgeben.
Da ich zufälliger Weise das gleiche Display hier habe :) denke ich, dass
ich die Lösung kenne:
Probier mal folgendes:
VSS (Pin 1) -> GND
VCC (Pin 2) -> 5V
VEE (Pin 3) -> GND !!!!! (wenn ich die bei mir an 5V lege erkenne ich
gar nix, weil der Kontrast zu stark ist!)
RS (Pin 4) -> GND
R/W (Pin 5) -> GND
EN (Pin 6) -> Ein Kabel dran was du an GND legst, aber dort abmachen
kannst und kurz an 5V tippen kannst
DB0,1,2,6,7 -> GND
DB3,4,5 -> 5V
Dann kurz mit dem EN-Kabel auf 5V und wieder auf GND... danach solltest
du ein leeres Display haben. Wenn das funktioniert und der µC das nicht
schafft, liegt es am Code oder an der Verkabelung. Das LCD ist dann
aber in jedem Fall in Ordnung!
Gruß
Andi