LCD_4Bit_PIC_Init

Gast #823689
Lesenswert?

hallo

versuch schon seit einer weile ein lcd display
mit einem pic anzusprechen!
der pic wird mit 4mhz quarz betrieben!

angeschlossen ist das display folgendermaßen
pin 1-> VSS
pin 2-> VCC
pin 3-> VSS
pin 4-> RS - an RC2
pin 5-> VSS
pin 6-> EN - an RC3
.
.
pin 11-> D0 an RD0
pin 12-> D1 an RD1
pin 13-> D2 an RD2
pin 14-> D3 an RD3

es ist ein 20x4 display und soll im 4 bit modus betrieben werden.
leider macht das display nichts ausser die zeile 2 und 4 sind aktiv.

bitte um hilfe!

danke!!!
Angehängte Dateien:
Gast #823770
Lesenswert?

>und hab auch schon die unteren 4 datenleitungen versucht
>pin 11-> D0 an RD0
>pin 12-> D1 an RD1
>pin 13-> D2 an RD2
>pin 14-> D3 an RD3

Das versuchst du wohl immer noch ?
Ist auf jeden Fall falsch. Im Code mischt du das
dann auch noch ganz übel. Entscheide dich mal
ob du RD0..3 oder RD4..7 nehmen möchtest.
Gast #823792
Lesenswert?

ich benutz  RD0 - RD3
hab die flaschen PORTD befehle entfernt!
richtige waren auskommentiert!

danke
aber trotzdem gehts net ;_(

ich weiß net mehr weiter
hab jetzt die unbenützten pins des lcd displays
auf masse gelegt
hat nichts geholfen!
Gast #823817
Lesenswert?

>static bit LCD_RS  @ ((unsigned)&PORTC*8+2);  // Register select

Was ist das eigentlich ? Da kriegt man ja ne Gänsehaut ;)
Bist du sicher das das so stimmt ?

Versuchs mal so:
#define LCD_RS        2     // Pin for RS
#define LCD_RS_PORT   PORTC
#define LCD_RS_LOW    LCD_RS_PORT &= ~(1<<LCD_RS)
#define LCD_RS_HIGH   LCD_RS_PORT |= (1<<LCD_RS)
Gast #823827
Lesenswert?

@ Armin

>D4 bis D7 vom LCD müssen angeschlossen werden!

Das ist schon richtig, aber jetzt schreibst DU die
falschen Pinnummern für die richtige Bezeichnung hin.
Der OP hat die richtigen Pinnummern mit der falschen
Bezeichnung versehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren