Forum: Mikrocontroller und Digitale Elektronik Grafik Display 128x64


von Markus (Gast)


Lesenswert?

Hallo,
Ich würde gerne ein Grafikdisplay in C beschreiben...
Habe viel erfahrung mit LCD Display´s und bastel viel herum...
Ich wollte mal fragen ob ich irgendwelche speziellen dinge beachten 
muss???
Benutze den PIC16F887!!!
gibt es dazu "Header" dateien oder sonstiges die ich brauche oder wie 
läuft das bei so einem Grafikdisplay ab???

MfG

von Frank M. (frank_m35)


Lesenswert?

Was für ein C verwendest du?
Was für ein Grafikdisplay hast du in näherer Auswahl.

Du kannst sogenannte intelligente Grafikdisplays verweden, die einen 
Mikrocontroller an Board haben der Schriften und vieles mehr beinhaltet 
und du meist über eine serielle Schnittstelle Befehle senden kannst. 
Solche Teile sind teuer und undflexibel, dafür leicht mit Daten zu 
füttern. Ich würde dir davon abraten.

Dann gibt es noch die normalen Grafikdisplays mit einem normalen 
Display-Controller mit integriertem Grafik-RAM. Per I2C, SPI oder 
parallel steuerst du dann einzelne Pixel an. D.h. Bilder, Schriften etc. 
müssen in deinem Mikrocontroller vorliegen. Solche Displays sind üblich 
und günstig.

Das Problem das du haben wirst: Dein PIC16F ist zu klein dafür und 
fertige Code-Parts dafür zu finden sehr unwahrscheinlich.

Spezialfälle sind solche einfachen Grafikdisplays mit einem Schriftsatz 
an Board, aber dann bist du eben auf die integrierten Schriften 
angewiesen.

Da du eh schon in C programmierst, was hälst du von einem Upgrade auf 
PIC24? Dann kannst du auch die Grafik-Library von Microchip verwenden, 
die Textausgabe, Bildausgabe (sogar ein komplettes UI mit Tasten, 
Listen, ...) schon implementiert hat. Was deine Aufgabe dann ist, ist 
ein Treiber zu schreiben der eben die low-level-Routinen für das Display 
enthält (initialisieren, Pixel ausgeben)


Falls du bei deinem PIC16 bleiben willst, so wirst du wohl nach einem 
Grafikdisplay mit integriertem Schriftsatz suchen müssen.

von Markus (Gast)


Lesenswert?

Also ich Programmiere htc wenn du das meinst???!
der kontroller erkennt keine schrift muss alles selber gemacht werden 
aber das ist es ja was mich reizt...
nur ich bräuchte eine starthilfe habe heute wieder etwas rumprobiert 
aber wenn ich den, so wie im datenblatt beschrieben; versuche zu 
initialieren und dann zu beschreiben erscheint nur in der ersten zeile 
ein schwarzer balken der auchnoch da ist wenn ich den 8bit dateneingang 
abziehe also mache ich denn etwas in der init falsch?

http://www.lcd-module.com/eng/pdf/zubehoer/s_1520.pdf

das datenblatt zum kontroller...

die anschlüsse am display sind A0 , E1 , E2 , RES , R/W...
soweit sogut aber ich habe kein CS und auch kein RD...

deshalb gehe ich davon aus das ich den evtl falsch angeschlossen habe 
bzw falsche befehle für CS und RD verwendet habe.

von Spess53 (Gast)


Lesenswert?

Hi

>die anschlüsse am display sind A0 , E1 , E2 , RES , R/W...
>soweit sogut aber ich habe kein CS und auch kein RD...

A0       Umschaltung Befehl/Daten
E1, E2   Übernahmesignale der beiden Displaycontroller
RES      Reset
R/W      Umschaltung Read/Write

Welches Diplay hast du genau?

MfG Spess

von B. S. (bestucki)


Lesenswert?

Frank M. schrieb:
> Dein PIC16F ist zu klein dafür

Nein ist er nicht. Hat immerhin 8kB Flash und 368B RAM. Zum rumspielen 
reicht das locker.

Markus schrieb:
> der kontroller erkennt keine schrift muss alles selber gemacht werden
> aber das ist es ja was mich reizt...

Hast du dein verlinktes Datenblatt gelesen? Der Controller bringt schon 
zwei Schriftsätze mit. Steht auf der ersten Seite.

von Spess53 (Gast)


Lesenswert?

Hi

>Hast du dein verlinktes Datenblatt gelesen? Der Controller bringt schon
>zwei Schriftsätze mit. Steht auf der ersten Seite.

Nein, bringt er nicht. Das bezieht sich auf das Add-On-Board EA9720. Der 
SED1520 hat keinen Zeichensatz.

MfG Spess

von Frank M. (frank_m35)


Lesenswert?

be stucki schrieb:
> Frank M. schrieb:
>> Dein PIC16F ist zu klein dafür
>
> Nein ist er nicht. Hat immerhin 8kB Flash und 368B RAM. Zum rumspielen
> reicht das locker.
Wenn ich dem http://ww1.microchip.com/downloads/en/AppNotes/01182b.pdf
glauben schenken darf, dann braucht ein minimaler Zeichensatz von einer 
Schriftgröße mit 24px Höhe 3.5kBytes flash. Wenn jetzt noch ein bisschen 
eigenes Programm dazu kommt und ein paar Texte die ausgegeben werden 
sollen, dann ist der PIC schon voll und man kann die Besonderheiten 
eines Grafik-Displays (unterschiedliche Schriftgrößen, Bilder, ...) 
überhaupt nicht nutzen.
Also meiner Meinung reicht das gerade zum kurz in Betrieb nehmen und 
sehen es funktioniert. Von nutzen keine Rede.

Der PIC16F887 hat auch nichteinmal einen PMP, somit wirst du wohl alles 
mühsam softwaresteitig per bit-banging implementiert haben, somit 
verstehe ich nicht was du mit 'aber ich habe kein CS und auch kein RD' 
meinst. Wo hast du denn RES und R/W angeschlossen? Doch auch nur an 
normale I/O Pins.

von B. S. (bestucki)


Lesenswert?

Frank M. schrieb:
> Wenn ich dem http://ww1.microchip.com/downloads/en/AppNotes/01182b.pdf
> glauben schenken darf, dann braucht ein minimaler Zeichensatz von einer
> Schriftgröße mit 24px Höhe 3.5kBytes flash.

Wozu bein Schriftsatz mit 24px Höhe bei einem 128x64px Display? Dann 
eher ein 8x5px Schriftsatz -> ergibt für ASCII gerade mal 475B. Das sind 
nur rund 6% des Flashs. Eine Bitmap im RAM ist für Text auch nicht 
nötig.

Grafiken kann man der Controller zur Laufzeit berechnen, eine doppelt so 
grosse Schrift auch.

Klar ist es einfacher, einfach einen dickeren Controller zu nehmen. Mit 
dem PIC16 muss man halt mehr Denken und manchnal auch ein bisschen 
kreativ sein.

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.