Grafikdisplay KS0108

Gast #678158
Lesenswert?

Hallo !
Ich habe eine Grafikdisplay 128x64 mit zwei KS0108 Controller.

Folgendes Problem:

Ich habe zur Zeit nur die eine Hälfte vom Display sichtbar. Dabei wird 
immer das selber Darstellungsmuster, so eine Art Strichcode angezeigt.

Folgende Parameter setze ich am Anfang
R/S = 0
R/W = 0
EN  = 0

0x3F = Display On
0x40 = Set Y Address 0
0xB0 = Set X Page 0
0xC0 = Set Display Start Line

R/S = 1
R/W = 0
EN  = 0

Danach beschreibe ich das RAM an der Stelle 0 - 63 mit 0xAA.

Meine Taktleitung ist die EN, von High nach Low werden die Daten gesetzt 
bzw. übernommen.

Was mache ich verkehrt, ich kann einfach das dargestellte Bild nicht 
verändern ?

Wäre nett, wenn ich ne kurze Hilfe bekommen könnte!

Mfg Marcus
Gast #678172
Lesenswert?

..eventuell einfach mal was anderes rein schreiben als 0xaa, denn dies 
sind deine striche.. 10101010bin = 0xaa...

die controller lassen sich warscheinlich über getrennte cs oder reset 
leitungen ansprechen, und momentan scheinst du den einen zu 
aktivieren....

m.
Gast #678185
Lesenswert?

Hallo !
Die Controller lassen sich über zwei CS Leitungen auswählen - korrekt. 
Bis jetzt konnte ich auch nur einen einzigen ansprechen obwohl ich dies 
entsprechend in meiner Software mit integriert habe ! Keiner Ahnung 
warum.


Kleiner Nachtrag noch die "Page" fängt bei 0xB8 und nicht bei 0xB0 an.
Das war ein Schreibfehler von mir !

Ich werde jetzt versuchen, verschiedene Parameter ins Ram zu schreiben, 
mal sehen was passiert!

Mfg Marcus

PS: Ich brauche noch weitere Ideen, wie ich mein(e) Problem in den Griff 
bekomme !
Gast #678213
Lesenswert?

..in deiner beschreibung oben steht nichts vom setzen der cs 
leitungten...

du betreibst im grunde genommen 2 - 64x64 displays! das ist das ganze 
geheimnis...


bei deiner momentanen beschreibung hast du 4 waagerechte striche im 
oberen 8tel eines der beiden hälften, wobei der abstand von strich zu 
strich immer gleich ist, oder!? bei anwahl der page 1 solltest du das im 
2ten 8tel des jeweiligen displays haben... usw..

also, irgentetwas stimmt mit der ansteuerung oder verdrahtung deiner 2 
cs leitungen nicht.

m.
Gast #678218
Lesenswert?

Hallo !
Für jeden Controller mache ich diese Initialisierung hintereinander. 
Dabei wähle ich zwischen
[ CS1 Low & CS2 High ] Controller 1 bzw.
[ CS1 High & CS2 Low ] Controller 2 aus!

Ich habe leider keine Möglichkeit die Striche zu verändern.
Es taucht immer wieder die selbe Pixel-Darstellung in der einen Hälfte 
auf.

Was tun ?

Mfg Marcus
Gast #678269
Lesenswert?

...hast du denn die 4 linien im oberen achtel!? ansonsten ist es evtl. 
nicht richtig initialisiert....

..ich würde dir empfehlen dein problem etwas genauer zu beschreiben, 
oder besser gesagt dein ist-stand....

m.
Gast #678284
Lesenswert?

Wenn ich das Display mit 0xFF beschreibe - ist mein Bild weiss.

Alle anderen Werte außer 0xFF liefern immer die gleiche Darstellung vom 
Bildaufbau.

Es kann sein das beim Init eine Fehler ist allerdings bin ich der 
Meinung das soweit alles in Ordnung ist!

Physikalisch liegen sämtliche Signale am Display an.

Hat jemand ein Init was ich vergleichen kann ? Ich programmiere in C.


Mfg Marcus
Gast #678285
Lesenswert?

...versuch dir mal vorzustellen du sollst eine dose mais eines 
bestimmten herstellers kaufen, und man schickt dich mit diesem wissen 
los.

würdest du sie finden?

wenn du dann fragen stellst und der jenige dir auf die frage: welche 
marke es denn sein soll, mit: "der mais ist gelb" antwortet, was würdest 
du dann machen!?

m.
Gast #678305
Lesenswert?

...was genau ist auf deinem display wo zu sehen, was passiert wenn du im 
code den zugiff auf die zeilen mit anderen werten füllst, was passiert 
wenn du die pages änderst, was passiert wenn du die y adresse 
veränderst, und welchen einfluss hat es auf die darstellung im display?

hast du die ansteuerung selbst geschrieben?

...versuche logisch in kleinen schritten an das problem ran zu gehen, 
wenn du nicht zum erfolg kommst, dann poste die schritte und die 
ergebnisse hier, ansonsten findet hier keiner die dose.

m.
Gast #678307
Lesenswert?

1) initialisierung überprüfen (zugriff sicher stellen)
2) einen wert schreiben
3) wert auf display überprüfen
4) mehrere werte schreiben
4.1) werte lesen
5) hardware abstrahieren, sodass es wie ein 64x128 ansprechbar ist
6) zugriffsfunktion set(x,y,color) implementieren
7) GLCD routinen implementieren, wenn gewünscht
8) grafik text usw...

m.

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