Forum: Mikrocontroller und Digitale Elektronik LCD 1x16


von LiquidCD (Gast)


Lesenswert?

Hallo,

ich habe hier ein HD44780 kompatibles 1x16 LCD von Pollin.
Leider ist es mir bis jetzt noch nicht gelungen es anzusteuern.
Wenn ich es einschalte, sind die ersten 8 Felder komplett schwarz und
die restlichen 8 komplett leer.
Ist das normal?
Ich habe bei Sprut was gelesen, dass es eigentlich keine richtigen 1x16
LCDs gibt, da diese entweder 2 Controller haben oder eigentlich ein  2x8
Display sind, bei dem die Zeilen einfach hintereinander anstatt
untereinander angeordnet sind.
Kommt daher der seltsame Zustand nach dem Einschalten?
Muss ich bei der Initialisierung etwas beachten?
Ich betreibe das LCD mit einem 4 Bit Interface, wie gesagt ohne
Erfolg.

MfG

von Olaf (Gast)


Lesenswert?

Das verhalten deines Displays ist normal.

Was du da gelesen hast stimmt so nicht.

Diese Displays haben einen Controller. Es gibt sie aber in zwei
unterschiedlichen Ausfuehrungen.

Der Controller darin kann entweder die 16Zeichen am Stueck in einer
Zeile ansteuern. Oder aber als 2x8Zeichen.

Oder anders gesagt, du hast sozusagen ein Display mit 2 Zeilen von
8Zeichen die aber hintereinander angeordnet sind.

Sobald deine Initialisierung erfolgreich ist verschwindet die schwarze
Haelfte deines Display.

Olaf

von Schoaschi (Gast)


Lesenswert?

Bei der Initialisierung musst du aber normal die Anzahl der zeilen auch
noch angeben, wenn ich mich nicht irre. Probiers mal mit dem geänderten
wert.

von LiquidCD (Gast)


Lesenswert?

Also müsste ich es als 2 Zeilen LCD initialsieren?

Es geht aber als 1 Zeilen LCD und als 2 Zeilen LCD nicht...

von Schoaschi (Gast)


Lesenswert?

Ich habe folgendes LCD mit 1x16 Zeichen:
http://www.neuhold-elektronik.at/catshop/product_info.php?cPath=41_43&products_id=161

Bei mir hat es einwandfrei funktioniert indem ich einfach beim
initialisieren auf 1-Zeile umgestellt habe.

von Schoaschi (Gast)


Lesenswert?

Wie siehts eigenltich mit den anderen Datenleitungen aus? Du hast ja
gesagt du benutzt es im 4-Bit Modus. Und was hast du mit den anderen
Datenleitungen angestellt? hast du die auf Masse gelegt? Das sollte man
(angeblich). Probiers vl mal damit.

Und wie wärs mit dem Source-file? Vl. findet man dort einen Fehler.

von Stephan H. (stephan-)


Lesenswert?

Jo,
wie Olaf schon sagte als 2 Zeiliges initialisieren. Dann klappts mit
dem Nachbarn. Und immer dran denken.... im 4Bit Modus das obere Nibble
nehmen und nicht D0-D3 !!!!
Falls Du noch gar nichts damit gemacht hast und nur erst mal spielen
willst kannst Du RD/WR auf Masse legen. Dann kannst Du das Display zwar
nur beschreiben und nicht lesen, aber das reicht oftmals aus.

von LiquidCD (Gast)


Lesenswert?

@Schoaschi

hat das LCD einen oder zwei Controller?

Ich benutze das obere Nibble (DB4-DB7). D0-D3 habe ich noch nicht auf
Masse gelegt, aber ich werde das mal probieren.

Aber unabhängig davon, ob ich das LCD als einzeilig oder zweizeilig
initialisiere, müsste doch irgend eine  Veränderung auf dem LCD
sichtbar sein?!?!

von Rahul (Gast)


Lesenswert?

ein- und zweizeilige LCDs haben in der Regel nur einen Controller,
erkennbar an der Menge der vorhandenen Enable-Eingänge.

von Schoaschi (Gast)


Lesenswert?

Das LCD hat nur einen Controller und auch nur einen Enable-Eingang.

Könntest du dein Source-file posten? Welchen µC benutzt du und in
welcher Srpache programmierst du?

von LiquidCD (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich programmiere in C und verwende einen PIC18F4580.
Code ist im Anhang.

von LiquidCD (Gast)


Lesenswert?

Das LCD lässt sich jetzt initialisieren. Es lag an einem
Verbindungsproblem zwischen dem Display und dem µC.

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.