Forum: Mikrocontroller und Digitale Elektronik Display verständnisfrage


von Pierre G. (bqube)


Lesenswert?

Guten nabelnd UC Gemeinde,

ich möchte nicht wissen wie man ein GLCD programmiert keine Angst, ich 
versteh nur noch nicht so ganz wie man ein Pixel setz ....

nach dem Datenblatt her hab ich das so verstanden....

Ein GLCD besteht aus ganz vielen 5x7 Dot Matrixen und ich muss
Peer Code eines davon auf der X und Y Achse auswählen. Sobald ich dies 
getan habe kann ich dann in meinem ausgewählten Bereich einen Pixel 
setzten.

Ist das so richtig oder bin ich auf dem Holz weg.

von holger (Gast)


Lesenswert?

>Ein GLCD besteht aus ganz vielen 5x7 Dot Matrixen

Nein.

von Ron (Gast)


Lesenswert?

Pierre Gnauck schrieb:
> ich
> versteh nur noch nicht so ganz wie man ein Pixel setz
Das macht der Controller auf der Displayplatine. Du sagst ihm nur per 
Befehl, wo er ein Pixel invertieren soll. Die Anzeigefläche ist homogen. 
Sie besteht z.B. aus 128x64 Pixeln.

von spess53 (Gast)


Lesenswert?

Hi

>Ist das so richtig oder bin ich auf dem Holz weg.

Nein. Ja.

>Das macht der Controller auf der Displayplatine. Du sagst ihm nur per
>Befehl, wo er ein Pixel invertieren soll.

Und wenn der Controller das nicht kann?

MfG Spess

von Papa (Gast)


Lesenswert?

Ein GLCD besteht daraus, was im Datenblatt steht. Man kann das nicht 
verallgemeinern.
Es gibt solche und solche...

von Ron (Gast)


Lesenswert?

spess53 schrieb:
> Und wenn der Controller das nicht kann?
Dann ist es eine Fehlentwicklung oder man hat eines der z.B. von pollin 
angebotenen "dummen Displays". Die werden aber mit anderen 
Signalen/Timings angesteuert. Siehe alte Beiträge von Benedikt Sauter.

von Weingut P. (weinbauer)


Lesenswert?

Für gewöhnlich wird nicht ein einzelnes Bit an den Displaycontroller 
gesendet sondern ein ganzes Byte, das dann mehrere Pixels setzt oder 
löscht.
Wenn Dein Display eine Matrix von 5 x 7 hat, dann werden das vermutlich 
7 Bit sein, die in einem Schwung rüber müssen.
Der Andere Weg, ein einzelnes Pixel zu setzen ist dann das Byte oder in 
Deinem Fall die 7 Bit aus dem Controller zu lesen, das betreffende Bit 
zu setzen und zurück zu schreiben.

von holger (Gast)


Lesenswert?

>Für gewöhnlich wird nicht ein einzelnes Bit an den Displaycontroller
>gesendet sondern ein ganzes Byte, das dann mehrere Pixels setzt oder
>löscht.

Bei meinem RGB Grafikdisplay muss ich zwei Bytes senden um
nur einen einzigen Pixel zu setzen.

von spess53 (Gast)


Lesenswert?

Hi

>Dann ist es eine Fehlentwicklung oder man hat eines der z.B. von pollin
>angebotenen "dummen Displays". Die werden aber mit anderen
>Signalen/Timings angesteuert. Siehe alte Beiträge von Benedikt Sauter.

Nö. Es gibt Displaycontroller, die Befehle zum Zugriff auf einzelne 
Pixel haben, z.B. T6863. Ein SED1520 oder die Controller der 
DOG-Displays, oder .... können das nicht.

MfG Spess

von Pierre G. (bqube)


Lesenswert?

Das besagte GLCD für das ich mich interessiere ist (das EA DOGS102-6)

Das Datenblatt hab ich mir nun schon ein paar mal angeschaut aber so 
ganz versteh ich das nicht .... die Initialisierung ist kein Problem 
steht ja da :) .... aber wie ist das mit dem Mapping gemeint... sind MX 
und MY die Koordinaten wo dann mein Pixel steht ??

Mfg Bqube

http://www.lcd-module.de/eng/pdf/zubehoer/uc1701.pdf

von spess53 (Gast)


Lesenswert?

Hi

>Das besagte GLCD für das ich mich interessiere ist (das EA DOGS102-6)

>Das Datenblatt hab ich mir nun schon ein paar mal angeschaut aber so
>ganz versteh ich das nicht .... die Initialisierung ist kein Problem
>steht ja da :) .... aber wie ist das mit dem Mapping gemeint... sind MX
>und MY die Koordinaten wo dann mein Pixel steht ??

Nein. Damit wird festgelegt, ob der Displayspeicher Normal oder 
Seitenverkehrt (MX) bzw. Normal oder auf dem Kopf stehend (MY) 
dargestellt wird.

Das Display hat 8 Pages (Zeilen) a 102 Bytes. Jedes Byte in einer Zeile 
ist der 'Inhalt' von 8 übereinander liegenden Pixeln.

MfG Spess

von Papa (Gast)


Lesenswert?

Pierre Gnauck schrieb:
> EA DOGS102-6

Ahaa! Dazu kann ich dir etwas sagen, weil ich das auch benutze.

Pierre Gnauck schrieb:
> sind MX
> und MY

Das sind zwei "Control"-bits:
http://easycaptures.com/fs/uploaded/598/6990962401.png


Auf folgendem Bild siehst du den logischen Aufbau des Displays:
http://easycaptures.com/fs/uploaded/598/2341933498.png

Die Pixel des Display werden durch Speicherzellen representiert welche 
in 8 sogenannte "Pages" aufgeteilt sind.
Jede dieser Pages ist 8 bit breit. 1 Page entspricht 8 vertikalen 
Pixeln, von oben nach unten.

Eine Page wird über den Befehl "Set Page Address" ausgewählt.

Die 102 Spalten werden über den
Befehl "Set Column Address LSB" und "Set Column Address MSB" ausgewählt.

Um Pixel zu setzen muss man nur die Page Address und danach die Column 
Address an das LCD übertragen (über SPI). Danach kann man dann einen 
beliebigen 8-bit Wert in den Grafikspeicher des Displays übertragen und 
der Wert wird dann entsprechend auf dem Display in Form von 8 vertikalen 
Pixeln angezeigt, je nachdem wie der Registerinhalt eben aussieht.

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
Noch kein Account? Hier anmelden.