Forum: Mikrocontroller und Digitale Elektronik Initialisierung eines GLCDs 128x64


von Roland E. (roland_91)


Angehängte Dateien:

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

von Georg G. (df2au)


Lesenswert?

An welcher Stelle schreibst du die Initialisierungsdaten an das Display?

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

von L-hase (Gast)


Lesenswert?

wo ist  RST  im Code ?

von spess53 (Gast)


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

von Roland E. (roland_91)


Angehängte Dateien:

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.

von Georg G. (df2au)


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).

von spess53 (Gast)


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

von Roland E. (roland_91)


Lesenswert?

Danke euch beiden erstmal.
Ich komme leider momentan nur nicht dazu mich hinzusetzen und das 
auszuprobieren. Ich wollt das bloß kurz loswerden, damit ihr nicht denkt 
eure Mühe wäre umsonst gewesen :D
MFG

von Pete K. (pete77)


Lesenswert?

Das GLCD benutzt wohl den NT7108 Controllerchip. Kannst ja mal schauen, 
ob Du da Sample-Code für findest.

Ist denn die HW-Beschaltung ok, stimmen die Spannungen?

von Roland E. (roland_91)


Angehängte Dateien:

Lesenswert?

Sorry, es hat etwas länger gedauert.
Danke, pete77, ich habe dazu etwas im Internet gefunden und abgeändert 
und anhand davon konnte ich das GLCD initialisieren.

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.