Hallo, ich hoffe ihr könnt mir weiter helfen :) ich hab an meinem Mega32 ein LCD im 4bit Modus im Betrieb! Funzt soweit auch alles super! nur wenn ich den controller spannungslos machen, kommt es manchmal vor, dass das LCD nichts mehr anzeigt! Ist aber nicht immer so, ganz wirkürlich! Jemand ne idee, wo das problem liegt !? Erst nach einem reset des controllers arbeitet das lcd wieder! controller bleibt aber nicht stehen, die anderen programmierten funktionen werden weiter abgearbeitet! Danke :)
>controller spannungslos machen Meinen du den ATmega oder den LCD mit spannungslos machen? Denn wenn der AVR Spannungslos ist können die weiteren Funktionen ja nicht gehen.
Hallo, sobald ich die ganze schaltung spannungslos machen und anschließend wieder in betrieb nehme MfG
Das kann ein Hinweis darauf sein, dass dein Software-Reset des LCD-Controllers durch den AVR zu einem ungünstigen Zeitpunkt kommt. Eventuell ist der Power-Up-Reset des LCD-Controllers noch nicht abgeschlossen. Warte mal länger mit deiner eigenen LCD-Initialisierung.
Hier gibt es soviel zu LCDs, aber irgendwie konnte ich des Rätsels Lösung nirgendwo finden. Also nicht gleich steinigen, wenn ichs zum x-ten Male frage :o) Habe ich 16x1 Display (161A) und es funktioniert alles eigentlich auch schön, bis auf das, dass nur die ersten 8 Zeichen geschrieben werden. Laut Datenblatt ist ab Adresse 40H im Display Data-RAM die Stelle 9, aber selbst sowas wie ... LCD_data('8') LCD_command(0b11000000) LCD_data('9') ... klappt nicht. Hab mit Sicherheit irgendwo einen kleinen Denkfehler, aber komme auch nach vielen Tüfteleien nicht drauf. Hab auch irgendwo gelesen, dass man ein einzeiliges 16-Stellen Display als zweizeiliges initialiert und dann automatisch die 16 Stellen geschrieben werden, das stimmt aber nicht! :D Vielen Dank schonmal, Lars (nicht hauen!)
Du mußt den 2-Zeilen Modus setzen, wenn es als 2*8 organisiert ist. Gib doch einfach 128 Bytes aus (mit 1s Pause), dann weißt Du, ab welcher Position die 2. Hälfte erscheint. Peter
Hab den 2-zeilen-Modus mit 38H gesetzt, nur gibt er mir dann gar nichts mehr aus. Auch nicht wenn ich lcd_home() vorher aufrufe :( Display bleibt leer!
Dann wird dein Display wohl nicht so organisiert sein :-) Nochmal: Peter hats schon vorgekaut. Schreib dir ein Programm, dass "ABCDEFGHIJKL....XYZ" ausgibt. Von mir aus mehrfach. Danach schaust du auf dein Display, welche Zeichen in der zweiten Hälfte auftauchen. Kleb erst mal nicht an den 16 Zeichen oder 2*8 Zeichen. Irgendwo im Display RAM werden schon Zellen sein, da an die 2.te Hälfte des Displays gemappt werden. Die musst du finden.
Alles sehr seltsam! Wenn ich nen elend langen String ausgebe, dann kommen 8 Zeichen und beim 2. Durchlauf kommen 8 Zeichen ab Zeichen 80,81,..... beim 3. Durchlauf dann ab 160,161,.... Aber immer nur die ersten 8 Stellen auf dem Display :D Ich geb gleich auf für heute, vielen Dank für euren Rat! :o) derLars
derLars wrote: > Hab den 2-zeilen-Modus mit 38H gesetzt, nur gibt er mir dann gar nichts > mehr aus. Ähem, benutzt Du nicht den 4-Bit Modus? 38H setzt jedenfalls auf 8-Bit. Peter
derLars wrote:
> Nein, ich benutze den 8-bit Modus! Mir egal ob 4 oder 8 Kabel :))))
Genau deshalb mag niemand das Hijacken eines älteren Threads.
Peter
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.