Forum: Compiler & IDEs Atmega2560 8 Bit Steuerung LCD


von mattschach (Gast)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

ich versuche gerade ein HD44780 (16Pins) mit meinem Atmega2560
über gcc zum laufen zu bringen.

Hier die Anschlüsse:

RS -> C0
RW -> C1
E  -> C2

D0 -> A0
D1 -> A1
D2 -> A2
D3 -> A3
D4 -> A4
D5 -> A5
D6 -> A6
D7 -> A7

Contrast -> GND
Anode -> 33 Ohm +5V
Kathode -> GND

Das LCD ist auch beleuchtet (2Reihen), aber egal was für befehle ich 
sende es passiert nichts???
Kann es sein das der Atmega den 8 Bit Modus nicht unterstützt?

mfg mattschach

von Lötlackl (Gast)


Lesenswert?

Moin,

> Kann es sein das der Atmega den 8 Bit Modus nicht unterstützt?
Dem isses Wurscht. Was mich stutzig macht: Contrast -> GND
Steht das so im Datenblatt?! Ich hänge dort für gewöhnlich einen 
Spannungsteiler (Poti) dran.

mfg Lötlackl

von mattschach (Gast)


Lesenswert?

Hy, danke für dein post;

hab direkt an GND angeschloßen, da ich kein POTI habe...
kann es daran liegen?

von mattschach (Gast)


Lesenswert?

...ich verstehe es nicht????
ich hab alles angeschloßen, aber auch wenn ich die pins einzeln setzte 
passiert nichts...kann ich statt nen poti auch ein widerstand nehmen?

von Julian O. (juliano)


Lesenswert?

Hallo mattschach

>...auch wenn ich die pins einzeln setzte
>passiert nichts

was sollte denn deiner Meinung nach passieren wenn du einzelne Pins 
setzt? Lies mal im Datenblatt nach wie das LCD initialisiert und 
angesprochen werden möchte

Siehst du auf dem LCD einen schwarzen Balken wenn du es an die 
Stromquelle anschließt? Wenn das nicht der Fall ist solltest du mal 
etwas am Kontrast spielen

mfg Juliano

von mattschach (Gast)


Lesenswert?

ICH SEHE DEN SCHWARZEN BALKEN(2)

von Robert S. (razer) Benutzerseite


Lesenswert?

Also ist es nicht initialisiert.
Schau mal im Datenblatt des LCD Controllers, wie er initialisiert werden 
möchte.

von mattschach (Gast)


Angehängte Dateien:

Lesenswert?

ich kann im Datenblatt nichts mit init.. finden
(ist im Anhang)

von mattschach (Gast)


Lesenswert?

Im db steht, wie man das LCD AN/AUS schaltet, habe probiert es mit gcc 
zu realisieren:

  PORTC |=  (1 << 2);  // E
  PORTC &= ~(1 << 0);  // RS
  PORTC &= ~(1 << 1);  // RW
  PORTA &= ~(1 << 7);
  PORTA &= ~(1 << 6);
  PORTA &= ~(1 << 5);
  PORTA &= ~(1 << 4);
  PORTA |=  (1 << 3);
  PORTA |=  (1 << 2);
  PORTA |=  (1 << 1);
  PORTA |=  (1 << 0);

...aber es rührt sich mal wieder garnichts....

von mattschach (Gast)


Lesenswert?

CAN ANYONE HELP ME?

von Michael U. (amiga)


Lesenswert?

Hallo,

ja, besorg Dir das komplette Datenblatt des Controllers (ST7066, auf 
Seite 13 erwähnt) oder suche danach, ob jemand schon was mit diesem 
Controller genacht hat.
Außerdem mach Deine Kontrastspannung einstellbar, Fehlersuche, weil das 
Display zwar was anzeigt, man es aber wegen zu hoch eingestellten 
Kontrst nicht sieht, ist nervend. ;)

Gruß aus Berlin
Michael

von mattschach (Gast)


Lesenswert?

Danke, werd ich machen

grüße mattschach

von Julian O. (juliano)


Lesenswert?

EIN WENIG GEDULD UND EINE ANGEMESSENE LAUTSTÄRKE ist freundlich und 
vorteilhaft!

Suche mal bei einer Suchmaschine deiner Wahl nach "LCD initialisieren" 
und du wirst mit Treffern überschüttet. Die Seite von "sprut" hat mir 
speziell sehr geholfen.

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.