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
An welcher Stelle schreibst du die Initialisierungsdaten an das Display? Es ist ungeschickt, beide /CS Signale gleichzeitig zu aktivieren. das verwirrt den besten Controller.
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
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.
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).
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
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
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.