AFFICHEUR LCD INTELLIGENT
Type RTC
CARACTERISTIQUES ELECTRIQUES
BROCHAGE
RACCORDEMENT A L'ALIMENTATION
SCHEMA FONCTIONNEL INTERNE
JEU D'INSTRUCTION DU MODULE
CHRONOGRAMMES
TIMMING
ORGANIGRAMMES
GENERATION D'UN CARACTERE PERSONALISE
PRINCIPE DE L'AFFICHEUR LCD
CARACTERISTIQUES ELECTRIQUES
- VDD=5V ±0,25V
- VIH=3,5V min
- VIL=0,55V max
- VOH=3,75V min (-IOH=0,1mA)
- VOL=1V max (IOL=0,1mA)
- Consommation pour VDD=5V 2mA
BROCHAGE
PIN N° Symbole Niveau Fonction
1
2
3
4
5
6
7
8
9
10
11
12
13
14
VSS
VDD
V0
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
-
-
-
H/L
H/L
H.H-->L
H/L
H/L
H/L
H/L
H/L
H/L
H/L
H/L
0V
5V
Reglage contraste
L : Code instruction H : Donnee
H : Lecture L : Ecriture
Horloge
Bus de donnee Bidirectionnel*
* Lors de l'utilisation en mode 4 bits seul les bits D4 a D7 sont utilises. Les lignes correspondant de D0 a D4 sont laisses en l'air. On communique le quarte de poids fort puis de poids faible.
![]()
Le potentiometre permet de regler le contraste de l'afficheur
SCHEMA FONCTIONNEL INTERNE
![]()
L'utilisateur a acces au :
Registre de donnees : bidirectionnel, il reçoit les codes ASCII des caracteres a afficher. Les codes seront ensuite stockes dans la DD-RAM, d'une capacite de 80 octets. Le registre de donnees permet aussi de lire le contenu de la DD-RAM.
Registre de contrôle : destine a recevoir les consignes de contrôle, comme effacer l'afficheur, deplacer le curseur, etc... (accessible uniquement en ecriture).
Registre d'etat : destine a indiquer a l'utilisateur si le processeur interne est pret a recevoir une instruction (acces en lecture seule).On trouve deux Memoires CG (Caractere Generate) :
La DD-RAM reçoit les codes des caracteres a afficher. L'adresse a laquelle est place un code dans la DD RAM definit la position du caractere sur le panneau d'affichage. Le pointage d'un element dans la DD-RAM ou la CG-RAM est determine par un compteur d'adresses interne, accessible en lecture par l'utilisateur.
- La CG-ROM : c'est une ROM generatrice de caracteres qui fournit 192 motifs de caracteres differents en matrices de 5 x 7 points. La relation entre le code a transmettre et le motif du caractere est donne en annexe 2. Il faut signaler que la correspondance ASCII est respectee uniquement entre les codes $20 et $7D (voir code ASCII en annexe 1) c'est-a-dire pour les chiffres de 0 a 9, les lettres majuscules et minuscules, et enfin quelques couramment utilises.
- La CG-RAM : c'est une RAM generatrice de caracteres a programmer qui fournit 8 motifs. On peut ainsi obtenir un jeu de 8 caracteres personnalise.
Cas d'un afficheur a deux lignes de caracteres :
Les adresses de la seconde ligne ne sont pas consecutives a celles de la premiere ligne de caracteres. Quand l'affichage est decale, les adresses se decalent uniquement vers la droite ou vers la gauche d'une meme ligne. Les adresses assignees a chacune des lignes sont les suivantes :
Ligne n°1 : $00
Ligne n°2 : $40
Cas d'un afficheur a une seule ligne de 16 caracteres Les adresses de la seconde moitie de la ligne ne sont pas consecutive a celles de la premiere moitie. Les adresses assignees a chacune des moities de lignes sont les suivantes :
Caracteres 1 a 8 : $00 a $07
Caracteres 9 a 16 : $40 a $47
Lignes de donnees D0 a D7
Les donnees peuvent etre transmises sur 8 ou 4 bits. Dans ce dernier cas on utilise les lignes D4 a D7. On envoie d'abord le poids fort et ensuite le poids faible.Ligne R/W
Unidirectionnelle, lors de l'ecriture d'un registre on la positionne a zero, pour une lecture on la positionne a 1.Ligne RS
Unidirectionnelle, lors de l'envoie d'un code instruction on positionne la ligne a 0 lors de l'envoie d'un code caractere on positionne la ligne a 1.Ligne E
Unidirectionnelle, elle permet de valider les donnees sur front
PIN N° RS R/W D7 D6 D5 D4 D3 D2 D1 D0 TIME Effacer l'affichage 0 0 0 0 0 0 0 0 0 1 1,64ms Initialiser le curseur 0 0 0 0 0 0 0 0 1 * 1,64ms Init deplacement curseur 0 0 0 0 0 0 0 1 I/D S 40µs Affichage on/off 0 0 0 0 0 0 1 D C B 40µs Decaler Curseur/Affichage 0 0 0 0 0 1 S/C R/L * * 40µs Init mode de fonctionnement 0 0 0 0 1 DL N 0 * * 40µs Positionner Adresse CG-RAM 0 0 0 1 A-CG 40µs Positionner Adresse DD-RAM 0 0 1 A-DD 40µs Lecture Reg. Etat Compteur adresse 0 1 BF AC 0 Ecriture CG-RAM DD-RAM 1 0 Write DATA 40µs Lecture CG-RAM DD-RAM 1 1 Read DATA 40µs Effacer l'affichage
La DD-RAM est remplie avec le code 520 (Espace). Le compteur d'adresse est remis a zero. Si l'affichage a ete decale, la position initiale est retablie.
Apres execution de cette instruction, l'affichage disparait et le curseur est ramene a la position situee en haut a gauche.Initialiser le curseur
Le compteur d'adresse est remis a zero. Si l'affichage a ete decale, la position initiale est retablie.
Le contenu de la DD-RAM n'est pas modifie. Le curseur ou le clignotement du caractere, si active, est ramene a sa position initiale.Init deplacement curseur
I/D (lnc./Dec.) : lorsqu'on envoie un code de caractere a afficher, le curseur se deplace d'une position d'affichage vers la droite (1/D = 1) ou la gauche (1/D = 0).
Ce fonctionnement est valable egalement quand une donnee est lue ou ecrite dans la CG-RAM.
S (Shift) : Quand S = 1, l'ensemble de l'affichage est decale d'une position vers la gauche (1/D = 1) ou la droite (1/D = 0) apres ecriture d'un code de caractere dans la DD-RAM.
Le curseur garde la meme position relative sur l'afficheur. Si S = 0, l'affichage n'est pas decale.
Remarque : Quand un decalage d'affichage est execute, les 2 lignes sont decalees simultanement.
Quand l'operation de decalage de l'affichage est repetee, les caracteres d'une ligne ne sont pas deplaces vers l'autre ligne mais sont reboucles sur la meme ligne.Affichage on/off
D (Display) : l'affichage est allume si D = 1. Quand D = 0, l'affichage est eteint, mais les codes de caracteres sont conserves dans la DD-RAM.
C (Cursor) : le curseur est affiche a la position courante du compteur d'adresse si C = 1. Quand C = 0, le curseur n'est pas visible.
B (Blink) : si B = 1, le caractere a la position du curseur clignote a 1,2 Hz environ.Decaler Curseur/Affichage
L'affichage et/ou le curseur sont decales vers la droite ou la gauche. Pour un afficheur a deux lignes, le curseur se deplace de la 40eme position de la ligne du haut a la premiere position de la seconde ligne.
A la fin de la seconde ligne (adresse $67), le curseur ne retourne pas a l'adresse $00 mais a la premiere position de la seconde ligne (adresse $40).
S/C (Shift/Cursor) : deplacement du curseur si S/C = 0. Lorsque S/C = 1, c'est tout l'affichage, avec le curseur, qui est decale.
R/L (RightlLeft) : decalage vers la gauche (R/L = 0), ou vers la droite (WL = 1).Init mode de fonctionnement
DL (Data Length) selectionne la largeur du bus de donnees : 8 bits (DL = 1) ou 4 bits (DL = 0). N (Number of lines) initialise l'affichage sur une ligne si N = 0, et deux lignes si N =1.
Remarque : cette instruction doit etre executee au debut du programme du microprocesseur, avant toute autre instruction (a l'exception de l'instruction de lecture du bit d'etat et du compteur d'adresse).Positionner Adresse CG-RAM
Cette instruction permet au compteur d'adresses de pointer une adresse dans la CG.RAM.
Un transfert de donnees pourra ensuite etre realise entre le microcontrôleur et la CG.RAM.Positionner Adresse DD-RAM
Cette instruction permet au compteur d'adresses de pointer une adresse dans la DD-RAM.
Un transfert de donnees pourra ensuite etre realise entre le microcontrôleur et la DD RAM.Lecture Reg. Etat Compteur adresse
Le bit BF (busy flag) ne peut etre que lu et indique si le module est occupe par le traitement d'une instruction. BF = 1 indique l'etat occupe (operation interne) et une nouvelle instruction ne sera pas acceptee tant que BF ne sera pas egal a 0.
Cette instruction lit aussi le contenu du compteur d'adresses, exprime par un nombre binaire de 7 bits. Lors d'une lecture, le compteur d'adresses va contenir une adresse de la DD-RAM ou de la CG-RAM selon la derniere instruction d'adressage executee.Ecriture CG-RAM DD-RAM
Une donnee de 8 bits est ecrite dans la CG-RAM ou la DD-RAM selon l'adresse specifiee par le compteur d'adresses. Apres ecriture de la donnee dans la RAM, le compteur d'adresses est incremente ou decremente selon le mode d'entree predefini.Lecture CG-RAM DD-RAM
Une donnee de 8 bits est lue dans la DD-RAM ou la CG-RAM selon la derniere instruction d'adressage executee, a l'emplacement indique par le compteur d'adresses. Cette instruction doit etre precedee par une instruction de positionnement d'adresse dans l'une des deux "RAM", ou une instruction de decalage du curseur.A la mise sous tension, le module execute une procedure d'initialisation automatique, qui assure les fonctions suivantes :
- Effacement de la DD-RAM
- Extinction de l'afficheur.
- Format des donnees : 8 bits.
- Affichage sur une seule ligne.
- Curseur fixe.
- Deplacement du curseur vers la droite a chaque ecriture de caractere.
Pendant cette phase d'initialisation, qui dure environ 15 ms, le bit d'etat est mis a l'etat haut.
Il est toutefois preferable d'assurer l'initialisation du module par programmation avant d'envoyer les premiers caracteres au module.Pour piloter l'afficheur il faut respecter les chronogrammes suivants :
Envoi d'une instruction, la ligne R/W est en ecriture (R/W=0)
![]()
Envoi d'un caratere, la ligne R/W est en ecriture (R/W=0)
![]()
Lecture du registre d'etat (RS=0)
![]()
PARAMETER
Enable cycle time
Enable pulse width
Rise time
Fall time
Register select set up time
Read and write set up time
Data set up time
Data delay time
Adress hold time
Data hold time write
Data hold time read
Symbol
tcyc
tw
tr
tf
trsu
tsu
tdsu
td
tah
twh
trh
Min
1000
450
-
-
140
140
195
-
10
10
20
Max
-
-
25
25
-
-
-
320
-
-
-
unit
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
Les algorithmes ci-dessous permettent de piloter l'afficheur en mode 4 bits et 8 bits.
Les procedures specialisees en 4 bits seront decrites separement.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ORGANIGRAMMES 4 bits
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Remarque :
Les procedures " Validation instruction " et " Validation caractere " doivent respecter le temps tw de 450 ns (duree a l'etat haut de E). Pour l'utilisation du HC11 avec un quartz de 8MHz, un cycle d'horloge dure 500 ns. Pour executer l'instruction Sortie sur port de contrôle " staa porta " dans le mode direct, il faut 3 cycles d'horloge, soit 1,5µs. Ce temps est respecte. Il en va de meme pour trsu. Pour l'utilisation d'un microprocesseur plus rapide il faudra tenir compte de ces temps minimums.
GENERATION D UN CARACTERE PERSONALISE
La CG-RAM, d'une capacite de 64 octets, offre 8 matrices de 5x8 points qui peuvent etre programmees par l'utilisateur. L'espace adressable donnant acces a ces caracteres de la DD-RAM va de l'adresse $00 a $07, sa zone image $08 a $0F. Programmation d'un caractere : chaque caractere occupe 8 octets. Un pixel devant apparaitre en noir sera positionne a 1.
![]()
Ainsi pour programme le caractere ci dessous il faudra ecrire dans la CG-Ram les codes, $1F a l'adresse $40, $03 a l'adresse$41, …., et $10 a l'adresse $47. Le caractere suivant occupera les adresses CG-RAM $48 a l'adresse $4F et ainsi de suite.
Code caractere DD-RAM Adresse CG-RAM a programmer
$00
$01
$02
$03
$04
$05
$06
$07
$40 a $ 47
$48 a $ 4F
$50 a $ 57
$58 a $ 5F
$60 a $ 67
$68 a $ 6F
$70 a $ 77
$78 a $ 7F
Algorithme de programmation d'un caractere
Retour Sommaire Microcontroleur
![]()
![]()
Giampiero D'AQUINO
Enseignant en Genie Electronique