Initialisierung eines GLCDs 128x64

OP #3388948
Lesenswert?

Hallo,

Ich habe mir vor kurzem ein Demoboard zugelegt mit passendem 
GLC-Display.
( Pinbelegung auf S.24 : http://www.mikroe.com/downloads/get/1711/ )

Aber meine Initialisierung klappt nicht.
Ich programmiere mit dem C18-Compiler und PIC18F45K22 bei MPLAB.
Ich habe mich bei der Initialiserung möglichst an folgendem Datenbaltt 
orientiert:
http://www.mikroe.com/downloads/get/1010/glcd_128x64_spec.pdf

Ich wäre froh wenn sich jemand meines Problems annimmt :D

Vielen Dank schonmal.
MFG Roland
Angehängte Dateien:
Gast #3389202
Lesenswert?

Hi

>Es ist ungeschickt, beide /CS Signale gleichzeitig zu aktivieren. das
>verwirrt den besten Controller.

Zum Initialisieren kann man schon beide Displaycontroller parallel 
beschreiben. Man sollte allerdings die Finger von den Statusregistern 
lassen.

MfG Spess
OP #3390034
Lesenswert?

Sorry das Programm gestern war etwas unüberlegt.
Ich habe mal jetzt in Ruhe einen Neues geschrieben, aber auf dem Display 
sieht man nachwievor keine Zeichen :(

Ich bin vorhin noch auf eine Seite zur Initialisierung gestoßen, die mir 
etwas geholfen hat aber die Pinbelegunge GLCD_A0 konnte ich nicht so 
wirklich zuordnen. Ich vermutete das entspräche dem RS-Pin.

( 
http://www.stefan-buchgeher.info/elektronik/glcd/glcd_kap5.html#Kap5_3_1 
)

Wäre es sinnvoll mit den ANSEL-Anweisungen LATD und LATB als digitale 
Outputs zu konfigurieren obwohl ich in den Konfigurationsbits unter 
"PBADEN = PORTB<5:0> configured as digital I/O on Reset" steht?

Ich versuche erstmal überhaupt irgendetwas auf dem GLCD ausgeben zu 
können, egal was. Die Library-files mit Bildern u.ä. mache ich dann 
später.

PS: Im Eingangspost sind die Links zu den Datenblättern und 
Pinbelegungen.
Angehängte Dateien:
#3390548
Lesenswert?

Wie wäre es mit diese Reihenfolge:
Reset aktivieren, etwas warten, Reset wieder auf Ruhe, etwas warten. 
Dadurch kommt das Display in einen definierten Ausgangszustand. Die 
notwendigen Zeiten kennt das Datenblatt.

Nun initialisieren.
Dabei (wie auch beim Daten senden) CS, RW, CD und Datenausgang passend 
setzen und dann E aktivieren, etwas (Mikrosekunden) warten, E 
deaktivieren.

Beim Schreiben in das Display RAM immer nur 1 CS zur Zeit aktivieren, je 
nachdem, ob man oben oder unten schreiben möchte. Und wenn man etwas 
sehen will, sollte man auch die Display Adresse nach jedem 
Schreibvorgang anpassen. Sonst hämmert man immer nur auf den ersten 8 
Pixeln herum (in der Hoffnung, dass Reset das Adressregister auf 0 
gesetzt hatte).
Gast #3390597
Lesenswert?

Hi

>Und wenn man etwas
>sehen will, sollte man auch die Display Adresse nach jedem
>Schreibvorgang anpassen. Sonst hämmert man immer nur auf den ersten 8
>Pixeln herum

Die Adresse wird nach jedem Schreiben automatisch incrementiert.

>(in der Hoffnung, dass Reset das Adressregister auf 0 gesetzt hatte)

Reset schaltet das Display auf Off und setzt das Display start line 
Register
auf 0. Mehr nicht. Page Register und Y Address Counter muss man manuell 
setzen.

MfG Spess

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