Forum: Mikrocontroller und Digitale Elektronik Bitmap auf Display darstellen


von Schmitt (Gast)


Lesenswert?

Hallo!

Ich möchte auf dem Display Typ T6963 ein Bitmap darstellen lasse.
Text sowie Pixel kann ich ohne Probleme auf dem Display darstellen.
Das Bitmap kann ich auch mit einem spezial Programm umwandeln, so dass
ich nur noch die Daten in mein C Programm einbinden muss.
Wie muss ich dies software technisch lösen, um das Bild auf dem Display
darstellen zu lassen?

Mit der LCD_PutPixel Funktion kann ich ein Pixel auf dem Display
darstellen.

von Benedikt (Gast)


Lesenswert?

Schau mal ins Datenblatt des T6963:
Einfach den Adresspointer auf den Grafikbereich setzen, und die
Grafikdaten übertragen.

von Schmitt (Gast)


Lesenswert?

Hmmm...ich weiss jetzt nicht wie ich das realisieren soll.
Kannst du mir zeigen wie du das gelöst hast?

von Dennis Brücke (Gast)


Lesenswert?

Hi Schmitt,

ich weis zwar nicht wie es direkt mit dem Grafikdisplay funktioniert,
da ich die Ansteuerung für dieses nicht kenne. Ich habe das ganze unter
ASM für ein KS0107 so gelöst, das ich einfach meine 128x64px Bild daten
in einem externen I²C EEPROM abgelegt habe.
Diesen Lese ich jetzt Byte für Byte aus (schleife) und gebe diesen
während der durchführung auf das Display aus. Erhöhe meine Display
Postion um 1 und fange wieder von vorne an, bis alle Pixel abgearbeitet
sind.

Gruß Dennis

von Schmitt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Dennis!

Ich habe z.B. ein Array --> screen[]={0,2,2,2,2,66,66,66,66,usw.}
(bmp Datei konvertiert)
Für was steht die 0 oder 2? SInd das Bildpunkte?
Muss ich Zeile für Zeile die Information auf das Display bringen?
(Pixelhöhe pro Zeile z.b. 8Pixel)

Irgendwie bin ich total durcheinander

von Dennis Brücke (Gast)


Lesenswert?

@Schmitt,

so wie es bei Dir aus sieht schreibst Du in C (oder Bascom?)
in dem Array wie du es beschreibst würde ich jetzt darauf tippen,
das es jeweils die Bildinformationen sind

(schau Dir mal einfach das BMP welches 1-bit Grafik vorliegt mal mit
nem HEX Editor an)

Bei dem KS0107 ist es z.b. so, das die Zeilen in Pages eingeteilt sind.
Sprich 1 Zeile = 8 Bit (Pixel) von oben nach unten. Eigendlich muss man
auch dazu sagen, das es eigendlich 2 Displays mit je 64x64 px. in einem
Sind. (2x 64 x 64px -> 128px x 64px)

Gruß Dennis

P.S.: am besten du Postest mal deine Grafikroutine dann wird man Dir
schon mehr helfen können.

von Schmitt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Dennis!

Gerade da liegt mein Problem. Wie bringe ich es dem DIsplay bei, das
ich immer 1Zeile (8Pixel) schreiben will.
Oder kann ich auch Pixel für Pixel schreiben?

von Benedikt (Gast)


Lesenswert?

Durch 1 Byte werden 8 (bzw. 6) Pixel dargestellt. Und diese musst du
einfach ans Display senden. Schau mal ins Datenblatt, da steht das
super erklärt drin.

von Dennis Brücke (Gast)


Lesenswert?

@Schmitt,

ich schau heute nachmittag in meine Sourcen, kann Sie dir auch
schicken, ist allerdings in ASM aber alles gut kommentiert. Der Ablauf
sollte dann kein Problem mehr sein, musst es dann nur noch in C
umsetzen ;)

Gruß Dennis

von Schmitt (Gast)


Lesenswert?

Hi Dennis!

Wäre super wenn du mir deinen ASM Code per E-Mail zusenden könntest.
E-Mail Adresse lautet: lycra_hs@yahoo.de

Danke

von Dennis Brücke (Gast)


Lesenswert?

@Schmitt,

schon geschehen ;)

Gruß Dennis

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.