PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD 4x40 mit PCF8574 ansteuern



DEAF BOY
10.02.2010, 22:05
Hallo,

ich habe die LCD EA W404B-NLW bei reichelt bestellt.

http://www.lcd-module.de/html-seiten/images/doma/foto/e404-n.gif

http://www.lcd-module.de/pdf/doma/blueline-w.pdf

Ich möchte mit PCF8574 ansteuern. LCD zeigt 4 schwarze Balken. Meine defekte LCD 16x2 hat früher geklappt. Was stimmt da nicht?

Angeschlossen habe ich:

D0 -> nicht belegt
D1 -> nicht belegt
D2 -> nicht belegt
D3 -> nicht belegt
D4 -> P0
D5 -> P1
D6 -> P2
D7 -> P3
E1 -> P7
E2 -> P6
RW -> P5
RS -> P4
VEE -> GND
VDD -> 5V
VSS -> GND
LED+ -> nicht belegt
LED- -> nicht belegt



'LCD 4x40 testen

$lib "Lcd_i2c.lib"
$regfile="m8def.dat"
$crystal=16000000
Const Pcf8574_lcd = &H40
Config Scl = Portc.5
Config Sda = Portc.4
Dim _lcd_e As Byte
_lcd_e = 128

Cls
Locate 1,1
Lcd "Hallo Welt!"

jojo3
11.02.2010, 07:03
Ich hate auch mal ein blaues Display, das brauchte eine Positive Kontrastspannung 0..5V

Jaecko
11.02.2010, 07:30
Was mir an der Pinbelegung nicht ganz gefällt ist, adss VEE direkt auf GND liegt. VEE ist doch die Kontrastspannung? Da müsste ein Poti hin, das diesem Pin eine Spannung zwischen 0 und 5V liefern kann.
Wenn da 4 schwarze Balken sind, ist das LCD zwar initialisiert, aber der Kontrast scheint auf Vollgas zu laufen.

(Zum Bild fällt mir noch ein: Gut dass der Händler da nicht bescheisst *g*; dem Bild nach wärs ein 5x40)

DEAF BOY
11.02.2010, 09:50
Hallo,

es klappt, bin aber noch nicht zufrieden. Zeile 2 und 4 flackert.

VEE habe ich jetzt mit Poti eingestellt.
VCC -> [1 KOhm] -> Led+
GND -> Led-
VCC -> [1KOhm] -> Anode
GND -> Kathode

Ich habe folgende Zeile ergänzt:



'LCD 4x40 testen

$lib "Lcd_i2c.lib"
$regfile="m8def.dat"
$crystal=16000000
Const Pcf8574_lcd = &H40
Config Scl = Portc.5
Config Sda = Portc.4
Dim _lcd_e As Byte
_lcd_e = 192


I2cstart
I2cwbyte &H40
I2cwbyte 1
Waitms 1.64
i2cstop

Cls
Locate 1,1
Lcd "Hallo roboternetz!"
Locate 3,1
Lcd "Meine LCD 4x40 klappt, bin aber nicht zufrieden :)"



http://www.e-imagesite.com/Files2/DCP_00026272168.jpg

Jaecko
11.02.2010, 09:57
Versuch mal den Text für Zeile 3 zu kürzen. Der unschöne Effekt könnte daher kommen, da die Zeile ja 50 Zeichen lang ist. Kann sein, dass das Display dann mit den 10 Zeichen zu viel irgendwie nicht klarkommt.

m.a.r.v.i.n
11.02.2010, 12:16
Schau dir mal nochmal genau die Beipiele zu AN#118 (http://www.mcselec.com/index.php?option=com_content&task=view&id=82&Itemid=57) an. Man muß immer die richtige enable Leitung anwählen.
Um Zeile 1 und 2 zu adressieren (Bit7):
_lcd_e = 128

Um Zeile 3 und 4 zu adressieren (Bit6):
_lcd_e = 64

Für Sonderbefehle wie Cls und Deflcdchar beide Enable lines (Bit6+7):
_lcd_e = 192

Das 4x40 Display ist ja im Prinzip nichts anderes als zwei 2x40 Displays in einem Gehäuse. Deshalb wird Locate 3,1 oder Locate 4,1 auch nicht funktionieren!