Hallo Community! ich habe ein 2 zeiliges LCD-Display (EA DIPS082-HNLED) an meinem ATmega2561 wie in der Datei "anschlüsseLCD.png" zu sehen ist angeschlossen. Allerdings leuchtet immer nur die Hintergrundbeleuchtung, ich kann aber kein Zeichen ausgeben. Die Funktionen habe ich wie im Datenblatt implementiert (siehe main.c) und der Code wird auch fehlerfrei kompiliert. Ich wollte das Display im 8-bit-Betrieb verwenden. Hierfür habe ich wie im Datenblatt beschrieben als erstes den Bitcode 0 0 0 0 1 1 1 0 0 0 in der Funktion init() an das Display geschickt. Muss sonst noch etwas ausgeführt werden bevor man ein Zeichen aufs Display schreiben kann? Danke schon mal im Vorraus.
>Muss sonst noch etwas ausgeführt werden bevor man ein Zeichen aufs >Display schreiben kann? Ein ganzer Haufen sogar. Der Enable Puls fehlt komplett bei dir. Such mal nach AVR und LCD.
Ou... stimmt, den habe ich vergessen. Laut Datenblatt wird das display mit fallender Flanke "enabled". Habe ich nun nachgerüstet aber funktioniert dennoch nicht. Werde mir mal das tutorial "AVR-Tutorial: LCD" (http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD) ansehen. Ist zwar alles in ASM aber das Prinzip sollte ja gleich bleiben. Sollte ich dann immer noch Probleme haben werde ich mich nochmals melden. Auf jeden Fall: Danke vielmals
>Ist zwar alles in ASM Gibts hier auch in C http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
wow! Diese seite ist echt spitze!! danke nochmals ;-)
Das mit der Header-Datei bearbeiten ist natürlich einfacher wie mein eingeschlagener Weg. Nun habe ich aber schon mein nächstes Problem: #define LCD_PORT PORTD #define LCD_DDR DDRD Meine Anschlüsse befinden sich auf 2 verschiedenen Ports (PORTD und PORTE) und dort auch noch je auf den PINS 4-7. Wie muss ich das nun hier einstellen?
kann dies so funktionieren? // LCD DB4-DB7 <--> PORTD Bit PD0-PD3 #define LCD_PORT (PORTE>>4) #define LCD_DDR DDRE #define LCD_DB PE4
Hallo nochmals... das Display funktioniert immernoch nicht. Habe mich an das Tutorial gehalten und in der lcd-routines.h die Anpassungen gemacht. In WinAVR (genau genommen Programmer's Notepad) habe ich die lcd-routines.c zusätzlich zur main.c hinzugefügt und das makefile angepasst. In meinem LCD ist der Treiber KS0066 eingebaut, aber ich denke es sollte ein kompatibler Treiber zum HD44780 (obwohl die Anschlüsse 15...Anode der LED-Hintergrundbeleuchtung (fakultativ) und 16...Kathode der LED-Hintergrundbeleuchtung (fakultativ) bei meinem Display nicht vorhanden sind) sein. wenn ich das "LCD Beispiel 1" auf den µC spiele, bleibt das Display leer. Außerdem wird das Display ziemlich warm wenn der µC länger läuft. Gibt es eine möglichkeit festzustellen ob das Display defekt ist oder ob die Fehjlerursache wo anderst liegt? (PS: Habe testhalber auch schon alle Anschlüsse an denen das Display hängt als Ausgänge definiert. Habe gelesen dass dies auch das Display zerstören könnte)
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.