Professional Documents
Culture Documents
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 1
COMMANDE DAFFICHEURS CRISTAUX LIQUIDES
1) INTRODUCTION
Ce cours prsente :
linterfaage matriel dafficheurs cristaux liquides un P/C
la commande logicielle dafficheurs cristaux liquides
Les afficheurs cristaux liquides (LCD = Liquid Crystal Display) peuvent tre avec ou sans
contrleur intgr. Lorsquun contrleur est intgr, on parle de module LCD.
Il existe de nombreux types dafficheurs avec contrleur intgr. Les plus rpandus sont ceux
avec 2 lignes de 16 caractres intgrant un contrleur Hitachi HD44780 ou quivalent (KS0066
de Samsung, etc.). Ils sont quasiment normaliss au niveau des broches et des commandes.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 2
Les afficheurs de 4 lignes de 20 caractres sont assez rpandus. Ils sont eux aussi quasiment
normaliss au niveau des broches et des commandes.
Seuls les afficheurs de ces types sont dcrits ici.
Dautres afficheurs 1 ligne se commandent de faon similaire. Il est donc facile de transposer ce
qui est mentionn ici.
Le module dispose de :
signaux de liaison avec le C ou le systme P de commande : DB7-DB0, EN, R/W, RS
2 broches pour lalimentation VDD et VSS (VDD VSS = 5V)
une broche pour rgler de contraste de laffichage (V0)
parfois deux broches pour lalimentation de DELs pour le rtro-clairage
Brochage :
broche N Symbole Fonction
1 VSS 0V
2 VDD 5V
3 V0 Rglage contraste1
4 RS 0 : Code instruction 1 : Donnee
5 R/W 1 : Lecture 0 : Ecriture
6 E Horloge
7 D0
8 D1
9 D2
10 D3 Bus de donne Bidirectionnel2
11 D4
12 D5
13 D6
14 D7
1 : le rglage de contraste seffectue en appliquant une tension variable sur cette broche.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 3
2 : Lors de l'utilisation en mode 4 bits seul les bits D4 D7 sont utiliss. Les lignes correspondant
de D0 D4 sont laisses en l'air. On communique le quart de poids fort puis de poids faible.
La structure interne trs simplifie dun afficheur de 2 lignes de 16 caractres est donne sur la
figure suivante1 :
Le CI contrleur et le circuit dextension ralisent toutes les fonctions reprsentes ci-dessus, hormis
laffichage proprement dit.
Pour une bonne utilisation, il est ncessaire de comprendre comment fonctionne le contrleur
HD44780.
Le multiplexage de la matrice LCD est transparent l'utilisateur, aussi il n'en est pas fait mention
ici.
Le rle des signaux dinterfaage est dtaill aprs des gnralits sur le contrleur dafficheur.
1
Ce schma est extrait dun document de Giampiero D'AQUINO disponible sur Internet
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 4
2.3) PRINCIPE SIMPLIFI DE FONCTIONNEMENT DU CONTRLEUR
2.3.1) INITIALISATION
Le contrleur doit d'abord tre initialis (nombre de lignes de l'afficheur, nb de bits de donnes
utiliser pour communiquer avec le C, ). Cette initialisation est ncessaire car le constructeur a
prvu de pouvoir adapter son circuit plusieurs types d'afficheurs et de P/C.
L'initialisation s'effectue normalement automatiquement la mise sous tension avec un circuit
interne. Comme ce circuit ne fonctionne pas toujours (la pratique montre quil ne fonctionne
jamais), il est ncessaire de prvoir systmatiquement une squence d'initialisation commande
par le C (voir plus loin).
Cest lors de linitialisation quest notamment fixe la largeur du bus de donnes utilis pour
communiquer avec le P/C.
Le module peut communiquer avec le P/C par un bus de donnes de 4 bits ou de 8 bits.
Lorsquun bus de 4 bits est utilis, il faut 2 accs successifs au lieu dun avec un bus de 8 bits.
Les changes avec un bus de 4 bits permettent de rduire le nombre de broches ncessaires sur le
P/C.
L'utilisateur crit dans une RAM, Display Data RAM DDRAM-, les codes des caractres (chacun
sur un octet) afficher et donne des instructions pour l'affichage.
Un gnrateur de caractre permet de dlivrer les informations pour la commande des pixels
partir du code du caractre en DDRAM.
Les caractres en ROM correspondent aux caractres ASCII pour les codes 21h 7Dh (lettres
minuscules non accentues, lettres majuscules, chiffres, caractres de ponctuation, signes ma-
thmatiques, ). Pour les autres codes, cela dpend de la version du contrleur. Voir doc du
module afficheur.
Les codes des caractres fournis par l'utilisateur sont rangs dans la DDRAM aux adresses dli-
vres par un compteur d'adressage ou compteur dadresse.
Le contenu de ce compteur peut tre :
fix par l'utilisateur une valeur dfinie avec une instruction spcifique
ou remis 0 avec une instruction qui replace galement l'affichage dans sa position d'origine.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 5
Aprs chaque criture d'un code de caractre, le compteur est automatiquement incrment (ou
dcrment). Ceci permet de simplifier l'criture du programme utilisateur.
Les modles du gnrateur de caractre sont rangs dans la CGRAM aux adresses fixes par le
mme compteur d'adressage utilis pour la DDRAM. Le contenu de ce compteur peut tre fix
par l'utilisateur. Aprs chaque criture, le compteur est automatiquement incrment (ou dcr-
ment).
Pour simplifier les changes entre le module et le C, seuls 2 registres sont utiliss pour les
transferts au niveau du module :
le registre d'instruction IR (Instruction Register). Lors d'une criture par le C, il contient les
codes des instructions et les adresses pour les RAM. Lors d'une lecture par le C, il contient
le bit d'tat et l'adresse du compteur d'adresse.
le registre de donnes DR (Data Register). Il sert mmoriser les donnes crire (ou lire)
dans (depuis) une des RAM.
Les transferts internes au contrleur sont transparent l'utilisateur et dpendent de la succession
des commandes (instruction, criture donnes) envoyes au modules.
DB0-DB7 sont des E/S bidirectionnelles. Elles sont utilises pour vhiculer les instructions et les
donnes (codes des caractres afficher, etc.). Leur comportement dpend des signaux RS et E.
Pour lutilisation en mode 8 ou 4 bits, voir 2.4.3)
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 6
RS permet de choisir :
la destination des donnes lors dune criture : registre instruction IR ou registre de donnes
DR (voir plus haut).
la provenance des donnes lors dune lecture : donnes en provenance dune des RAM ou
adresse du compteur dadressage des RAM
E permet aussi de prendre en compte les signaux RS et R/W. Ceux-ci doivent donc tre posi-
tionns avant le front montant de E.
Lors dune criture les signaux en D0-D7 sont mmoriss sur le front descendant de E.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 7
Valid data correspond une donne renvoye par le contrleur du LCD (voir plus loin, 2.6)
Certaines dures changent avec la version du contrleur. Par exemple la version HD44780U est
plus rapide que la version HD44780S.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 8
1 : la dure recommande permet dutiliser nimporte quelle module afficheur LCD sans se sou-
cier du contrleur dont il est quip.
Les 2 adresses pour la lecture peuvent tre ou non les mme que celles de lcriture. Ceci d-
pend des signaux de contrle disponibles sur le P employ.
Avec un P rapide, il est ncessaire de rajouter des cycles dattentes pour respecter les dures
mentionnes ci-dessus.
Linterfaage est plus compliqu que pour le cas prcdent. Le C ne possde pas de signal
quivalent 2 du C prcdent. Il ne dispose pas non plus dun signal unique R/W
Pour construire E du contrleur, il est ncessaire dutiliser un circuit combinatoire avec en entre
des bits dadresses et les signaux /RD et /WR.
R/W du contrleur est connect un bit dadresse du C, de mme que RS.
On utilise ici 4 adresses distinctes pour commander lafficheur.
Le dtail de linterfaage ne peut tre dvelopp ici. Il faut ajouter des cycles dattente, etc.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 9
2.4.3) INTERFAAGE DIRECT AVEC UN C OU LINTERFACE PARALLLE DUN SYS-
TME P
RS, E et R/W doivent tre connectes sur des sorties du C ; D0-D7 doivent tre connectes sur
des E/S ou sur des sorties si on ne souhaite pas effectuer de lecture.
Avec des donnes sur 4 bits, il faut dabord transfrer les 4 bits de poids forts puis les 4 bits de
poids faible.
La figure suivante montre quelques changes
Les temps mentionns prcdemment sont tels qu'avec un C ordinaire (frquence d'horloge < 1
dizaine de MHz, temps d'excution d'une instruction > 200 300 ns) les programmes suivants
conviennent.
On appelle P_E, P_RS et P_R/W les broches des ports sur lesquelles sont connects les signaux
E, RS et R/W. Le nom exact des broches du C dpend de celui-ci.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 10
Cycle de lecture Exemple en langage d'assemblage 68HC11
Initialement P_E=0
Positionner P_RS la valeur voulue pour LDAA #VALEUR
l'accs IR ou DR et P_R/W 1 STAA PORTx ; PORTx utilis pour E, R/W et RS
Positionner P_E 1 BSET .,, ; il faut d'abord charger un index
(1)
Lire les donnes sur les P_DBx
P_E = 0 LDAA PORTy ; PORTy utilis pour les donnes
BCLR ,,.
1 : si utilisation d'un C rapide, il faut attendre que les donnes soient disponibles avant d'effec-
tuer la lecture.
Entre 2 cycles, il faut attendre un temps spcifi dans la documentation (dpend des versions
du contrleur).
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 11
2.5) AFFICHAGE AVEC LE MODULE DE 2 LIGNES DE 16 CARACTRES
Aprs une procdure de "RZ" ou une instruction "retour en position initiale" (home), l'affichage
part toujours des caractres situs chacun la premire adresse de chacune des 2 lignes de la
DDRAM.
La fentre peut se dplacer d'un caractre avec une instruction de dcalage (shift). Il est possible
de raliser une animation avec plusieurs dcalages et des temporisations.
Si on n'utilise qu'une partie de la DDRAM, l'autre peut tre utilise comme de la RAM d'usage
gnral, pour augmenter la capacit mmoire du C.
La documentation fait rfrence la 1re mthode. Si on veut accder la DDRAM, il faut forcer
DB7 1 et son adresse interne est donne par DB6-DB0. Si on veut accder la CGRAM, il faut
forcer DB7, DB6 01 et l'adresse interne est donne par DB5-DB0.
Si laffichage na pas suivi de dcalage, les adresses internes / externes de la fentre daffichage
et de la partie invisible sont :
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 12
fentre daffichage (partie visible) partie invisible
re
1 ligne adresses internes : 00h 0Fh (16 car) adresses internes : 10h 27h (24 car)
adresses externes : 80h 8Fh adresses externes : 90h A7h
2me ligne adresses internes : 40h 4Fh (16 car) adresses internes : 50h 67h (24 car)
adresses externes : C0h CFh adresses externes : D0h E7h
La CG-RAM, d'une capacit de 64 octets, offre 8 matrices de 5x8 points qui peuvent tre pro-
grammes par l'utilisateur. Les codes placer en DD-RAM pour laccs aux caractres personna-
liss vont de 00h 07h. (Les codes images de 08h 0Fh donnent le mme rsultat)
Programmation d'un caractre : chaque caractre occupe 8 octets. Pour chaque octet, seuls les
5 bits de poids faibles sont utiles, les autres tant 0.
Un pixel devant apparatre en noir sera positionn 1.
Le lien entre le code dun caractre personnel et les adresses mmoire utilises est donn dans
le tableau suivant :
Code du caractre en Adresses externes de la
DD-RAM CG-RAM programmer
00h 40h 47h
01h 48h 4Fh
02h 50h 57h
03h 58h 5Fh
04h 60h 67h
05h 68h 6Fh
06h 70h 77h
07h 78h 7Fh
Exemple : On dsire crer le symbole flche diagonale vers le haut avec comme code 00.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 13
2.6) AFFICHAGE AVEC LE MODULE DE 4 LIGNES DE 20 CARACTRES
Les adresses de la ligne 3 suivent les adresses de la ligne 1 et les adresses de la ligne 4 suivent
celles de la ligne 2.
Si le programme charg dcrire dans le LCD est mal conu et quil crit trop de caractres sur la
ligne 1, lcriture se poursuit ligne 3.
La notion de fentre daffichage na pas beaucoup de sens ici. Il est cependant possible de rali-
ser des dcalages, condition de bien rflchir au rsultat (caractres changeant de lignes aprs
un dcalage, etc).
Les instructions et les donnes ne peuvent tre crites ou lues que si les prcdentes ont t
correctement traites. 2 faons de procder :
scruter le bit d'tat en ralisant une lecture de IR et n'autoriser une criture que si ce bit est
0 (module prt).
attendre avec une temporisation le temps spcifi dans la documentation constructeur.
L'criture des instructions se fait avec RS=0 (voir plus haut). Les diffrentes instructions sont diff-
renties par les valeurs de DB7-DB0. R/W est toujours gal 0 puisquil sagit uniquement
dcriture.
Lcriture et la lecture des donnes seffectuent avec RS=1.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 14
Commande RS R/ D7 D6 D5 D4 D3 D2 D1 D0 Description Dure
W dexcu-
tion1
Effacement 0 0 0 0 0 0 0 0 0 1 Efface l'ensemble de la m- 1,64ms
de moire daffichage sans toucher
laffichage au gnrateur de caractre.
Met le curseur en position
Home, l'adresse 00.
Curseur en 0 0 0 0 0 0 0 0 1 * Met le curseur en position 1,64ms
position Home. Si l'affichage t
Home dcal, il est remis sa posi-
tion d'origine.
Mode 0 0 0 0 0 0 0 1 ID S Dtermine le changement 40s
dentre ID = 1 : Incrmentation / ID = 0 : Dcrmentation dadresse aprs criture d'un
S = 1 : Dcalage de tout laffichage caractre (ID) et le dplace-
ment collectif d'une position de
l'ensemble de l'affichage (S).
Mode 0 0 0 0 0 0 1 D C B Met l'affichage en ou hors 40s
daffichage D = 1 : affichage en fonction fonction (D). Met le curseur en
C = 1 : curseur visible ou hors fonction (C). Fait cli-
gnoter le caractre situ au-
B = 1 : clignotement du caractre
dessus du curseur (B), cligno-
tement se traduisant par une
alternance du caractre et du
caractre FF (rectangle noir)
Dcalage 0 0 0 0 0 1 S/C R/L * * Dplace le curseur ou l'en- 40s
affichage / S/C=1 : dcalage de laffichage semble de l'affichage sans
Dplace- S/C=0 : dplacement du curseur modifier le contenu de la m-
ment cur- moire.
R/L=1 : dcalage droite
seur R/L=0 : dcalage gauche
Mode de 0 0 0 0 1 DL N F * * Fixe la largeur du bus de don- 40s
fonction- DL=1 : 8 bits / DL=0 : 4 bis nes (DL), le nb de lignes de
nement N=1 : 2 lignes / N=0 : 1 ligne lafficheur (N) et la taille de la
matrice des caractres (F)
F=1 : 5*10 pixels / F=0 : 5*7 pixels
criture de 0 0 0 1 Adresse interne de la CGRAM Dfinit l'adresse de la mmoire 40s
ladresse de (de 0 3F) du gnrateur de caractres.
la CGRAM Les donnes peuvent tre lues
ou crites cette adresse
criture de 0 0 1 Adresse interne de la DDRAM (de Dfinit l'adresse de la mmoire 40s
ladresse de 0 7F) de donnes. Les donnes,
la DDRAM correspondant aux codes des
caractres ASCII, peuvent tre
lues ou crites partir de cette
adresse.
Lecture de 0 1 BF Valeur courante du compteur Lit l'indicateur Busy (BF) pour 1s
lindicateur dadressage vrifier que l'afficheur et en
Busy et de BF=1 : Occup / BF=0 : le contrleur peut accepter mesure de traiter la commande
ladresse suivante et ladresse courante
une nouvelle commande ou donne
du compteur dadressage.
criture des 1 0 Donne crire criture dans la CGRAM ou 46s
donnes DDRAM selon la valeur du
compteur dadressage
Lecture des 1 1 Donne lue Lecture dans la CGRAM ou 46s
donnes DDRAM selon la valeur du
compteur dadressage
1 : les dures peuvent tre plus importantes avec certains contrleurs anciens (jusqu 3 fois les
valeurs mentionnes ici).
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 15
On ne peut crire les donnes dans une des 2 RAM qu'aprs avoir :
choisi le bon mode d'entre
donn l'adresse de dbut de l'enregistrement des donnes (positionnement du compteur
d'adressage)
Lors de l'criture des donnes (codes des caractres) dans la DDRAM, le comportement de l'af-
fichage dpend de la programmation prcdente.
Exemple.
affichage correctement initialis
mode d'entre : Incrmentation du compteur d'adressage (dcalage gauche du curseur), pas
de dcalage de l'affichage
affichage et curseur "on"
effacement de l'affichage (compteur d'adressage 0)
Lors de chaque criture de donne en DDRAM, le curseur est dcal et le nouveau caractre est
affich la suite des autres.
Fonctionnement du dcalage
A chaque commande de dcalage, laffichage est dcal. Aprs le caractre du dernier empla-
cement mmoire DDRAM (le 40me), cest le caractre du premier emplacement mmoire
DDRAM qui est affich la suite. Ceci permet de raliser des animations circulaires.
Pour un module de 2 lignes, fonctionnant en mode 8 bits, le constructeur prconise les opra-
tions suivantes (les temps dpendent des versions du contrleur) :
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 16
attendre au minimum15 ms aprs l'tablissement de la tension d'alimentation 4,5V min
crire 3xh dans IR
attendre 4,1 ms min
crire 3xh dans IR
attendre 100 s min
crire 3xh dans IR
attendre 40 s min
crire 38h dans IR (2 lignes, matrice 5x8)
attendre la fin de lopration (40s)
crire 01h dans IR (effacement de l'cran)
attendre la fin de lopration (qqs ms, doc peu prcise)
crire 0Ch dans IR (Affichage en fonction, curseur non visible, pas de clignotement du carac-
tre)
attendre la fin de lopration (40s)
crire 06h dans IR (Incrmentation du compteur d'adressage aprs criture d'un caractre)
attendre la fin de lopration (40s)
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 17
BUS DE DONNES DE 4 BITS
Pour un module de 2 lignes, fonctionnant en mode 4 bits, le constructeur prconise les opra-
tions suivantes (les temps dpendent des versions du contrleur) :
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 18
crire 01h dans IR (effacement de l'cran)
attendre la fin de lopration (qqs ms, doc peu prcise)
crire en 2 fois 0Ch dans IR (Affichage en fonction, curseur non visible, pas de clignotement
du caractre)
attendre la fin de lopration (40s)
crire en 2 fois 06h dans IR (Incrmentation du compteur d'adressage aprs criture d'un ca-
ractre)
attendre la fin de lopration (40s)
PRSENTATION GNRALE
Des fonctions de haut niveau permettent dafficher une ligne entire partir de la gauche de
lafficheur ou dafficher une chane de caractres une position dtermine.
Ces fonctions de haut niveau utilisent des fonctions de bas niveau pour fixer la valeur du comp-
teur dadressage, crire une commande, etc.
Pour respecter les dures entre critures de commande, etc., il est possible dutiliser des tempo-
risations entre les commandes ou des attentes avec test de ltat du contrleur.
Il est possible dincorporer ou non ces temporisations ou attentes dans les fonctions de bas ni-
veau ou de niveau intermdiaire.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 19
void EcritCar (unsigned char Code) bas crit un caractre partir de la position cou-
niveau rante du compteur dadressage
void EcritCde(unsigned char Valeur) bas crit une commande (dfilement, etc.)
niveau
void AttenteFinOperation(void) bas Attend que le drapeau BF passe 1, indiquant
niveau ainsi que lopration en cours est termine.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 20
E, RS ET RW
Utilisation de masquage
tant donn que RS et RW sont dans la plupart des commandes 0, on prend cette valeur
comme la valeur par dfaut. Lorsque une commande ncessite un changement dtat, ce chan-
gement seffectue dans la fonction utiliser. Cette fonction remet en fin RS ou RW 0.
Dans ce qui suit, on suppose que les donnes sont connectes sur le PortDonnee. Le sens de
transfert sur ce port est fix avec un registre de direction SensPortDonnee. 1 correspond la
mise en entre
Le compilateur utilis dispose dune extension au C ANSI pour la notation binaire. RS, RW et E
sont dfinies chacune comme une broche du C. Avec un compilateur ne disposant pas de type
boolen, il faut procder par masquage.
void AttenteFinOperation(void)
{
unsigned char VarTemp;
SensPortDonnee = 0b11111111; // les broches de donnes du module sont toutes en sorties
// lors dun opration de lecture, donc les broches du C sont en entre
RW=1;
do
{
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 21
E = 1;
asm("nop"); // pour utilisation avec C rapide
asm("nop");
VarTemp=PortDonnee & 0b10000000;
E=0 ;
}
while(VarTemp !=0);
RW=0;
SensPortDonnee=0 pour revenir la configuration initiale
}
{
unsigned char NbCarTransfere=0;
PosCmptMemAff(0, Ligne);
while ((*PtrCarMsg != 0) && (NbCarTransfere != CARS_MAX))
/* CARS_MAX est gal au nombre de caractres max de la mmoire daffichage dune li-
gne moins un. Ex : CARS_MAX = 39 */
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 22
{
EcritCar(*PtrCarMsg );
NbCarTransfere ++;
PtrCarMsg ++;
}
while (NbCarTransfere != CARS_MAX)
{
EcritCar(0x20); /*caractere espace*/
NbCarTransfere ++;
}
}
Autre variante :
void EcritUneLigne(const unsigned char* PtrCarMsg, unsigned char Ligne)
/* const pour accs donnes en ROM et RAM, syntaxe propre un compilateur pour
un C PIC */
{
unsigned char NbCarTransfere=0;
PosCmptMemAff(0, Ligne);
if (*PtrCarMsg!=0)
{do
{
EcritCar(*PtrCarMsg);
NbCarTransfere ++;
PtrCarMsg ++;}
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 23
PtrCarMsg ++;
}
}
if (Valeur < 0) {
Valeur = - Valeur;
CodesASCII[Position++]='-';
}
if (Valeur == 0){
CodesASCII[Position++] = '0';
}
else {
while (Diviseur != 0) {
Quotient = Valeur / Diviseur;
if ((ChiffreSignificatif == VRAI)||(Quotient!=0)) {
CodesASCII[Position++]='0'+Quotient;
ChiffreSignificatif = VRAI;
}
Valeur = Valeur % Diviseur; // reste de la division
Diviseur = Diviseur /10;
}
}
CodesASCII[Position] = NULL;
return(CodesASCII);
Pour une conversion dun entier non sign vers une chane de caractre, il suffit de conserver
quune partie de ce programme.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 24
2.9) CARACTRES EN MMOIRE ROM
Il existe plusieurs versions de contrleur. La plus rpandue est celle avec les caractres suivants
en mmoire.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 25
3) AFFICHEUR CRISTAUX LIQUIDES : CONSTITUTION ET COMMANDES
Ce qui suit est utile pour la mise en uvre des afficheurs LCD et de leurs circuits de commande.
Chaque lment de lafficheur (segment, pictogramme, point, etc.) ncessite 2 surfaces conduc-
trices (lectrodes) en regard.
Pour le dtail sur le principe de fonctionnement dun afficheur cristaux liquides, voir lannexe.
Une des surfaces est situe sur la face arrire de lafficheur : backplane
Le contraste dpend de :
la position relative afficheur / observateur
la valeur efficace de la tension applique entre le commun et une lectrode (voir sui-
vant)
Aprs la mise sous tension, un temps de retard la mise en fonctionnement s'coule jusqu' ce
qu'une variation de contraste apparaisse. Le temps de monte est mesur entre 10% et 90% du
contraste. De la mme manire, il existe un temps de retard ou de retombe.
Les temps de rponse sont fonction de la viscosit de la substance ainsi que de l'paisseur de la
cellule : la viscosit et les temps de rponse dcroissent quand la temprature croit. A 25C, les
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 26
temps de rponse sont de
l'ordre de 40 ms pour le
temps d'tablissement et de
l'ordre de 40 80ms pour le Temps de disparition
temps de disparition. Ce pa- Temps d'tablissement
ramtre reprsente un des
gros inconvnients des LCD.
10 T(C)
-40 -20 0 20 40 60 80
MODLE QUIVALENT
C R2
TENSION DE COMMANDE
Un afficheur transmet la lumire lorsquaucune diffrence de potentiel nest applique entre les
2 lectrodes dun lment. Llment afficher nest pas visible.
Il ne transmet pas la lumire lorsquune diffrence de potentiel est appliqu entre les 2 lectro-
des. Llment afficher est visible en noir.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 27
La tension entre lectrodes doit toujours tre valeur moyenne proche de 0 (infrieure 50mV)
pour viter de dtruire les cristaux liquides par lectrolyse, dans le cas o les lectrodes ne sont
pas isoles des cristaux liquides.
Pour disposer dune tension valeur moyenne nulle, on envoie des signaux rectangulaires ou en
marches plus ou moins complexes entre les lectrodes. Ces signaux sont dtaills dans les 2
suivants.
La frquence des signaux appliqus entre les lectrodes est limite par 2 caractristiques :
le scintillement de laffichage si la frquence est trop basse
une consommation excessive si la frquence est trop haute
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 28
COMMANDE DUN AFFICHEUR AVEC UN SEUL COMMUN (BACKPLANE)
Voff = 0
Von = VDD-VLCD
Avec plusieurs communs, laffichage est multiplex. Les lments sont commands par groupes.
Pour respecter les contraintes prsentes auparavant, plusieurs formes de tensions peuvent tre
appliques sur les lectrodes. Elles prsentent toutes des marches descalier.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 29
On prsente ci-dessous uniquement 2 cas :
multiplexage 1 : 2 (2 communs) / 3 niveaux
multiplexage 1 : 2 (2 communs) / 4 niveaux
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 30
multiplexage 1 : 2 / 4 niveaux de tension (1/3 bias)
Gnralisation
VLCD est obtenu partir dun montage avec un potentiomtre. Les tensions de polarisation sont
obtenues avec un diviseur de tension. VLCD permet de faire varier Von et Voff et donc le con-
traste.
Dans les figures ci-dessus Vop = VDD VLCD.
Plus le nombre de communs est grand (taux de multiplexage grand), plus le rapport D est faible.
VLCD doit tre finement ajust pour obtenir le meilleur contraste possible.
Un afficheur de 2 lignes de 16 caractres fonctionne avec un multiplexage 1 : 12.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 31
4) C ET CI SPCIALISS POUR LINTERFAAGE DE LCD
4.1) GNRALITS
Certains CI ont besoin de composants externe pour fabriquer une horloge ncessaire au bon
fonctionnement.
Llaboration des signaux de commande du LCD est transparente lutilisateur. Celui-ci doit uni-
quement :
crire dans des registres internes les tats des lments du LCD
ventuellement programmer un fois la configuration souhaite (nb de communs, etc.)
Les diffrentes informations envoyer du C au CI spcialis peuvent tre sous forme srie ou
parallle.
Les CIs configurables ont en gnral un grand nombre de broches pour la commande du LCD.
Pour diminuer le nombre de broches total, les informations sont en gnral envoyes en srie.
Certains CIs non configurables ont un nombre limit de broches vers le LCD (<30). On peut
dans ce cas utiliser une liaison parallle.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 32
Pour laffichage, on peut envoyer :
les codes des caractres, chiffres ou lettres, afficher dans le cas CI prvu pour commander
uniquement un affichage alphanumrique
les tats de tous les lments du LCD dans le cas dun CI pour commander un affichage
quelconque (caractres alphanumrique, dessins, etc.)
Les informations mmoriser sont les 4 codes DCB des chiffres afficher. Des dcodeurs inter-
nes DCB 7 segments laborent les informations utilises pour la commande des segments.
Les 4 codes DCB sont envoys en // les uns aprs les autres. Des signaux permettent de slec-
tionner le chiffre dont le code DCB est transmis.
CI CONFIGURABLE PCF8566
Les informations de configuration et les tats des lments du LCD sont transmis sous forme
srie. Avec le circuit prsent, le protocole de communication est lI2C. Il existe des circuits du
mme type avec dautres protocoles.
Une RAM daffichage contient une image des tous les lments du LCD. Chaque bit correspond
un lment du LCD. Lutilisateur doit crire dans cette RAM chaque fois quil y a modifica-
tion de laffichage.
Lutilisateur doit cbler son LCD au CI spcialis de faon ce que lcriture dans la RAM
daffichage soit la plus simple possible. Par exemple si son afficheur contient des chiffres, il faut
sarranger pour que les segments dun mme chiffre correspondent des bits conscutifs dans la
mmoire daffichage (7 bits pour les 7 segments + 1 bit pour le point dcimal). Pour modifier un
chiffre, il suffit dcrire un octet dans la RAM daffichage.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 33
ANNEXE
PRINCIPE DE FONCTIONNEMENT DUN AFFICHEUR CRISTAUX LI-
QUIDES
Les atomes d'une source lumineuse ordinaire mettent des impulsions de radiation d'une dure
extrmement courte. Chaque impulsion d'un seul atome est constitue d'un train d'ondes quasi
monochromatique (longueur d'onde unique). Le vecteur "champ lectrique" correspondant
l'onde ne tourne pas autour de la direction de propagation de cette onde mais conserve le
mme angle, ou azimut, avec cette direction. L'azimut initial peut prendre n'importe quelle va-
leur. Lorsqu'un grand nombre d'atomes mettent de la lumire, ces azimuts sont distribus au
hasard ; les proprits du faisceau lumineux sont identiques dans toutes les directions et la lu-
mire est dite non polarise. Si les vecteurs champs lectriques de chaque onde ont le mme
angle azimutal (cest--dire lorsque les ondes transversales se trouvent dans le mme plan), la
lumire est dite polarise dans un plan ou linairement.
En plaant deux filtres polarisant perpendiculaires l'un de l'autre, le premier va polariser la lu-
mire dans un sens. Le deuxime absorbe toute la lumire car celle ci arrive dans un plan per-
pendiculaire.
Un afficheur LCD utilise 2 filtres polarisateurs entre lesquels sont placs des cristaux liquides qui
ont la proprit de permettre la rotation ou non de la lumire polarise selon le champ lectri-
que auquel ils sont soumis.
Les cristaux liquides consistent en un grand nombre de cristaux allongs en suspension dans un
fluide. Ces cristaux ont des proprits dalignement particulires.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 34
A ltat naturel, les Quand les cristaux ils salignent avec
cristaux sont en ali- viennent en contact les rainures
gnement dispers avec une surface
finement rainure
Quand les cristaux sont placs entre 2 surfa- La lumire polarise subit elle aussi un pivo-
ces rainures orthogonales, ils subissent un tement lorsquelle traverse des cristaux liqui-
pivotement (twist), comme indiqu sur la des organiss comme ci-contre. Le plan de
figure ci-dessous. polarisation de la lumire tourne.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 35
En labsence de champ lectrique appliqu En prsence dun champ lectrique, les cris-
entre les lectrodes, la lumire polarise par le taux changent dalignement et le plan de po-
premier filtre subit une rotation et traverse le larisation de la lumire ne tourne pas entre
2me filtre les 2 filtres aucun lumire ne traverse le
2me filtre
Pour les images positives, de loin les plus rpandues dans les LCDs utiliss dans les systmes
embarqus, un lment visible correspond lexistence dun champ lectrique entre les lectro-
des.
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 36
AFFICHEUR PAR TRANSMISSION
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 37
3.3) CONSTITUTION
Sources de ce document :
Notes dapplication AN658 de Microchip : LCD Fundamentals Using PIC16C92X Micro-
controllers
Doc Philips PCF8566
Doc contrleur Hitachi HD44780
Document de 7 pages Afficheurs cristaux liquides ralis pour le thme industriel de
terminale STI gnie lectronique de 98/99 (auteur non mentionn)
Divers documents rcuprs sur Internet
Les afficheurs cristaux liquides /Philippe Morenton / Lyce Technique Pierre Emile Martin - Bourges 38