Forum: Mikrocontroller und Digitale Elektronik LCD-Display Ansteuern mit ATmega2561 funktioniert nicht


von Cyberfoxx (Gast)


Angehängte Dateien:

Lesenswert?

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.

von holger (Gast)


Lesenswert?

>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.

von Cyberfoxx (Gast)


Lesenswert?

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

von holger (Gast)


Lesenswert?


von Cyberfoxx (Gast)


Lesenswert?

wow! Diese seite ist echt spitze!! danke nochmals ;-)

von Cyberfoxx (Gast)


Lesenswert?

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?

von Cyberfoxx (Gast)


Lesenswert?

kann dies so funktionieren?

//  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
#define LCD_PORT      (PORTE>>4)
#define LCD_DDR       DDRE
#define LCD_DB        PE4

von edizius (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.