LCD - WD-C2704M-1HNN (Keine Zeichen)

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 08 5 2026  14:34:15      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
LCD - WD-C2704M-1HNN (Keine Zeichen)
Suche nach: lcd (4712)

    







BID = 644175

abracadabra

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 361
 

  


Hallo,

habe das WD-C2704M-1HNN von Pollin an einen Mikrocontroller über 8Bit Leitungen + RS,RW,EN1,EN2 angeschlossen.
Es besitzt HD44780-kompatible Controller.
Nun lässt es sich wunderbar initialisieren und verarbeitet die Kommandobefehle so wie es sollte.
Allerdings bekomme ich kein einziges Zeichen dargestellt.
Wenn ich einen entsprechenden Befehl sende, beispielsweise:
RS = 1, RW = 0 und 0x33 auf den 8Bit Bus lege, dann inkrementiert das Display zwar den Cursor während der fallenden Flanke von E1,
aber stellt kein Zeichen dar sondern eben nur ein Leerzeichen.
Wenn ich anstelle von 0x33 was laut Datenblatt einer "3" entsprechen sollte ein 0xff sende, geschieht das geliche.
Bei 0xff sollte aber die gesamte "Zeichenbox" schwarz werden..

Ich wundere mich was da schiefgeht..
Kann es sein, dass der interne Speicher, indem das LCD die Zeichen abgelegt hat, gelöscht ist?
Hmm.

Was bedeutet eigentlich: "Schreibt Daten in CG- oder DD-RAM"
Was ist der CG- und der DD-RAM ?


Grüße

abracadabra

BID = 644211

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

 

  

Kann es sein, dass du invertierte Daten, also CC und 00 statt 33 und FF schickst?

P.S:
CG = Character Generator. In diesem RAM kannst du also ein paar selbst definierte Zeichen ablegen. Die vordefinierten Zeichen das ganze Alphabet etc. stehen aber in einem grösseren ROM.
DD = Display Data . Da stehen die darzustellenden Zeichen, so wie du sie geschickt hast, drin.

2.P.S.:
Ein häufiger Fehler ist auch, dass man die Daten zu schnell schickt.
Viele dieser Display Controller sind unglaublich langsam, und es ist problemlos möglich sie zu "überfahren". Dann gehen natürlich Bytes verloren und das Ergebnis ist ungewiss.
Entweder wartest du also nach jedem Byte die im Datenblatt genannte Mindestzeit, 100ms reichen aber immer, oder du stellst per Hardwareabfrage fest, wann der Controller bereit ist ein neues Byte zu empfangen.
Letzteres geht am schnellsten, erfordert aber etwas mehr Programmierung beim Absender der Daten.




[ Diese Nachricht wurde geändert von: perl am 30 Okt 2009 13:33 ]

BID = 644271

abracadabra

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 361



Code :


RS = 0;
RW = 0;

while(1)
{
delay_ms(100);
E1 = 1;
delay_ms(5);
p2 = x;
delay_ms(5);
E1 = 0;

x++;
}



Wobei p2 der 8Bit Datenport ist.
Nun rauscht mein Cursor im 110ms Takt über das LCD, doch leider hinterlässt es kein einziges Zeichen.

BID = 644275

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Nun lässt es sich wunderbar initialisieren und verarbeitet die Kommandobefehle so wie es sollte.
Woher weisst du das, wenn du nichts siehst?

BID = 644282

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika

Das kann ja alles Mögliche sein, was da nicht stimmt.
Wenn die Initialisierung fehlerhaft ist, dann bringt alles nichts.

Hast du mal eine fetige Bilbiothek ausprobiert?

_________________

BID = 644301

abracadabra

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 361

Es ist richtig initialisiert, da ich den blinkenden Cursor sehe.
Befehle wie: Cursor platzieren, LCD löschen, Cursor an/aus, funktionieren tadellos.

BID = 644305

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Das sind alles Kommandos, bei denen RS=0 ist.
Zum Schreiben von Zeichen muss RS=1 sein, und davon sehe ich in deinem Codeschnipsel nichts.

BID = 644313

abracadabra

Stammposter


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 361

Habe fälschlicher weise RS = 0 angegeben oben, sorry für die Verwirrung.

Im Programm lautet es aber:
RS = 1;
RW = 0;

Also sollte alles funktionieren..


BID = 644333

DonComi

Inventar



Beiträge: 8604
Wohnort: Amerika

Tja, dann musst du wohl mal mit dem Oszi nachschauen, wenn du meinst, dass im Programm alles richtig ist...

Vielleicht Datenrichtungsregister nicht richtig beschrieben?
Wir können hier nur raten, solange wir nicht deinen Quellkode sehen. Und zwar den, den du benutzt, nicht irgendeinen, der sagt, wie es gehen sollte...



_________________


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 12 Beiträge im Durchschnitt pro Tag       heute wurden bisher 6 Beiträge verfasst
© x sparkkelsputz        Besucher : 191768162   Heute : 16956    Gestern : 24922    Online : 257        8.5.2026    14:34
11 Besucher in den letzten 60 Sekunden        alle 5.45 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0377690792084