Forum: Mikrocontroller und Digitale Elektronik Display mit ST7920 Controller


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

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

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.