Hallo miteinander
Ich sitze gerade an meinem Projekt welches ein grafisches Display mit
dem ST7920 Controller hat.
Wenn ich den internen Charaktergenerator verwende, klappt alles.
Jetzt möchte ich allerdings gerne meine eigenen Zeichen darstellen.
Ich habe daraufhin die Initialisierung erweitert, so dass der grafische
Modus verwendet werden kann.
Auszug aus dem Code:
1 | //**********************************************************
|
2 | // Initialisieren des Displays NHD-19232WG-BTMI-VT (192x32)
|
3 | // Controller: Sitronix ST7920
|
4 | //**********************************************************
|
5 | glcd_cmd (0x30); // 8 bit Interface, basic instructions
|
6 | glcd_cmd (0x30); // 8 bit Interface, basic instructions
|
7 | glcd_cmd (0x30); // 8 bit Interface, basic instructions
|
8 | glcd_cmd (0x08); // Display off, Cursor off, Blink off
|
9 | glcd_cmd (0x01); // Display clear
|
10 | glcd_cmd (0x0C); // Display on, Cursor off, Blink off
|
11 | glcd_cmd (0x06); // Auto-increment
|
12 | glcd_cmd (0x01); // Display clear
|
13 | glcd_cmd (0x32); // Graphic Display on
|
14 | glcd_cmd (0x36); // 8 bit Interface, extended instructions
|
15 | glcd_cmd (0x01); // Display clear
|
In glcd_cmd (); werden die Steuerleitungen gesetzt, die Daten ausgegeben
sowie zu Testzwecken jetzt noch 1ms gewartet nach dem Befehl.
Gemäss Datenblatt (Seite 12) muss man anschliessend:
1. Vertikale Adresse (Y) Adresse schicken
2. Horizontale Adresse (X) Adresse schicken
3. Das obere Byte (D15 - D8) schicken
4. Das untere Byte (D7 - D0) schicken
Dies bezieht sich auf Grafik 7, welche auf Seite 15 zu finden ist.
Auf Seite 17 steht, dass die Adressen ab 0x80 beginnen..dies habe ich
berücksichtigt.
Bis hierhin alles korrekt?
Jetzt kann ich ja eigentlich anfangen zu zeichnen, sprich: Daten
schicken.
Doch nachdem ich Schritt 3 und 4 ausgeführt habe, z.B 2x 0x0F - da
sollten ja dann 2 Striche auftauchen - erscheinen die entsprechenden
ASCII Symbole von Seite 14.
Heisst das, meine Initialisierung ist noch nicht korrekt? Oder ist das
grundlegende Vorgehen falsch?
Ich hoffe mir kann hier jemand einen Tip geben.
Thomas