Forum: Mikrocontroller und Digitale Elektronik LCD (4bit-mode) am PCF8574


von KoF (Gast)


Angehängte Dateien:

Lesenswert?

hmm, ok, ich dorktore gerade rum!

aber es scheint nicht zu funktionieren :-(
so habe ich das verbunden (power(vcc/gnd)und kontrast sind auch
angeschlossen)

LCD     PCF8574
---------------
RS      P5
R/W     P6
E       P7
D4      P0
D5      P1
D6      P2
D7      P4


könnt ihr mir sagen, wo mein fehler liegt?

von Peter (Gast)


Lesenswert?

k/a schau hier im AVR TUT mal nach LCD DIsplay sollte weiterhelfen und
das ASM File LCD_ROUTINES sollte auch helfen ;)

von KoF (Gast)


Lesenswert?

ja, einfach an den uc funzt ja auch!
ich wollte das ding ja jetzt über den pcf8574 an i2c hängen!

von Alex (Gast)


Lesenswert?

Hast du es denn erstmal ohne LCD getestet, also ob du Ausgangspegel am
Schaltkreis nach belieben setzen kannst und auch Eingänge korrekt
abfragen kannst?

von KoF (Gast)


Lesenswert?

ja, ich kann lesen und schreibend auf den pcf8574 zugreifen, wenn du das
meinst.

von KoF (Gast)


Lesenswert?

ok, initialisierung funktioniert jetzt(zumindest mal etwas)!
also disp anschließen -> ein schwarze balken sind in zeile 1 & 3
sichtbar. zeile 2 & 4 sind nicht mit balken versehen.

initialisierung -> dislplay löscht die schwarzen balken und alle zeilen
sind leer.

kann ich das als "funktionieren" im sinne einer initialisierung
werten??

von Alex (Gast)


Lesenswert?

Würde ich schon sagen, also freu dich :-)

von KoF (Gast)


Lesenswert?

ich dreh noch durch!!!
die initialisierung war falsch :-(

wie wird so ein vermalledeites display im 4 bit mode initialisiert?

von Jens123 (Gast)


Lesenswert?

http://www.repairfaq.org/filipg/LINK/F_Tech_LCD2.html#TECHLCD_002
ich denk du hattest am direkt am µC am laufen????

von Gunter (Gast)


Lesenswert?


von KoF (Gast)


Lesenswert?

hmp :-(
ok, ich habe nochmal versucht, das display im 8 bit modus anzusteuern
:-( ich habe nur ein komisches verhalten gemerkt!!!

SOLL : 4  D  d  t  $
MACHT: <  L  `  |  ,

usw...
ich raf einfach nicht, warum es mir einige (nicht alle) zeichen einfach
zahlen abändert!!!

von KoF (Gast)


Lesenswert?

ok, erst prüfen!!!!
ich habe den datenport des disp mal eben an einen anderen port des
uc's gehäng! jetzt geht es!!! mir scheint, als sei der uc so langsam
irgendwie "komisch drauf".
nach 3 monaten und zig flashvorgängen am tag sollte ich ihn eventuell
mal tauschen.

von Jens123 (Gast)


Lesenswert?

du sendest die daten per uart?

von Markus_8051 (Gast)


Lesenswert?

Du schreibst, das LCD hängt wie folgt an dem PCF:

LCD     PCF-Pin
D4      P0
D5      P1
D6      P2
D7      P4

Ich unterstelle mal, daß die P4 ein Schreibfehler ist und P3 heißen
sollte. Trotzdem schiebst Du in LCDOutc das lower Nibble um 4 bit nach
oben. Dabei ist es doch schon dort, wo es hingehört. Das Upper Nibble
mußt du nach unten schieben!

Bei den defines am Anfang hast Du für RS E RW die Bitnummer und nicht
die Wertigkeiten angegeben. Richtig wäre:
E 128 ; oder 1<<7
RW 64 ; oder 1<<6
RS 32 ; oder 1<<5

Zum Setzen und Löschen von Bits in einem Byte solltest Du mit den AND
und OR Operatoren arbeiten und nicht mit + und -! Sonst bekommst Du ein
Problem, falls die bits aus irgendwelchen Gründen vorher schon gesetzt
waren...

z.B.:

byte = byte & E;

byte = byte | (255-E);

Was war mit meinem Code? Lief der nicht?

CU

Markus_8051

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.