Hallo! Ich habe vor einiger Zeit ein 2x16-Zeichen-LCD aus einem (HP-)Drucker ausgebaut und versuche jetzt, es mit einem ATmega8 anzusteuern. Ich habe schon die Funktionen von AVR-GCC-Tutorial/LCD-Ansteuerung ausprobiert, aber auch nachdem ich lcd_init() aufgerufen habe, zeigt das Display noch einen schwarzen Balken an (es ändert sich also nichts). Wenn ich RS und EN vertausche und den ATmega neustarte, verschwindet der Balken, aber ich kann keine Zeichen an das Display schicken. Wie kann ich herausfinden, was für einen Controller das Display hat? (Auf dem Folienleiter, der dran war, steht "CXM16214 FRT-01 02.38W P0210046" und auf der Platine steht "DATA IMAGE PX16214 P184 REV:B", aber ich habe zu keiner der Bezeichnungen etwas Passendes gefunden)
Schau mal hier: www.tstonramp.com/~pddwebacc/cdm/CDM-16214.pdf mfg mf
Das Datenblatt kenne ich. Da steht ja drin, dass die Pins 13 und 14 VCC und GND sind. Auf der Platine sind aber die Leitungen an den Pins 1, 2 und 3 wesentlich dicker als die an den anderen Pins, also ist die Pinbelegung unwahrscheinlich (außerdem wird der schwarze Balken bei mir nur angezeigt, wenn ich 1 und 2 an die Spannungsversorgung anschließe - bei 13 und 14 rührt sich nichts). Im Datenblatt des Controllers SPLC782A steht zwar nicht, dass er HD44780-kompatibel ist, aber die Kommandos scheinen auf den ersten Blick identisch zu sein. Woran könnte es dann noch liegen, dass das Display den ATmega nicht zu verstehen scheint?
Achte mal auf das timing. Ähnliche (kompatible) Controller haben trotzdem manchmal Unterschiede im Timing. Wurde hier aber auch schon besprochen ;-)
Nochwas, der erste Blick genügt "nicht". Schau dir "alles" ganz genau an.
Zum Timing: Der Controller von meinem Display (wenn es denn ein SPLC... ist) hat teilweise längere maximale Ausführungszeiten für die Initialisierungsbefehele im Datenblatt stehen. Ich habe deswegen mal ein paar andere Quarze ausprobiert, um das Timing zu strecken/stauchen (auch wenn das wahrscheinlich nicht reicht). Dabei ist mir aufgefallen, dass der schwarze Balken auf dem Display verschwindet, wenn ich im Betrieb den Quarz aus der Fassung nehme. Und ich habe mir nochmal die Kommandos für die Display-Initialisierung angeschaut. Die sind auf jeden Fall gleich, es sollte also mindestens der Balken verschwinden.
Ich bin inzwischen auf die LCD-Library von Peter Fleury umgestiegen und habe mal ein anderes Display ausprobiert. Das neue Display hat erst funktioniert, als ich die Geschwindigkeit des Controllers halbiert habe und das alte hat sich auch mit einem 16tel der im Code eingestellten Frequenz nichtmal intialisieren lassen. Ich habe außerdem die Einstellungen für den Controller KS0073 ausprobiert - das neue Display funktioniert auch damit, das alte funktioniert auch damit nicht. Ist das ein eindeutiger Beweis, dass das Druckerdisplay keinen HD44780-kompatiblen Controller hat, oder kann ich noch irgendwas an der HD44780-Libary ändern, um das Display anzusteuern?
Wenn ich dich wäre würde ich an dieser Stelle den Versuch abbrechen und mich auf das funktionierende Display konzentrieren. Da weisst du wenigstens dass, wenn es nichts tut, es ziemlich sicher an deinem Progarmm liegt. Bei dem anderen ist es nur raten wo der Fehler sein könnte, der Frust ist höher als der mögliche Lerneffekt.
Es geht hier nicht um den Lerneffekt, sondern darum, mehr als ein 1x8- und ein 4x16-Display zur Verfügung zu haben, da das 1x8 zu klein und das 4x16 schon anderweitig verplant ist.
hmm, wie Verkäufer geschrieben hat, ist es ohne Infos über den Controller nur ein rumraten. Du hast ja schon probiert mit funktionierendem Code, aber ohne Erfolg. Dann solltest du weiter probieren und die Zeit investieren um etwas mehr, nämlich das was du brauchst, über das Display rauszufinden. Controllertyp, Befehle und Belegung der Anschlüsse, mehr kann ich dir nicht raten Viel Glück Andreas
Na also, nach diesem Erfolg mach weiter und pass dein Programm an.
Hey Nils, dein Beitrag ist jetzt schon etwas her, aber ich ich habe das selbe Display wie du ausgebaut und suche nun eine Lösung dieses anzusteuern. Leider ist dein Link von damals (http://www.dataimagelcd.com/product/cm/doc/cm160240.htm) nicht so hilfreich, da die Seite wohl defekt zu sein scheint. Was war denn damals deine Lösung? hast du eine Library gefunden? Besten Dank schon einmal Florian
Vielleicht ist das hier zutreffend? http://www.optologic.ch/data/CHARACTER_DISPLAYS/PDF/CM160240.PDF
Hallo Sebastian, Noch nachträglich vielen Dank für die Link zum Datenblatt. Es hat mir nämlich geholfen die recht eigenwillige Pinbelegung des PX16240 LCDs zu entwirren und das LCD mit Erfolg in Betrieb zu nehmen. Der Kontrast ist besonders gut. Es lohnt sich auf alle Fälle solche LCDs für Hobbyzwecke vom grimmigen Schicksal der vorzeitigen Entsorgung zu retten;-) Ich habe noch einige ausgebaute HP Drucker 16x1 LCDs mit der Aufschrift "SH7-9230" herumliegen. Die sind in einem braunen Plastikgehäuse eingebaut mit 14 poligen seitlichem Flachbandkabel Anschluss. Bei diesen LCDs ist das Pinout bis auf die Umkehrung von Vdd und Vss normal. Wenn man das nicht weiß geht das LCD natürlich durch Falschpolung kaputt! PIN1 = Vdd, PIN2=Vss, PIN3=Vlcd (Kontrast) der Rest ist wie üblich. PIN7-14 = DB0-7. Der Kontrast ist nicht ganz so gut wie beim PX16240 aber immer noch ganz gut. mfg, Gerhard
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.