Wie verwendet man das 12864 LCD-Modul im Detail?

May 07, 2017

Eine Nachricht hinterlassen

Anmerkungen am Anfang des Artikels: Dieser Artikel ist nur eine konkrete Einführung in die Bedienung von 12864. Er richtet sich nur an Neulinge, die sich gerade erst mit 12864 in Verbindung gesetzt haben. Bitte schauen Sie ihn sich an. Die Schreibweise des Artikels ist relativ locker. Anfängern wird empfohlen, zuerst das Handbuch 12864 und das englische Handbuch des Steuerungstreibers ST7920 zu lesen. , Lesen Sie diesen Artikel noch einmal, nachdem Sie ein vorläufiges Verständnis gewonnen haben, Sie werden ein tieferes Verständnis haben. Es wird dringend empfohlen, die englische Bedienungsanleitung des ST7920 sorgfältig zu lesen! Es gibt eine ausführliche Einführung in den Details, und die meisten chinesischen 12864 sind auch aus dem Chinesischen übersetzt.

Dieser Artikel ist in drei Schritte unterteilt, um das interne Ressourcenprinzip von 12864, eine detaillierte Erläuterung des Befehlssatzes und Anwendungsbeispiele vorzustellen.

Es gibt vier Arten von Operationen für 12864:

1). Besetztzustand lesen (der Inhalt der Zeigeradresse wird gleichzeitig gelesen). Nach der Initialisierung muss jeder Lese- und Schreibzugriff auf den 12864 eine Busy-Erkennung sein. 2) Schreibbefehle: Sie können die Befehlsliste für alle Befehle überprüfen, und die detaillierte Verwendung der Befehle wird später erklärt. Die Schreibadresse ist auch der Schreibbefehl. 3) Daten schreiben: Die Operationsobjekte sind DDRAM, CGRAM, GDRAM.

4), Daten lesen: Das Operationsobjekt ist auch DDRAM, CGRAM, GDRAM.



12864液晶模块


Für das Studium von 12864 müssen Sie zunächst seine internen Ressourcen verstehen. Wenn Sie wissen, was darin enthalten ist, können Sie es bequemer verwenden.

Stellen Sie zunächst kurz ein paar englische Namen vor:

DDRAM: (Data DisplayRam), Datenanzeige-RAM, was Sie hineinschreiben, es wird angezeigt, was der Bildschirm anzeigt.

CGROM: ​​(CharacterGeneration ROM), Zeichengenerierungs-ROM. Im Inneren befinden sich die Schriftarten zum Speichern chinesischer Schriftzeichen, auch bekannt als chinesische Schriftzeichenbibliothek. Die Kodierungsmethoden sind GB2312 (vereinfachtes Chinesisch) und BIG5 (traditionelles Chinesisch). Der Autor verwendet den QC12864B von Yusong Electronics und die Erklärung basiert auf diesem Beispiel. CGRAM: (CharacterGeneration RAM), Zeichengenerierungs-RAM, 12864 bietet 64x2B CGRAM, das für benutzerdefinierte 4 16×16 Zeichen verwendet werden kann, jedes Zeichen belegt 32 Byte.

GDRAM: (GrafikanzeigeRAM): Grafikanzeige-RAM. Dieser Bereich wird zum Zeichnen verwendet. Das gleiche gilt – was auch immer darin steht, der Bildschirm zeigt an, was angezeigt wird. Der Unterschied zu DDRAM besteht darin, dass die in DDRAM geschriebenen Daten Die Zeichenkodierung und Zeichenanzeige werden zuerst im CGROM gefunden und dann auf den Bildschirm abgebildet, und beim Schreiben von Daten in das GDRAM verwenden die Punktmatrixinformationen der Grafiken 1 bit, um seine Anzeige zu speichern oder nicht.

HCGROM: ​​(Half height Character Generation ROM): Zeichengenerator halber Breite, das sind Buchstaben und Zahlen, dh ASCII-Code. Was ICONRAM (IRAM) angeht: Es scheint, dass 12864, das derzeit auf dem Markt ist, diese Funktion nicht hat, und ich habe sie nicht gefunden. Bewerbungsinformationen, daher werde ich sie hier nicht vorstellen.

Im Folgenden beginnen wir eine Erklärung von 12864 rund um die Liste der oben aufgeführten Ressourcen: DDRAM:

