Hi, vorweg: ich weiß, dass es zu diesem Controller schon mehr als Genug Themen gibt, aber dort habe ich leider nichts passendes gefunden. Ich habe ein 16x2 LCD vom Typ EW162B0YLY auf dem Laut Datenblatt ein EU-KS0066 verbaut ist. Bei dem Datenblatt hatte ich schon die ersten Probleme: Pin 3 (V0) ist hier nicht Beschaltet. So weit ich weiß, müsste hier doch die Kontrastspannung angelegt werden? Von einer Kontrastspannung wird nirgends etwas erwähnt. Auf diversen Seiten findet man oft die Faustregel, dass Display mit "normalem Temperaturbereich" eine positive Kontrastspannung, um die 1V meistens, benötigen und dass Displays mit erweitertem Temperaturbereich eine negative Kontrastspannung benötigen. Laut Datenblatt hat das o.g. Display einen Temperaturbereich von -20 bis +70°C und wird als "wide temp" bezeichnet. Somit bräuchte ich doch eine negative Kontrastspannung? Ich bekomme das Display leider einfach nicht zum laufen. Weder in 4 bit, noch in 8 bit; weder mit eigenen Routinen, noch mit denen von P. Fleury oder anderen. Das einzige Lebenszeichen das das Display von sich gibt sind schwarze Kästchen an den Stellen 8 bis 12 in beiden Zeilen. Die schwarzen Kästchen verblassen aber in wenigen Sekunden und sind dann ganz weg. -> Problem mit Initialisierung + Kontrastspannung? Angeschlossen habe ich das Display an einem Atmega168 (20MHz) wie folgt: DB0-7 an PD0-7 RS an PB1 RW an PB2 E an PB3 Im 4 bit-Modus habe ich DB0-DB3 offen gelassen oder testweise auch auf GND gelegt. Ich habe ich mit positiver, negativer oder wie im Datenblatt vermerkt ohne Kontrastspannung gearbeitet. (Negative Kontrastspannung habe ich mit mit einem MAX232 erzeugt). Mittlerweile bin ich mit meinem Latein am Ende und komme einfach nicht mehr weiter. Kennt jemand eine Routine, die definitiv auf einem KS0066 läuft und kann mir was zu meiner Kontrastspannung sagen? Außerdem bin ich mittlerweile auch ein wenig mit der Ansteuerung durcheinander gekommen. Laut Datenblatt werden erst RS und RW gesetzt (soweit noch klar), aber dann wird E auf high gezogen, Die Daten geschrieben und dann E auf Low gezogen. Bei anderen Displays habe ich bisher immer RS und RW gesetzt, dann die Daten geschrieben und danach E von High auf Low gesetzt (fallende Flanke übernimmt Daten). Brauche ich hier noch eine steigende Flanke bevor ich die Daten überhaupt schreiben darf? (Habe das auch mal im Code geschrieben gehabt, aber das hatte auch nichts funktioniert. Quellcode habe ich keinen mehr, da ich in den letzten Tagen immer wieder von vorne angefangen habe aber nichts funktioniert hat. Vielen Dank schonmal für jede Antwort! mfg Phil
Phil Mo schrieb: > So weit ich weiß, müsste hier doch die Kontrastspannung angelegt werden? Dann kennst du das Display vielleicht besser als der Hersteller ;-) Wenn der schreibt "3 VO NO CONNECTOR", dann wird er das wohl so meinen.
Hi, natürlich kenne ich das Display/den Controller nicht besser als der Hersteller. ;-) Ich habe bisher nur immer von entweder positiver oder negativer Kontrastspannung gelesen, nie aber von keiner. Irritiert hat mich, dass von diesem Pin eine Leiterbahn quer über die Platine geht. Das kann aber auch eine Leiterbahn ins Nichts sein die dem 0815 Layout geschuldet ist. In den letzten Tagen habe ich nochmal neuen Code geschrieben, das Datenblatt mehrmals durch gelesen und die Verkabelung überprüft und auch andere Displays getestet (habe mehrere von diesem Typ). Leider bekomme ich es einfach nicht zum Laufen. Ich bin noch neu in C, es kann also durchaus sein, dass der Code der größte Mist ist und es anders viel eleganter geht und dann das Display auch läuft. Über Kritik/Hinweise würde ich mich freuen. Was mir noch aufgefallen ist: Wenn ich hinten in der Nähe des Controllers auf die Platine und vorne am Displayrahmen drücke, bekomme ich Streifen (die Unterstriche, die eigentlich beim Initialisieren kommen sollten) oder Vierecke. Allerdings verschwinden sie und sind unabhängig von meinem Code. mfg Phil Edit: Falls es wichtig ist, ich schreibe mit Eclipse (C-Plugin) und programmiere einen ATmega168 (20MHz) über ein Rumpus mit entsprechender Firmware.
:
Bearbeitet durch User
>Ich bin noch neu in C, es kann also durchaus sein, dass der Code der >größte Mist ist Es kann auch sein das deine Schaltung einfach fehlerhaft verkabelt ist. Auch wenn du das schon zehn mal kontrolliert hast muss es ja noch nicht korrekt sein.
Auch nutze diese LCDs, habe aber keine Probleme . Anschluss 3 ist zwar herrausgeführt , aber die Kontrastspannug wird auf der Trägerleiterplatte, schon vor eingestellt. Wenn man dort die Widerstände entfernt..oder einen der in Reihe liegt kann man über Pin3 selber regeln wie gewohnt. Irgendwo steht das beschrieben , finde es aber nicht mehr.. Ich habe nur den Mangel, dass die Polarität der BackLED im Datenblatt genau umgedreht zu der der Realität beschrieben ist.. Wo GND sein soll ist bei mit +Ub also Anode (10 Ohm vorschalten bei +5V) Gerhard
:
Bearbeitet durch User
Hallo Gerhard, Die Sache mit der Kontrastspannung ist interessant, danke für den Hinweis. Wie steuerst Du denn Dein Display an? Könntest Du mir den Code zukommen lassen? Vielleicht finde ich ja dann was ich falsch mache. Falls du Deinen Code nicht rausgeben kannst/willst, könntest Du Dir dann meinen Code mal anschauen den ich ein paar Beiträge weiter oben angehängt habe? Vielen Dank schonmal! mfg Phil
>Muffin versuchts auch mit Scherzen ab und zu.. Sorry
Versuch's nicht, es mißlingt Dir ständig.
John Wayne sein Schwiegervater
Hi, meine Displays funktionieren jetzt endlich. Ich habe es geschafft zum Testen genau die 4 Displays zu erwischen die defekt waren. Wenn ich den Code fertig überarbeitet habe kann ich ihn gerne hochladen wenn Interesse besteht. mfg Phil
Phil Mo schrieb: > Ich habe es geschafft zum > Testen genau die 4 Displays zu erwischen die defekt waren. sicher? manchmal (oft?) ist es nur ein Problem vom Leitgummi, Blechösen gerade biegen, LCD abheben und neu aufsetzen könnte viel verrutschte Leitgummis wieder richten, schlimmer kanns ja nicht werden, nur besser. Evtl. kannst du von deinen 4 einige wiederbeleben. Phil Mo schrieb: > Die schwarzen > Kästchen verblassen aber in wenigen Sekunden und sind dann ganz weg. das deutet darauf hin bevor die Initialisierung gelaufen ist. Schwarze Kästchen vor der Initialisierung sind erst mal gut, wenn die weggehen bevor die Initialisierung kommt sieht es nach Leitgummi aus.
:
Bearbeitet durch User
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.