Lcd12864 Einführung
Die 128X64 mit chinesischer Zeichenbibliothek ist ein Punktmatrix-Grafik-LCD-Modul mit 4-stelliger / 8-Bit-Parallel-, 2-Draht- oder 3-Draht-Schnittstelle und internen chinesischen First-Level- und Second-Level-Chinesisch-Fonts; Die Rate ist 128 & Zeit; 64, 8192 16 * 16 Punkt chinesische Zeichen und 128 16 * 8 Punkt ASCII Zeichensätze. Die Verwendung der flexiblen Schnittstellenmethode dieses Moduls und der einfachen und bequemen Bedienungsanweisungen kann eine vollständige grafische Schnittstelle zwischen Mensch und Computerinteraktion darstellen. Kann 8 & Zeiten anzeigen; 4 Zeilen von 16 & Zeiten; 16 Gitterzeichen. Grafik-Display kann auch abgeschlossen werden. Niedrige Spannung und geringer Stromverbrauch sind ein weiteres wichtiges Merkmal. Das Flüssigkristallanzeigeschema, das aus diesem Modul besteht, ist viel einfacher als der gleiche Typ von graphischem Punktmatrix-Flüssigkristallanzeigemodul, ungeachtet der Hardwareschaltungsstruktur oder des Anzeigeprogramms, und der Preis des Moduls ist auch etwas niedriger als der des Grafikflüssigkristallmodul derselben Punktmatrix. .
Lcd12864 grundlegende charakteristische Parameter