Der vom Autor verwendete 12864 enthält 4 Zeilen x 32 Byte DDRAM-Speicher. Aber zu einem bestimmten Zeitpunkt kann der Bildschirm nur 2 Zeilen x 32 Bytes anzeigen, also was ist mit dem verbleibenden Platz? Sie können für den Cache verwendet werden, und diese Leerzeichen können sich bei der Implementierung einer Bildlaufanzeige als nützlich erweisen.

Die DDRAM-Struktur ist wie folgt:

80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H, 88H, 89H, 8AH, 8BH, 8CH, 8DH, 8EH, 8FH90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H , 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FHAOH, A1H, A2H, A3H, A4H, A5H, A6H, A7H, A8H, A9H, AAH, ABH, ACH, ADH, AEH, AFHBOH, B1H, B2H , B3H, B4H, B5H, B6H, B7H, B8H, B9H, BAH, BBH, BCH, BDH, BEH, BFH

Die Entsprechung zwischen der Adresse und der Bildschirmanzeige ist wie folgt:

Reihe-80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H Zweite Reihe: 90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H Dritte Reihe: 88H, 89H, 8AH, 8BH , 8CH, 8DH, 8EH, 8FH Vierte Reihe: 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FH

Hinweis: Die Daten im roten Teil werden in der oberen Hälfte des Bildschirms angezeigt und die Daten im grünen Teil werden in der unteren Hälfte des Bildschirms angezeigt. Im Allgemeinen verwenden wir den Platz der beiden obigen Zeilen, um Zeichen anzuzeigen, dh 80H~8FH, 90H~9FH. Der Speicherplatz jeder Adresse beträgt 2 Byte, was 1 Wort entspricht, sodass sie zum Speichern von Zeichen verwendet werden kann. Der gesamte Codierungsraum beträgt 128 Byte. Da die Codierung jedes chinesischen Zeichens 2 Byte beträgt, muss jede Adresse 2 Byte verwenden, um ein chinesisches Zeichen zu speichern. Natürlich ist es auch möglich, diese 2 Byte getrennt zu verwenden, dh es werden 2 Zeichen halber Breite angezeigt.

Die in DDRAM gespeicherten Daten sind alle Zeichencodes, und die Codes, die geschrieben werden können, umfassen ASCII-Code, GB2312-Code und BlG5-Code. Die vom Autor verwendete 12864-Schriftenbibliothek scheint unvollständig zu sein, und die"Nummer" der Zeichen können nicht angezeigt werden, aber andere Zeichen werden angezeigt. Wenn Sie einen langen Artikel mit chinesischen Schriftzeichen anzeigen, ist der Vorteil nicht geeignet.

DDRAM-Daten lesen und schreiben:

Alle gelesenen und geschriebenen Daten sollten zuerst die Adresse senden und dann lesen und schreiben. Stellen Sie beim Schreiben von Daten in DDRAM sicher, dass sie sich im Basisbefehlssatz befinden (öffnen mit Befehl 0x30), schreiben Sie dann die Adresse und schreiben Sie dann nacheinander zwei Datenbytes. Schreiben Sie beim Lesen von Daten zuerst die Adresse unter den grundlegenden Befehlssatz, lesen Sie sie dann erneut und lesen Sie dann kontinuierlich 2 Byte Daten. Nach dem Lesen ist der Adresszeiger automatisch eins und springt zum nächsten Wort. Wenn Sie das nächste lesen müssen Der Inhalt des Wortes muss nur 2 Byte Daten kontinuierlich lesen. Die gefälschte Lesung hier muss beachtet werden. Nicht nur das Lesen von CGRAM erfordert ein gefälschtes Lesen, sondern auch das Lesen von anderem GDRAM und DDRAM erfordert zuerst ein gefälschtes Lesen, und dann ist das nachfolgende Lesen ein wahres Lesen. Die gefälschte Lesung besteht darin, die Daten einmal zu lesen, aber die Daten werden nicht gespeichert. Das heißt, die Daten, die nach dem Senden der Adresse zum ersten Mal gelesen werden, sind falsch und die Daten danach korrekt. (Dummy bedeutet falsches Lesen)

12864液晶模块




Die Dinge, die über die Speicherung des Codes in DDRAM erklärt werden müssen, sind wie folgt:

