Forum: Mikrocontroller und Digitale Elektronik LCD Ansteuerung, was tun


von kniffler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

seit einigen Tagen arbeite ich mich in das Thema µC ein. Gehe nach und 
nach die Beispiele/Übungen auf der Seite durch

http://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte

Daten:

Ich benutze das Pollin Board und habe ein LCD 202A LED von Reichelt 
(2x16)

Habe das LCD nach Handbuch (siehe Anhang) angeschlossen.DB0-DB7 habe ich 
frei gelassen hoffe das ist richtig?

Als Test Programm wollte ich gerne den Code von der Beginnerseite 
verwenden.
Das Übersetzen mit AVR-Studio funktioniert soweit. Erhalte keine 
Fehlermeldung. Wenn ich dann die HEX-Datei mit PonyProg übertrage 
passiert nichts.

Im LCD wird in der ersten Zeile nur dunkle Balken angezeigt. Kontrats 
liegt auf 5V.
Müsste ich hier die Spannung über ein POTI runter regeln?

Wie gesagt da ich relativ neu bin, kann ich noch nicht viel mit dem CODE 
anfangen.

Wie muss man die Anpassungen in der Headerdatei deuten?
_____________________________________________________________
//  LCD DB4-DB7 <-->  PORTD Bit PD4-PD7
#define LCD_PORT      PORTD
#define LCD_DDR       DDRD
#define LCD_DB        PD4

//  LCD RS      <-->  PORTD Bit PD4     (RS: 1=Data, 0=Command)
#define LCD_RS        PD2

//  LCD EN      <-->  PORTD Bit PD5     (EN: 1-Impuls für Daten)
#define LCD_EN        PD3
__________________________________________________________________

Laut Datenblatt wäre der RS auf Pin4 des LCD. Ist doch richtig das damit 
die Pins vom LCD gemeint sind oder?

EN wäre auf Pin 6.

Aber was soll LCD_DB sein?? Ist das der R/W Kontakt beim LCD?

Könnt ihr mir weiterhelfen, das ich mal ein Schriftzug auf dem LCD sehe?
Tue mich momentan noch schwer dies in Betrieb zu nehmen und den Code aus 
der LCD-Routine.c und LCD-Routine.h zu verstehen.

Wie könnte man am besten vorgehen, dass man selber irgendwann komplett 
alleine ein LCD in Betrieb nehmen kann?

Vielen Dank im Voraus.

Bei Fragen einfach los schreiben.

von Karl (Gast)


Lesenswert?

Du solltest alles wie im Kurs beschrieben anschließen, also auch DB0 bis 
DB7.

Das Pollin-Board kann einen Anfänger zum Wahnsinn treiben, da je nach 
Mikrocontroller die Belegung unterschiedlich sein kann und nicht immer 
stimmen muss. Da hilft manchmal nur nachmessen.

von g457 (Gast)


Lesenswert?

> DB0-DB7 habe ich frei gelassen hoffe das ist richtig?

∗hust∗ nein

> Aber was soll LCD_DB sein??

obiges, im Speziellen 4-7

HTH

von Kniffler (Gast)


Lesenswert?

Erstmal vielen Dank für die Antworten

Hatte das so verstanden das DB0-7 nicht verwendet wird.

Das heißt wenn ich diese alle anschließe würde ich doch das LCD im 8 Bit 
-Modus betreiben oder?

Das heißt die Aussage im Datenblatt Pin offen stimmt nicht ja?

Zu den dunklen Balken am LCD. Ist das soweit richtig oder müsste ich den 
Kontrast noch über ein POTI ändern?

von Jakob B. (teddynator)


Lesenswert?

Kniffler schrieb:
> Das heißt wenn ich diese alle anschließe würde ich doch das LCD im 8 Bit
>
> -Modus betreiben oder?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Anschließen wie hier beschrieben, den zugehörigen Code benutzen und 
alles funktioniert wunderbar. (4 Bit Modus)

Statt dem Pollin board würde ich dir eher eine Lochrasterplatine 
empfehlen. uC, C und Wannenstecker drauf. Dann kommst du auch direkt an 
die uC Pins und kannst dort das Display anschließen. Ich würde die 
Methode mit dem Pollin Board Stecker wesentlich umständlicher finden.

Kniffler schrieb:
> Zu den dunklen Balken am LCD. Ist das soweit richtig oder müsste ich den
>
> Kontrast noch über ein POTI ändern?

Nein das ist schon gut so.

von kniffler (Gast)


Lesenswert?

Nabend,

habe den Beispielcode von

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

verwendet und auch so die Verdrahtung vorgenommen.

Debuggen funktioniert einwandfrei.

Jedoch wird mir immer noch kein Test sondern nur viele dunkle Balken in 
der ersten Reihe angezeigt. Woran liegt das.

Muss was am Kontrast verstellt werden?

von J.-u. G. (juwe)


Lesenswert?

kniffler schrieb:
> Jedoch wird mir immer noch kein Test sondern nur viele dunkle Balken in
> der ersten Reihe angezeigt. Woran liegt das.
>
> Muss was am Kontrast verstellt werden?

Höchstwahrscheinlich. Aber nur langsam bzw. in kleinen Schritten 
verstellen, da der "gute" Bereich oftmals ziemlich klein ist.

von holger (Gast)


Lesenswert?

>Jedoch wird mir immer noch kein Test sondern nur viele dunkle Balken in
>der ersten Reihe angezeigt. Woran liegt das.

Display nicht richtig initialisiert. Der Compiler meckert
nicht zufällig über eine nicht definierte F_CPU oder fehlende
Optimierung für die delays? Poste mal deinen kompletten Code.
Die RW Leitung liegt auch wirklich an GND?

von kniffler (Gast)


Lesenswert?

Hallo,

war heute noch mal im Elektronikladen, so dass ich heute in Ruhe mal das 
LCD anschließen konnte.

Habe es wie hier beschrieben angeschlossen(PD0-3 frei).

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Der Code ist 1:1.

Habe die Kontrastspannung über Poti runtergeregelt.

Jedoch klappt es immer noch nicht mit der Anzeige.

Verzweifel schon langsam.

Kann mir noch jemand weiterhelfen?

Hat jemand ein Pollinboard mit dem LCD 202A LED von Reichelt und könnte 
mir seinen Code zuschicken?

Oder muss ich die Frequenz von der CPU ändern?

Was könnte ich noch überprüfen?

von Eumel (Gast)


Lesenswert?

Die Frequenz der CPU sollte schon der im Tutorial 
entsprechen...niedriger geht auch. Höher kann Probleme bereiten.

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.