Hallo zusammen! Mir ist beim Werkstatt aufräumen ein Display in die Hände gefallen. Es ist ein 4x20 Display, welches nach dem Zerlegen seinen Controller freigab.(KS0076B02)Dank Peter Fleurys Bibliothek braucht man ja selbst das Rad nicht neu erfinden, somit habe ich seine Bibliothek samt enthaltenem Testprogramm auf meinen Mega32 geladen.(Programm im Anhang,lcd.h wurde natürlich angepasst) Am Anfang zeigte das Display die obligatorischen zwei schwarzen Balken(1. und 3. Zeile), da ich vergessen hatte die Fuses für den Quartz richtig zu setzen. Nun gut, jetzt komme ich schon weiter: Display wird (scheinbar) initialisiert, und zeigt sich nun in "komplett schwarz". Also 4 schwarze Balken. Ich bin ja schon mal zufrieden dass ich soweit komme, aber weiter leider nicht. Kontrast ist es nicht(Ohne initialisierung sehe ich ja die zwei Balken), Angeschlossen ist es auch richtig.(abgesehen davon dass mein Display nur 13 Anschlüsse hat und keinen herausgeführten R/W Anschluss hat. Dieser liegt dauerhaft auf Masse) Fragen hätte ich noch. In der lcd.h gibt es die Konstante LCD_CONTROLLER_KS0073. Ist mein Display eher Ks0073 oder eher Hd44? Hatte schon beides Probiert, und keines funktioniert. Ich bin im Moment überfragt wo der Fehler liegen könnte, Initialisierung funktioniert ja (scheinbar, ob vollständig oder nicht oder wie auch immer, weiß ich nicht). Woraus sich ein physikalisch richtiger Anschluss und eine richtige Anpassung des Codes an meine Umgebung (Quartz, ...) schließen lässt. Wo könnte der Fehler liegen?? Bin für jeden Tipp dankbar. MfG Dominic
Am Timing? Nach dem Reset muss man meist mind. 10ms oder so warten bevor man weitere Befehle senden kann.
ich meine mich erinnern zu können dass die lib von peter das R/W ausliesst, hast du das entsprechend angepasst??
>"komplett schwarz"
Dreh mal den Kontrast runter.
Ich hab am Wochenende grade selbst mit nem Display gekämpft, von dem ich kein Datenblatt hatte. Ich habs mit besagter Lib auch nicht hinbekommen, und in meinem Fall das Rad nochmal neu erfunden. Ich kenne zwar den KS0076B Controller nicht, aber was mich bei dir stutzig macht: Nach dem Init sollten keine Balken mehr zu sehen sein. Das wäre mir jedenfalls neu. Ich würde die Initialisierungsroutine nochmal überprüfen. Die unterscheiden sich doch gerne mal ein wenig voneinander. Versuch bei deiner Initialisierung den Cursor blinkend anzuzeigen, dann siehst du ja, ob das Init geklappt hat. Cecky
Hmmm, wenn die Zeilen tiefschwarz sind, so ist es wohl doch eher der Kontrast. Die Zeilen sollten sich zwar leicht vom Hintergrund abheben, doch "schwarz" ist des guten zuviel...
@rumpelstilz: Am timing habe ich nichts verändert, wegen der Annahme, dass das in der Bibliothek schon passt. @gast: Das R/W auslesen? Bitte verbessert mich wenn ich falsch liege, aber wird dieses nicht vom uC geschrieben? sonst würde das Dsiplay dem uC ja vorgeben, was er zu tun hat. @holger: Den Kontrast habe ich auch schon (mal mehr mal weniger) runter gedreht, was ich dann sehe ist: nichts. @Daniel C: Blinkender Cursor, keine schlechte Idee. Mal sehn obs das in der Lib. gibt. hab auf die schnelle nichts gefunden. Vielen Dank für eure Hilfe, werde weiter rumprobieren und den Fehler suchen. MfG Dominic
Also am Timing habe ich etwas rumgespielt, spricht die Pause alle verlängert, habe aber keine Änderung. Schade. Aber ich Tüftle weiter. Ich werde jetzt wohl mal meinen R/W Pin erleichtern (Von dauerhafter Masse befreien) und ihn mit anklemmen... EDIT: Ich liebe SMD löten... Trotz angeschlossener R/W keine Veränderung
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.