1) Jedes Mal ist die Operationseinheit von DDRAM ein Wort, dh 2 Byte. Schreiben Sie beim Schreiben von Daten in DDRAM zuerst die Adresse und senden Sie dann kontinuierlich 2 Byte Daten ein und senden Sie zuerst das High-Word. Die Daten des Abschnitts, dann die Daten des Low-Bytes werden gesendet. Das gleiche gilt beim Lesen von Daten. Zuerst die Adresse schreiben, dann die High-Byte-Daten lesen und dann die Low-Byte-Daten lesen (bitte beim Lesen auf falsches Lesen achten).

2). Wenn Sie ASCII-Code-Zeichen mit halber Breite anzeigen, senden Sie 2 Bytes ASCII-Code an jede Adresse, und 2 Zeichen mit halber Breite werden entsprechend der Position auf dem Bildschirm angezeigt. Das linke ist das High-Byte-Zeichen und das rechte Es ist ein Low-Byte-Zeichen.

3). Bei der Anzeige chinesischer Zeichen müssen die beiden Bytes der chinesischen Zeichenkodierung im gleichen Adressraum gespeichert werden und können nicht getrennt in zwei Adressen gespeichert werden, da sonst die angezeigten Zeichen nicht die gewünschten Zeichen sind. Die 2 Bytes in jedem Wort werden automatisch kombiniert, um die Schriftart zu finden und die Zeichen anzuzeigen. Wenn wir daher die 2-Byte-Codierung eines chinesischen Zeichens in eine Adresse schreiben, wird das Zeichen korrekt angezeigt. Das High-Byte der Codierung wird im Low-Byte der vorherigen Adresse gespeichert und das Low-Byte der Codierung wird im High-Wort der nächsten Adresse gespeichert. Abschnitt werden sie offensichtlich nicht kombiniert, um die Schriftart zu finden, sondern um die Schriftart in Verbindung mit dem entsprechenden Byte jeder Adresse zu finden.


12864液晶模块


4). Da der Controller ST7920 4 benutzerdefinierte Zeichen bereitstellt, können diese 4 benutzerdefinierten Zeichen auch vollständig angezeigt werden. Ebenso sind diese 4 benutzerdefinierten Zeichen ebenfalls codiert, aber die Codierung dieser 4 Zeichen Sie sind festgelegt, sie sind 0000H, 0002HO004H bzw. 0006H. Wie nachfolgend dargestellt:

12864液晶模块




Das obige Bild zeichnet nur den CGRAM-Raum von 2 Zeichen, und es wird in Zukunft 2 Zeichen geben. Es ist ersichtlich, dass jedes Zeichen 16 Zeilen und 16 Spalten hat und jede Zeile 2 Byte verwendet. Daher beträgt der von einem Zeichen belegte Platz 32 Byte und die Adresse beträgt 6 Bit. Die Adressen der 4 Zeichen sind: O0H~ OFH,

10H~1FH, 20H~2FH, 30H~3FH. Die Codierung verwendet 2 Byte. Es ist ersichtlich, dass 2 Bits willkürlich sind, was darauf hinweist, dass es für diese 4 Zeichen mehrere Codierungen geben kann, aber wir verwenden oft die 4 oben aufgeführten Codierungen.

CGRAM: (Daten lesen und schreiben)

Die Struktur von CGRAM ist oben gezeigt. Hier fügen wir einige Inhalte hinzu, um CGRAM zu lesen und zu schreiben. Schreiben Sie vor dem Lesen und Schreiben zuerst die Adresse. Der Befehl zum Schreiben des CGRAM ist die Ox4O{{1}}-Adresse. Aber wenn wir die Adresse schreiben, müssen wir nur die Adresse der ersten Zeile schreiben. Zum Beispiel ist das erste Zeichen Ox40+OOH, und dann schreiben Sie 2 Byte Daten kontinuierlich, und dann wird der Adresszeiger automatisch um eins erhöht und springt zur nächsten Zeile. Adresse, und schreiben Sie dann 2 Byte Daten. Tatsächlich besteht die Programmierung darin, die Adresse zu schreiben und dann kontinuierlich 32 Byte Daten zu schreiben. Um Daten zu lesen, schreiben Sie zuerst die erste Adresse, dann einmal falsch lesen und dann 32 Byte Daten kontinuierlich lesen.

GDRAM: (Grafikdisplay-RAM)

Die räumliche Struktur des Zeichnungs-RAM ist in der folgenden Abbildung dargestellt:




Anfrage senden