www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grafikdisplay KS0108


Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Etwas anderes als 0xAA ins RAM schreiben. Wurde ja schonmal erwähnt.
Du weißt schon, dass jedes Bit im RAM einen Pixel repräsentiert?

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich beschreibe jedes Pixel mit einem neuen eigenen Wert ...
Aber die Problem bleiben...  :-(

Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcus Zinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein - die Dose finde ich nicht!

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.