Alles schwarz nach Initial. bei Display (4x20, KS0076B)

OP #835579
Lesenswert?

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
Angehängte Dateien:
#835622
Lesenswert?

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
OP #835714
Lesenswert?

@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
OP #835753
Lesenswert?

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

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