Forum: Mikrocontroller und Digitale Elektronik LCD-Modul 4x20 - RE-Bit welcher anschluss?


von Christoph M. (chrischu91)


Lesenswert?

hallo zusammen

Ich habe ein LCD Display mit 4x20 Char. Betreibe dies mit dem 8-Bit 
modus, nicht SPI (ist so gefordert). Ich bin schon seit 2 Tagen 
verzweifelt am suchen, was welcher Anschluss das RE Bit ist, hier das 
Datenblatt: http://www.lcd-module.de/fileadmin/pdf/doma/dip204-6.pdf
auch auf dem Datenblatt des KS0073 finde ich nur immer das RE Bit müsse 
1 oder 0 sein, aber ich habe nur 4 anschlüsse neben den D0...D7 nämmlich 
RES, RS, R/W, E welches dieser 4 anschlüsse ist hier das RE Bit das 
überall so schön angegeben wird... oder wie setzt man das?

Ich danke für die Antworten! :)

Grüsse Chrischu91

von spess53 (Gast)


Lesenswert?

Hi

Das RE-Bit ist im Funktion Set-Befehl (Bit2).

MfG Spess

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Das RE-bit setzt oder löschst du mit dem function-Set-'Befehl'. Um 
Befehle mit RE=1 zu senden musst du per Function-Set, RE auf 1 setzen. 
Um dann wieder bspw. Display-Clear verwenden zu können muss es wieder 
per Function-Set auf 0 gesetzt werden.

Grüße
Mark

von Christoph M. (chrischu91)


Lesenswert?

Danke euch beiden dir Spess :)
Aber welcher anschluss ist nun hier gemeint von den 4: RES, RS, R/W, E? 
oder kannst du mir sagen wie ich das RE-Bit auf 1 oder 0 schalten kann?
Ich weiss nicht genau wie ich das anbringen soll? :s

Mfg Chrischu

von spess53 (Gast)


Lesenswert?

Hi

>Aber welcher anschluss ist nun hier gemeint von den 4: RES, RS, R/W, E?
>oder kannst du mir sagen wie ich das RE-Bit auf 1 oder 0 schalten kann?

Kein Anschluss. Siehe Beitrag von Mark L. (m2k10).

MfG Spess

von Christoph M. (chrischu91)


Lesenswert?

Hmm also wenn ich das richtig verstehe muss ich wie auf Datenblatt 
http://www.lcd-module.de/eng/pdf/zubehoer/ks0073.pdf seite 63 punkt 2 
das RE-bit setzen und dann mit punkt 4 wieder löschen?
also so habe ich es gemacht, aber es funktioniert nicht :s

Mfg Chrischu

von Peter D. (peda)


Lesenswert?

Muß man das RE-Bit überhaupt setzen?

Es scheinen doch alle notwendigen Funktionen auch im Standardmodus 
verfügbar zu sein.


Peter

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Der 4-Zeilen-Modus lässt sich nur mit gesetztem RE-bit aktivieren.

@chrischu91: Versuch doch mal die Initialisierung von Seite58, die sieht 
zuverlässiger aus als die von Seite 63. Falls du mit Warteschleifen 
arbeitest, einfach mal die Wartezeit verdoppeln, manchmal sind die zu 
knapp. Der E-Puls könnte auch zu kurz sein (hier ist übrigens das 
Datenblatt falsch, die 100ns bei 4.5V müssten wohl 1000ns sein!!!)
Oder einfach mal mit der Software aus dem AVR-Tutorial ausprobieren, ob 
die läuft.
Manche Controller (bspw. ST9720) vertragen im Function-Set nur jeweils 
eine Änderung auf einmal, d.h. für bspw. 2-Zeilen und RE=1 muss 
Function-Set zweimal aufgerufen werden.

Mark

von Klaus (Gast)


Lesenswert?

So sollte es gehen.


lcd_command(0x24); // RE-Bit Setzen (Funktion Set)
lcd_command(0x09); // Ext. Funktion Set ( FW=0: 5-dot font width; BW=0: 
normal cursor; NW=1: 4-line display
lcd_command(0x20); // RE- Bit wieder Zurück setzen;
lcd_command(0x0C); // Display On/Off Control ( D=1: display on; C=0: 
cursor off; B=0: blink off )
lcd_command(0x01); // Display Löschen
lcd_command(0x06); // Entry Mode Set  ( Cursor moving direction (I/D=1: 
inc;  shift enable bit (S=0: disable)

von Klaus (Gast)


Lesenswert?

Hab ganz vergessen zu erwähnen, das dass Beispiel für den 4 - Bit Modus 
gilt.


lcd_command(0x24); // RE-Bit Setzen (Funktion Set) sets interface data 
length (DL=0:4-bit;

von Christoph M. (chrischu91)


Lesenswert?

ok danke werde es morgen ausprobieren, habe 8 bit, aber ist ja nicht 
schwierig umzuwandeln ;)

von Klaus (Gast)


Lesenswert?

Noch ein Hinweis!
Die Initalisierung läuft ganz normal ab wie bei einem HD44780 nur

Also vorher 3 Mal 0x30 senden danach die oben erwähnten Befehle 
einfügen.

Das wars aber jetzt viel erfolg!

von Christoph M. (chrischu91)


Angehängte Dateien:

Lesenswert?

Also habe das jetzt ausprobiert, ich habe ein 8bit ansteuerung und keine 
4 bit, aber dies umzuschreiben ist ja nicht sehr schwierig, ich habe 
alles nach datenblatt gemacht, aber nun folgende 3 sachen die nicht 
funktionieren:
1 - beim Display sind nur 2 Zeilen aktiv
2 - nach 12 Zeichen springt es auf die nächste Zeile, schreibt dann auf 
der oberen sowie auf der unteren zeile weiter...
3 - 0xA0 (0x20) bringt mich nicht auf die nächste zeile, sondern führt 
zum absturz des Displays...

Punkt 2 ist aber so wie auf seite 13 des datenblattes KS0073 dass der 
displaykontroller nur 12 statt 20 Zeichen pro zeile hat... aber wie 
steuere ich das an, das es nicht automatisch auf die nächste zeile 
springt?

Punkt 1: wie kann ich die andern 2 zeilen aktivieren, ich habe alles 
schön nach datenblatt gemacht und auch die einzelnen befehle genau 
durchgelesen und studiert...

und wieso führt punkt 3 zum absturz des displays...

ich finde das ganze display oder datenblatt ist ein bisschen merkwürdig 
:s

wenn mir jemand irgend ein fehler zeigen kann den ich mache, oder etwas 
nicht stimmt, wäre ich sehr froh, danke!

Mfg Chrischu

von Christoph M. (chrischu91)


Lesenswert?

Habe den Fehler gefunden

Ich hatte zu wenig Zeit genommen habe jetzt das Delay von 100 us auf 3ms 
geändert, und jetzt funktioniert alles ohne probleme, danke euch 
nochmals :)

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.