Eine nicht standardmäßige Methode zur Steuerung der Anzeige auf dem HD44780-Controller zum Rendern russischer Schriftarten mit einer eigenen Anzeigecodetabelle.
Die Idee einer solchen Steuerung entstand aus der Aufgabe der Russifizierung eines Geräts mit einem benutzerdefinierten Display, das auf dem HD44780-Controller basiert. Nachdem ich über die Möglichkeit nachgedacht hatte, russische Zeichen durch ähnliche lateinische Zeichen zu ersetzen, entschied ich mich, mich nicht damit zu beschäftigen, da es nicht vermarktbar aussieht und das Gerät kommerziell ist.
Im Gegensatz zu OLED-Displays, die auf dem Winstar WS0010-Treiber basieren, verfügen Displays auf den HD44780-Treibern oder deren Entsprechungen nicht über einen grafischen Betriebsmodus. Sie verfügen jedoch über den sogenannten CGRAM-Speicher, in den Sie bis zu 8 Zeichen in einer grafischen Darstellung schreiben können.
Der Algorithmus selbst ist recht einfach:
- Wir starten den Rendering-Timer mit einer akzeptablen Interrupt-Frequenz für die Prozessorlast.
- Im Timer-Interrupt:
- alles, was auf dem Display angezeigt wurde, löschen (mit Leerzeichen ausfüllen);
- Laden Sie die erforderlichen Grafikinformationen in die ersten 8 Vertrautheiten des CGRAM-Speichers der Steuerung.
- Wir zeigen diese Zeichen mit einem bestimmten Versatz auf dem Display an und verlassen den Interrupt.
Der Code sieht ungefähr so aus: In diesem Fall ist es sehr wichtig, die Anzeigesteuerung ordnungsgemäß zu konfigurieren und nahezu minimale Austauschzeiten sowie, wenn möglich, eine 8-Bit-Schnittstelle zur Anzeige zu verwenden (obwohl 4-Bit den Controller laut Tests nicht zu stark belastet). Es ist auch erforderlich, das BUSY-Signal auf der D7-Leitung vom Display zu lesen, um die Wartezeit für seine Antwort zu verkürzen.
Wie es auf einem realen Display aussieht, sehen Sie im folgenden Video:
Die oberste Zeile wird durch die schnelle Neuzeichnungsmethode gesteuert und zeigt Informationen aus dem CGRAM an. Die Zeile enthält grafisch gezeichnete Zeichen aus der CP866-Codetabelle mit den Codes 0x80-0xFF. Pseudografien werden durch Schach-Rauten ersetzt. In der unteren Zeile befinden sich die Symbole des eingebauten Zeichengenerators der Anzeige und neben deren Codes.
Die Nachteile der Methode:
Bei einer Bildwiederholfrequenz unter 25 Hz ist ein Flackern auf dem Bildschirm erkennbar, wenn es in einem Winkel betrachtet wird, und wenn es direkt betrachtet wird, ist es vertikal nicht sichtbar.
Auch der Kontrast des Bildes vom Display nimmt leicht ab, was jedoch fast nicht spürbar ist.