(1) Niedrige Versorgungsspannung (VDD: +3,0 - + 5,5 V)
(2) Bildschirmauflösung: 128 & Zeit; 64 Punkte
(3) Eingebaute chinesische Zeichenbibliothek, die 8192 16 × 16 Gitterchinesische Zeichen zur Verfügung stellt (vereinfacht und traditionell)
(4) Eingebaute 128 16 × 8 Punktmatrixzeichen
(5) 2 MHz Taktfrequenz
(6) Anzeigemodus: STN, halbtransparent, positive Anzeige
(7) Antrieb: 1/32 DUTY, 1/5 BIAS
(8) Blickrichtung: 6 Punkte
(9) Hintergrundbeleuchtungsmodus: Weiße LED der seitlichen Höhepunkt, Leistungsverbrauch ist nur 1 / 5-1 / 10 der allgemeinen LED
(10) Kommunikation: Seriell und Parallel
(11) Eingebaute DC-DC-Wandlerschaltung ohne externen Unterdruck
(12) Vereinfachen Sie das Software-Design ohne Chip-Select-Signal
(13) Betriebstemperatur: 0 ° C bis + 55 ° C, Lagertemperatur: -20 ° C bis + 60 ° C
Lcd12864 Pin-Diagramm und Funktion
Lcd12864 Chinese Datenzusammenfassung (12864 Pin Beschreibung und Funktion _ Eigenschaften Parameter und Treiberfreigabe)
1VSS-Modul Power Ground
2VDD-Power-Plus-Anschluss des Moduls
3V0-LCD-Treiberspannungseingang
4RS (CS) H / L Parallelbefehl / Datenauswahlsignale; Serielle Chipauswahlsignale
5R / W (SID) H / L paralleles Lese- / Schreibauswahlsignal; serieller Datenport
6E (CLK) H / L paralleles Freigabesignal; serielle synchrone Uhr
7DB0H / L Daten 0
8DB1H / L Daten 1
9DB2H / L Daten 2
10DB3H / L Daten 3
11DB4H / L Daten 4
12DB5H / L Daten 5
13DB6H / L Daten 6
14DB7H / L Daten 7
15PSBH / L Auswahl der parallelen / seriellen Schnittstelle: H-Parallel; L-Serie
16NC leerer Fuß
17 / RETH / L Reset aktiv tief
18NC leerer Fuß
19LED_A (LED + 5V) Positive Hintergrundbeleuchtung
20LED_K (LED-OV) Hintergrundbeleuchtung und negativ
Controller Interface Signal Beschreibung
1, RS, R / W mit der Wahl der Steuerschnittstelle bestimmt die vier Modi:
Lcd12864 Chinesische Datenzusammenfassung (12864 Pin Beschreibung und Funktion _features Parameter und Treiberfreigabe)
2, E-Signal
Lcd12864 Chinese Datenzusammenfassung (12864 Pin Beschreibung und Funktion _ Eigenschaften Parameter und Treiberfreigabe)
● Busy-Flag: Das BFBF-Flag liefert interne Betriebsbedingungen. BF = 1 zeigt an, dass das Modul interne Operationen ausführt. Zu diesem Zeitpunkt akzeptiert das Modul keine externen Anweisungen und Daten. Wenn BF = 0 ist, ist das Modul jederzeit bereit, externe Anweisungen und Daten zu akzeptieren. Mit der Anweisung STATUSRD kann BF in den DB7-Bus eingelesen werden, um den Betriebszustand des Moduls zu überprüfen.
● Font Generation ROM (CGROM) Font Generation ROM (CGROM) bietet 8192 Dieser Trigger wird verwendet, um das On-Screen-Display des Moduls zu steuern. DFF = 1 ist DISPLAY ON, der Inhalt von DDRAM wird auf dem Bildschirm angezeigt, DFF = 0 ist DISPLAY OFF. Der Status des DFF wird durch die Befehle DISPLAYON / OFF und RST gesteuert.
● Anzeigedaten RAM (DDRAM) Modul interne Anzeige Daten RAM bietet 64 x 2 Bytes Platz, bis zu 4 Zeilen von 16 Wörtern (64 Wörter) in der chinesischen Schrift anzeigen, wenn in den Anzeigedaten RAM geschrieben wird, zeigen Sie die Schriften von CGROM und CGRAM jeweils; Dieses Modul kann drei Schrifttypen anzeigen, die alphanumerisch mit halber Breite (16 * 8), CGRAM-Schriftart und chinesische Schriftart von CGROM sind. Die Auswahl von drei Schriftarten basiert auf dem DDRAM. Bei der Kodieroption, die in Chinesisch geschrieben ist, wird die benutzerdefinierte Schriftart von CGRAM in der Kodierung 0000H-0006H (die entsprechenden Codes sind 0000, 0002, 0004 und 0006) ausgewählt, und die alphanumerischen Zeichen halber Breite werden in ausgewählt 02H-7FH-Codierung. Die Schriftart, wie für den Code über A1 wird automatisch mit dem nächsten Byte kombiniert, und die Codierung der beiden Bytes bildet den chinesischen Zeichencode BIG5 (A140-D75F), GB (A1A0-F7FFH).
● Schriftgenerierung RAM (CGRAM) Schriftgenerierung RAM bietet Bilddefinition (Wortaufbau) -Funktion, die vier Gruppen von 16 × 16 Punkten benutzerdefinierten Bildbereichs zur Verfügung stellen kann. Benutzer können Bildzeichen angeben, die nicht von internen Schriftarten bereitgestellt werden. Der Typ ist für CGRAM selbst definiert und kann auf dem Bildschirm über DDRAM wie in CGROM definiert angezeigt werden.
● Der Adresszähler AC-Adresszähler wird verwendet, um die Adresse eines der DDRAM / CGRAM zu speichern. Es kann durch das Einstellanweisungsregister geändert werden. Solange der Wert von DDRAM / CGRAM gelesen oder geschrieben wird, wird der Wert des Adresszählers automatisch addiert. Wenn RS "0" und R / W "1" ist, wird der Wert des Adresszählers in DB6 - DB0 gelesen.
Cursor / Flicker-Steuerschaltung
Dieses Modul bietet eine Hardware-Cursor- und Flicker-Steuerschaltung, die den Cursor oder die Blinkposition im DDRAM durch den Wert des Adresszählers angibt.
Lcd12864 Anweisungen
Lcd12864 Chinese Datenzusammenfassung (12864 Pin Beschreibung und Funktion _ Eigenschaften Parameter und Treiberfreigabe)
Lcd12864 Chinesische Datenzusammenfassung (12864 Pin Beschreibung und Funktion _features Parameter und Treiberfreigabe)
Hinweis: Bevor IC1 die Anweisung annimmt, muss der Mikroprozessor zuerst bestätigen, dass sich der interne Bus in einem Aus-Zustand befindet. Beim Lesen des BF-Flags muss BF Null sein, um neue Anweisungen zu akzeptieren; wenn es vor dem Senden eines Befehls nicht überprüft wird Das BF-Flag muß dann für einen längeren Zeitraum zwischen dem vorherigen Befehl und dem Befehl verlängert werden, dh warten, bis der vorherige Befehl ausgeführt wurde.
Lcd12864 Anwendungsbeispiel
1. Vorbereitung vor der Verwendung: Legen Sie zuerst die Betriebsspannung an das Modul an und stellen Sie dann den Kontrast des LCD gemäß der Verbindungsmethode in der Abbildung unten so ein, dass es ein schwarzes unteres Bild zeigt. Dieser Prozess kann auch zunächst erkennen, ob das LCD-Segment fehlt.
2. Zeichenanzeige: 128X64-0402B mit chinesischer Zeichenbibliothek kann 4 Reihen und 8 Spalten von 32 Zeichen mit 16 16 Punktmatrix pro Bildschirm anzeigen. Jedes Display-RAM kann 1 chinesisches Zeichen oder 2 16 × 8 Gitterhöhen anzeigen. ASCII-Zeichen, die bis zu 32 chinesische Zeichen oder 64 ASCII-Zeichen pro Bildschirm anzeigen können. Das 128X64-0402B mit chinesischer Schriftbibliothek stellt intern einen 128 x 2 Byte langen Zeichenanzeige-RAM-Puffer (DDRAM) zur Verfügung. Die Zeichenanzeige wird erreicht, indem Zeichenanzeigecodes in den Zeichenanzeige-RAM geschrieben werden. Je nach Inhalt des Schreibens können die Inhalte von CGROM (chinesische Schriftbibliothek), HCGROM (ASCII-Schriftart) und CGRAM (benutzerdefinierte Schriftart) auf dem LCD-Bildschirm angezeigt werden. Drei verschiedene Zeichen / Schriftart Auswahl Code Bereich: 0000 ~ 0006H (der Code ist 0000,0002,0004,0006 insgesamt 4) Anzeige benutzerdefinierte Schriftart, 02H ~ 7FH Anzeige halbe Breite ASCII-Code-Zeichen, zeigt A1A0H ~ F7FFH 8192 GB2312 Schriftart Schriftarten. Das Zeichen zeigt die Adresse 80H bis 9FH des RAM in dem Flüssigkristallmodul. Die Adresse des RAM, die von dem Zeichen angezeigt wird, weist eine Eins-zu-Eins-Entsprechung mit dem 32-Zeichen-Anzeigebereich auf. Die Korrespondenzen sind in der folgenden Tabelle dargestellt.
Lcd12864 Chinese Datenzusammenfassung (12864 Pin Beschreibung und Funktion _ Eigenschaften Parameter und Treiberfreigabe)
3, grafische Anzeige
Setzen Sie zuerst die vertikale Adresse und dann die horizontale Adresse (schreiben Sie zwei Datenbytes, um die vertikalen und horizontalen Koordinatenadressen zu vervollständigen)
Vertikaler Adressbereich AC5. .AC0
Horizontaler Adressbereich AC3 ... AC0
Der Adresszähler (AC) des Zeichnungs-RAM erhöht nur automatisch die horizontale Adresse (X-Achse). Wenn die horizontale Adresse = 0FH ist, wird sie auf 00H zurückgesetzt, aber die vertikale Adresse wird nicht automatisch um eins erhöht. Wenn die Adresse fortlaufend geschrieben wird und mehrere Dokumente verfügbar sind, muss das Programm daher feststellen, ob die vertikale Adresse zurückgesetzt werden muss. GDRAM-Koordinatenadresse und Datenreihenfolge wie unten gezeigt:
4, Anwendungsbeschreibung
Beachten Sie bei Verwendung eines 128X64-Anzeigemoduls mit einer chinesischen Schriftbibliothek die folgenden Punkte:
1 Wenn Sie chinesische Zeichen an einer bestimmten Position anzeigen möchten, sollten Sie zuerst die Position des Anzeigezeichens festlegen, dh die Anzeigeadresse zuerst festlegen und dann den chinesischen Zeichencode schreiben.
2 Der Vorgang der Anzeige von ASCII-Zeichen entspricht dem Vorgang der Anzeige chinesischer Zeichen. Wenn Sie fortlaufende Zeichen anzeigen, müssen Sie die Anzeigeadresse jedoch nur einmal festlegen. Das Modul fügt 1 automatisch zur nächsten Zeichenposition hinzu. Andernfalls hat das angezeigte Zeichen eine leere ASCII-Zeichenposition.
3 Wenn der Zeichencode 2 Bytes beträgt, sollte zuerst das obere Byte und dann das untere Byte geschrieben werden.
4 Bevor das Modul die Anweisung empfängt, muss der Prozessor zuerst bestätigen, dass sich das Modul in einem unbusy-Zustand befindet. Das heißt, wenn das BF-Flag gelesen wird, muss BF "0" sein, um den neuen Befehl zu akzeptieren. Wenn das BF-Flag vor dem Senden eines Befehls nicht geprüft wird, muss es lange Zeit zwischen dem vorherigen Befehl und dem Befehl verzögert werden, das heißt, auf den vorherigen Befehl warten, um zu bestimmen, dass die Ausführung abgeschlossen ist. Die Ausführungszeit für die Befehle finden Sie in der Beschreibung der Befehlsausführungszeit in der Befehlstabelle. 5 "RE" ist das Auswahlkontrollbit für den Basisbefehlssatz und den erweiterten Befehlssatz. Wenn "RE" geändert wird, bleibt der nachfolgende Befehlssatz im letzten Zustand, bis das "RE" -Bit erneut geändert wird. Bei Verwendung des gleichen Befehlssatzes ist es nicht notwendig, das "RE" -Bit jedes Mal neu zu setzen.
Lcd12864 Treiber
/ ************************************************* **************************** /
/ * * /
/ * Copyright (c) 2012, pcwebmaster * /
/* Alle Rechte vorbehalten. * /
/ * * /
/ * E-Mail: pcwebmaste@163.com * /
/ * * /
/ ************************************************* **************************** /
/ ************************************************* **************************** /
/ * Dateiname: LCD12864.c * /
/ * Version: Version 1.0 * /
/ * Beschreibung: Verwirklichen Sie das Kommunikationsprotokoll zwischen LCD und MCU, und führen Sie Mensch-Computer-Interaktion entsprechend den vom Computer ausgegebenen Befehlen durch * /
/ * Produzent: pcwebmaste * /
/ * Funktion: * /
/ * LCD12864_init * /
/ * LCD12864WriteCommand * /
/ * LCD12864WriteByte * /
/ * LCD12864_init * /
/ * LCD12864SetXY * /
/ * LCD12864PrintfString * /
/ * Geschichtsdatensatz: * /
/ * pcwebmaste 2008-07-10 Creat Inital Version. (Version 1.0) * /
/ * Modular 2012-06-02 Creat Inital-Version. (Version 2.0) * /
/ ************************************************* **************************** /
#include "12864.h"
#define LOW 0
#define HOCH 1
Sbit wela = P2 ^ 6;
Sbit dula = P2 ^ 7;
#define LCD12864_RS (x) {wenn ((x)) P3 | = 1 "LCD12864_RS_PIN; \
Else P3 & = ~ (1 "LCD12864_RS_PIN);} // Registerauswahleingabe
#define LCD12864_RW (x) {wenn ((x)) P3 | = 1 "LCD12864_RW_PIN; \
Else P3 & = ~ (1 "LCD12864_RW_PIN);} // LCD-Schreib- / Lesesteuerung
#define LCD12864_EN (x) {wenn ((x)) P3 | = 1 "LCD12864_EN_PIN; \
Else P3 & = ~ (1 "LCD12864_EN_PIN);} // LCD Steuerung aktivieren
#define LCD12864_MD (x) {wenn ((x)) P3 | = 1 "LCD12864_MD_PIN; \
Sonst P3 & = ~ (1 "LCD





