GLC-Display T6963 - Probleme mit Grafik Bereich!

Gast #99723
Lesenswert?
• ▲
▼
Hallo!

Mit einem Controller habe ich das Grafik LC-Display von Toshiba
(Grafik LC-Display TLX-1391 128x128)angesprochen.
Ich kann soweit Pixel auf das Display anzeigen lassen.
Nur kann ich nicht auf jeden Bereich einen Pixel setzen.
Verzweifelt habe ich schon das Datenblatt gelesen, irgendwie komme ich
durcheinander. Wahrscheinlich muss ich beim Register 0x24 den Bereich
dafür festlegen.

Den C-Code habe ich mal dazugelegt.
Vielleicht gibt es hier in diesem Forum jemanden der mir dazu Helfen
kann.
Vielen Dank!

Tschüss
Angehängte Dateien:
Gast #99726
Lesenswert?
• ▲
▼
Was heißt "Nur kann ich nicht auf jeden Bereich einen Pixel setzen."
genau ?

Was mir auffällt: In der Software sind eine Menge Fehler, so z.B. bei
der Initialisierung:
out(0x43, 32, 32);
Laut Datenblatt muss das zweite Argument 0 sein !

out(0x42, 0, 0);
Wiso wird der Grafikbereich ab Adresse 0 definiert, aber später wird
0x0200 addiert ?
void LCD_PutPixel(unsigned char x, unsigned char y, unsigned char Set)
{
unsigned int XY;
unsigned char bitByte;
  XY=0x200;


Und wiso gibt es so viele Pixel setzen Routinen ?
Gast #99729
Lesenswert?
• ▲
▼
Ok! Und zwar, ich kann auf meinem Display nicht überall ein Pixel
darstellen lassen. Nur gewisse Bereiche vom Display kann ich
ansprechen. Welche Register sind dafür zuständig?
Ich komme mit den ganzen Adressen jetzt total durcheinander.
Gast #99731
Lesenswert?
• ▲
▼
Achso das Display ist ein 128x128er!
Welchen Bereich ich nicht ansprechen kann, dass kann so nicht erklären.
Mir würde schon genügen wenn ich wüsste welche Register ich ansprechen
muss um jeden Bereich anzusprechen.

Hast du einen Beispiel Quellcode in C?
Gast #99733
Lesenswert?
• ▲
▼
Könntest Du auch mal auf die Fragen antworten...?

Wichtig ist erstmal, daß die Text bzw. Grafik-Area richtig definiert
ist. Wie - steht im Datenblatt.
Um einen Pixel zu setzen, gibts verschiedene Möglichkeiten.
Zuerst mußt Du wissen, ob das Display im 6- oder 8-Bit Modus arbeitet.
Je nachdem mußt Du nämlich für die Pixeladresse Modul 6 oder 8
berechnen.
Aus den Koordinaten (x,y) wird also erst einmal die Byteadresse
berechnet und dann die Bitnummer. Dann wird der Pixel entweder mit
einer (Lies Byte) - (Verändere Byte) - (Schreibe Byte) Operation
gesetzt oder der im Display eingebaute SetBit Befehl verwendet. Ich
habe momentan das Datenblatt nicht vorliegen, auswendig weiß ich jetzt
nicht mehr.
Gast #99736
Lesenswert?
• ▲
▼
Hmm - vielleicht hast Du Dir ein etwas schwieriges Projekt ausgesucht?
Der Controller des Displays bildet den Speicher (der auf dem Display
selbst vorhanden ist) direkt auf dem LCD ab. Ein 0-Bit entspricht dann
weiß, ein 1-Bit entspricht schwarz (sofern nicht der Reverse-Mode
eingeschaltet ist).
Um nun einen Pixel zu setzen, mußt Du also im Speicher des Displays den
Zustand eines Bits ändern.
Aber zuvor muß das Display auch richtig initialisiert werden. Der
T6963-Controller kann für verschiedene Display-Typen (Größen) verwendet
werden. Deshalb muß man dem Controller mitteilen, wie groß das Display
nun tatsächlich ist - und das jedesmal nach dem neu einschalten.
Dazu muß man sich auch die Frage stellen, was man vor hat - nur Text,
nur Grafik, oder beides? Dementsprechend müssen die Text-Area und die
Grafik-Area eingestellt werden.
Um Dir jetzt helfen zu können, brauche ich Deinen Wissenstand: Welche
Erfahrungen mit µControllern hast Du, hast Du schonmal ein Display
angesteuert, oder ist das Dein erstes Projekt??
Gast #99737
Lesenswert?
• ▲
▼
Hallo  thkais !

Danke für die Antwort. Jetzt ist es mir schon klarer.
Dies ist mein erstes Projekt mit einem Grafik Display.
Ich steuere mit dem AVR 90S8535 den T6963.
Programmiersprache C: siehe Angehängte Sourcecodes.
Dsiplay größe 128x128

Kannst du mir sagen welche Register ich genau ansprechen muss?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.