Lcd12864 Présentation
La 128X64 avec bibliothèque de caractères chinoise est un module graphique LCD à matrice de points avec interface série à 4 chiffres / 8 bits, 2 ou 3 fils, et polices chinoises chinoises internes de premier niveau et de deuxième niveau simplifiées; Le taux est de 128 & TImes; 64, 8192 16 * 16 caractères chinois et 128 caractères ASCII 16 * 8 points. L'utilisation de la méthode d'interface flexible de ce module et des instructions d'utilisation simples et pratiques peuvent constituer une interface graphique chinoise complète d'interaction homme-machine. Peut afficher 8 & TImes; 4 lignes de 16 & TImes; 16 caractères en treillis. L'affichage graphique peut également être complété. La basse tension et la faible consommation d'énergie sont une autre caractéristique importante. Le schéma d'affichage à cristaux liquides composé de ce module est beaucoup plus simple que le même type de module d'affichage à cristaux liquides à matrice de points graphique, indépendamment de la structure du circuit matériel ou du programme d'affichage, et le prix du module est également légèrement inférieur à celui du module graphique à cristaux liquides de la même matrice de points. .
Lcd12864 paramètres caractéristiques de base

(1) Basse tension d'alimentation (VDD: +3.0 - + 5.5V)
(2) Résolution d'affichage: 128 & TImes; 64 points
(3) Bibliothèque de caractères chinoise intégrée, fournissant 8192 caractères chinois en treillis 16 × 16 (simplifié et traditionnel)
(4) 128 caractères matriciels 16 × 8 intégrés
(5) fréquence d'horloge 2MHZ
(6) Mode d'affichage: STN, semi-transparent, affichage positif
(7) Entraînement: 1/32 DUTY, 1/5 BIAS
(8) Direction de la vue: 6 points
(9) Mode de rétroéclairage: LED de surlignage latéral blanc, la consommation d'énergie est seulement 1 / 5-1 / 10 de LED commune
(10) Communication: série et parallèle
(11) Circuit de conversion CC-CC intégré sans pression négative externe
(12) Simplifier la conception de logiciel sans signal de sélection de puce
(13) Température de fonctionnement: 0 ° C - + 55 ° C, température de stockage: -20 ° C - + 60 ° C
Lcd12864 schéma de la broche et la fonction
Lcd12864 Résumé des données chinoises (12864 description de la broche et la fonction _ paramètres de caractéristiques et le partage de pilotes)
Masse d'alimentation 1VSS-module
Borne positive 2VDD-power du module
Entrée de tension du variateur 3V0-LCD
4RS (CS) H / L Instruction parallèle / sélection de données Signaux; Signaux de sélection de puce série
Signal de sélection de lecture / écriture parallèle 5R / W (SID) H / L; port de données série
6E (CLK) H / L signal de validation parallèle; horloge synchrone série
7DB0H / L données 0
8DB1H / L données 1
9DB2H / L données 2
10DB3H / L données 3
11DB4H / L données 4
12DB5H / L données 5
13DB6H / L données 6
14DB7H / L données 7
15PSBH / L Sélection de l'interface parallèle / série: H-Parallel; L-Serial
Pied vide 16NC
17 / RETH / L réinitialisation active basse
18NC pied vide
19LED_A (LED + 5V) Rétro-éclairage positif
20LED_K (LED-OV) rétroéclairage et négatif
Description de l'interface du contrôleur
1, RS, R / W avec le choix de l'interface de contrôle détermine les quatre modes:
Récapitulatif de données chinois Lcd12864 (12864 broches description et fonction _features paramètres et partage de pilote)
2, signal E
Lcd12864 Résumé des données chinoises (12864 description de la broche et la fonction _ paramètres de caractéristiques et le partage de pilotes)
● Indicateur occupé: l'indicateur BFBF fournit des conditions de fonctionnement internes. BF = 1 indique que le module effectue des opérations internes. À ce moment, le module n'accepte pas les instructions et les données externes. Lorsque BF = 0, le module est prêt à accepter des instructions et des données externes à tout moment. Avec l'instruction STATUSRD, BF peut être lu sur le bus DB7 pour vérifier l'état de fonctionnement du module.
● ROM de génération de polices (CGROM) ROM de génération de polices (CGROM) fournit 8192 Ce déclencheur est utilisé pour contrôler l'affichage à l'écran du module. DFF = 1 est DISPLAY ON, le contenu DDRAM est affiché à l'écran, DFF = 0 est DISPLAY OFF. L'état du DFF est contrôlé par les commandes DISPLAYON / OFF et les signaux RST.
● Afficher les données d'affichage interne du module RAM (DDRAM) La mémoire vive fournit 64 x 2 octets d'espace, jusqu'à 4 lignes de 16 mots (64 mots) dans l'affichage des polices chinoises, dans la mémoire RAM des données d'affichage, Afficher les polices de CGROM et CGRAM respectivement; ce module peut afficher trois types de polices, qui sont des caractères alphanumériques demi-largeur (16 * 8), des polices CGRAM et des polices chinoises de CGROM. Le choix de trois polices est basé sur la DDRAM. Dans l'option d'encodage écrite en chinois, la police personnalisée de CGRAM sera sélectionnée dans le codage 0000H-0006H (les codes de celle-ci sont respectivement 0000, 0002, 0004 et 0006), et les caractères alphanumériques de demi-largeur seront sélectionnés dans 02H-7FH encodage. La police, comme pour le code au-dessus de A1 sera automatiquement combinée avec l'octet suivant, et le codage des deux octets forme le code de caractère chinois BIG5 (A140-D75F), GB (A1A0-F7FFH).
● Génération de polices La RAM de génération de polices RAM (CGRAM) fournit une fonction de définition d'image (création de mots), qui peut fournir quatre groupes de 16 × 16 points d'espace d'image personnalisé. Les utilisateurs peuvent fournir des caractères d'image non fournis par les polices internes. Type est auto-défini à CGRAM et peut être affiché sur l'écran via DDRAM comme défini dans CGROM.
● Le compteur d'adresse AC du compteur d'adresses est utilisé pour stocker l'adresse de l'un des DDRAM / CGRAM. Il peut être modifié par le registre d'instructions de réglage. Par la suite, tant que la valeur de DDRAM / CGRAM est lue ou écrite, la valeur du compteur d'adresses sera Ajouter automatiquement. Lorsque RS est "0" et que R / W est "1", la valeur du compteur d'adresses est lue dans DB6-DB0.
Circuit de contrôle du curseur / scintillement
Ce module fournit un curseur de matériel et un circuit de contrôle de flicker qui spécifie la position du curseur ou du clignotement dans la DDRAM par la valeur du compteur d'adresses.
Lcd12864 instructions
Lcd12864 Résumé des données chinoises (12864 description de la broche et la fonction _ paramètres de caractéristiques et le partage de pilotes)
Récapitulatif de données chinois Lcd12864 (12864 broches description et fonction _features paramètres et partage de pilote)
Remarque: Avant que IC1 accepte l'instruction, le microprocesseur doit d'abord confirmer que l'interne est en état de saturation. Lors de la lecture du drapeau BF, BF doit être nul pour accepter les nouvelles instructions; si elle n'est pas vérifiée avant d'envoyer une instruction, l'indicateur BF doit alors être étendu pendant une période plus longue entre l'instruction précédente et l'instruction, c'est-à-dire en attendant que l'instruction précédente soit exécutée.
Exemple d'application Lcd12864
1. Préparation avant utilisation: Appliquez d'abord la tension de travail au module, puis ajustez le contraste de l'écran LCD en fonction de la méthode de connexion de la figure ci-dessous, de façon à ce qu'il affiche une image noire en bas. Ce processus peut également détecter initialement si le segment LCD est manquant.
2. Affichage de caractères: 128X64-0402B avec la bibliothèque de caractères chinoise peut afficher 4 rangées et 8 colonnes de 32 caractères avec 16 matrice de 16 points par écran. Chaque RAM d'affichage peut afficher 1 caractère chinois ou 2 hauteurs de treillis 16 × 8. Les caractères ASCII, qui peuvent afficher jusqu'à 32 caractères chinois ou 64 caractères ASCII par écran. Le 128X64-0402B avec bibliothèque de polices chinoise fournit en interne un tampon RAM d'affichage de caractères de 128 x 2 octets (DDRAM). L'affichage des caractères est réalisé en écrivant des codes d'affichage des caractères dans la RAM d'affichage des caractères. Selon le contenu de l'écriture, le contenu de CGROM (bibliothèque de polices chinoise), HCGROM (police de caractères ASCII) et CGRAM (police personnalisée) peut être affiché sur l'écran LCD. Trois caractères différents / plage de code de sélection de police: 0000 ~ 0006H (le code est 0000,0002,0004,0006 un total de 4) afficher la police personnalisée, 02H ~ 7FH afficher le caractère de code ASCII demi-largeur, A1A0H ~ F7FFH montre la police 8192 GB2312 polices. Le caractère montre l'adresse 80H à 9FH de la RAM dans le module à cristaux liquides. L'adresse de la RAM affichée par le caractère a une correspondance biunivoque avec la zone d'affichage de 32 caractères. Les correspondances sont indiquées dans le tableau suivant.
Lcd12864 Résumé des données chinoises (12864 description de la broche et la fonction _ paramètres de caractéristiques et le partage de pilotes)
3, affichage graphique
Définissez d'abord l'adresse verticale, puis définissez l'adresse horizontale (écrivez deux octets de données pour compléter les adresses de coordonnées verticales et horizontales)
Plage d'adresses verticale AC5. .AC0
Plage d'adresses horizontale AC3 ... AC0
Le compteur d'adresses (AC) de la RAM de dessin augmentera automatiquement l'adresse horizontale (axe X). Lorsque l'adresse horizontale est 0FH, elle sera réinitialisée à 00H mais n'augmentera pas automatiquement l'adresse verticale de un. Par conséquent, lorsque l'adresse est écrite en continu, Lorsque plusieurs documents sont disponibles, le programme doit déterminer si l'adresse verticale doit être réinitialisée. GDRAM coordonne l'adresse et l'ordre de disposition des données comme indiqué ci-dessous:
4, description de l'application
Lorsque vous utilisez un module d'affichage 128X64 avec une bibliothèque de polices chinoise, notez les points suivants:
1 Lorsque vous souhaitez afficher les caractères chinois dans une certaine position, vous devez d'abord définir la position du caractère d'affichage, c'est-à-dire régler d'abord l'adresse d'affichage, puis écrire le code du caractère chinois.
2 Le processus d'affichage des caractères ASCII est identique au processus d'affichage des caractères chinois. Toutefois, lors de l'affichage de caractères continus, il vous suffit de définir l'adresse d'affichage une fois. Le module ajoute automatiquement 1 à la position de caractère suivante. Sinon, le caractère affiché aura une position de caractère ASCII vide.
3 Lorsque le code de caractère est de 2 octets, l'octet supérieur doit être écrit en premier, suivi de l'octet inférieur.
4 Avant que le module ne reçoive l'instruction, le processeur doit d'abord confirmer que le module est dans un état non occupé. Autrement dit, lorsque le drapeau BF est lu, BF doit être "0" pour accepter la nouvelle instruction. Si l'indicateur BF n'est pas vérifié avant d'envoyer une instruction, il doit être retardé longtemps entre l'instruction précédente et l'instruction, c'est-à-dire attendre l'instruction précédente pour déterminer que l'exécution est terminée. Pour le temps d'exécution des instructions, reportez-vous à la description des temps d'exécution des instructions dans le tableau d'instructions. 5 "RE" est le bit de contrôle de sélection pour le jeu d'instructions de base et le jeu d'instructions étendu. Lorsque "RE" est modifié, le jeu d'instructions suivant reste dans le dernier état sauf si le bit "RE" est à nouveau modifié. Lorsque vous utilisez le même jeu d'instructions, il n'est pas nécessaire de réinitialiser le bit "RE" à chaque fois.
Pilote Lcd12864
/ ********************************************** ************************ /
/ * * /
/ * Copyright (c) 2012, pcwebmaster * /
/* Tous les droits sont réservés. * /
/ * * /
/ * Email: pcwebmaste@163.com * /
/ * * /
/ ********************************************** ************************ /
/ ********************************************** ************************ /
/ * Nom de fichier: LCD12864.c * /
/ * Version: Version 1.0 * /
/ * Description: Réalise le protocole de communication entre LCD et MCU, et effectue une interaction homme-machine en fonction des commandes émises par l'ordinateur * /
/ * Producteur: pcwebmaste * /
/* Fonction: */
/ * LCD12864_init * /
/ * LCD12864WriteCommand * /
/ * LCD12864WriteByte * /
/ * LCD12864_init * /
/ * LCD12864SetXY * /
/ * LCD12864PrintfString * /
/ * historique: * /
/ * pcwebmaste 2008-07-10 Creat Version initiale. (Version 1.0) * /
/ * Modular 2012-06-02 Version initiale de Creat. (Version 2.0) * /
/ ********************************************** ************************ /
#include "12864.h"
#define LOW 0
#define HIGH 1
Sbit wela = P2 ^ 6;
Sbit dula = P2 ^ 7;
#define LCD12864_RS (x) {if ((x)) P3 | = 1 "LCD12864_RS_PIN; \
Else P3 & = ~ (1 "LCD12864_RS_PIN);} // entrée de sélection de registre
#define LCD12864_RW (x) {if ((x)) P3 | = 1 "LCD12864_RW_PIN; \
Else P3 & = ~ (1 "LCD12864_RW_PIN);} // Contrôle de lecture / écriture LCD
#define LCD12864_FR (x) {if ((x)) P3 | = 1 "LCD12864_EN_PIN; \
Else P3 & = ~ (1 "LCD12864_EN_PIN);} // LCD Activer le contrôle
#define LCD12864_MD (x) {if ((x)) P3 | = 1 "LCD12864_MD_PIN; \
Sinon P3 & = ~ (1 "LCD





