Forum: Mikrocontroller und Digitale Elektronik LCD Kommando-Eingabe funktioniert, Charakter-Eingabe nicht


von Sebastian S. (dualsbiker)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich bin nun schon seit einiger Zeit auf der Suche nach einer Lösung 
meines Problems. Ich habe die Initialisierung des LCD hinbekommen und 
kann auch so Befehle senden. Z.B. Cursor bewegen oder Cursor blinken 
lassen etc.
Die eigentliche Zeichenübermittlung klappt nur nicht. Kann mir einer 
sagen was ich falsch mache ?

AtmelStudio 6 in C
Atmega8
16x2 Gleichmann LCD von Conrad

von Georg G. (df2au)


Lesenswert?

Wo ist der C/D Pin angeschlossen? Der sagt dem Display, ob es ein Befehl 
oder ein Zeichen ist.

von Wolfgang (Gast)


Lesenswert?

Sebastian Schulz schrieb:
> 16x2 Gleichmann LCD von Conrad

Das ist ein weites Feld. Ein Produktlink, die Bestellnummer oder ein 
Datenblatt würden da deutlich weiterhelfen?

Ein Enable-Signal von 1ms Dauer ist zumindest ungewöhnlich und einen 
Faktor 1000 länger als für 2x16 Displays mit Standard KS0066 Controller 
erforderlich.

von Sebastian S. (dualsbiker)


Lesenswert?

Entschuldigt, ist recht mager kommentiert. Der RS Pin ist PB0. Den Link 
zu Conrad hat die Seite automatisch gesetzt. Ich hab nur "Conrad" 
geschrieben.
Hier ist der Link zum Display:
http://www.conrad.de/ce/de/product/183045/Alphanumerisches-LCD-Modul-Gleichmann-GE-C1602B-TMI-JTR-Zeichenformat-16-x-2-Zeichenhoehe-555-mm-Blau-Weiss

@Wolfgang: Meinst du, dass ein kürzerer Enable-Puls schon die Lösung ist 
?

Kurz noch was nicht kommentiert ist:

PB0 = RS
PB1 = R/W
PB2 = Enable

PortD = 8bit Datenleitung

von Georg G. (df2au)


Lesenswert?

Schreib doch bitte hinter deine Binärkonstanten in der Initialisierung, 
was sie bewirken sollen. Es ist mühsam, das alles aus dem Datenblatt zu 
fummeln. Und es hilft dir, wenn du in 1 Jahr was ändern willst.

Der lange E-Impuls stört nicht.

von Sebastian S. (dualsbiker)


Angehängte Dateien:

Lesenswert?

OK, jetzt noch mal mit Kommentaren.

Achso, 0b10110011 ist so ein Zeichen, das einem Fragezeichen ähnelt. Ich 
hab einfach irgendein Zeichen genommen.

von Sebastian S. (dualsbiker)


Lesenswert?

OK, ich glaube ich hab's jetzt. Ich habe nach dem Init einfach nicht 
lange genug gewartet.

von Georg G. (df2au)


Lesenswert?

Wie hast du es mechanisch aufgebaut? Das E-Signal darf maximal 25ns 
Anstiegszeit haben. Einige Displays sind da extrem mäkelig.

Ansonsten sieht alles ok aus

von Sebastian S. (dualsbiker)


Lesenswert?

Nee, alles OK, habe jetzt die Zeit nach dem Initialisieren verlängert. 
Nun geht alles so wie ich will.

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.