Mise en œuvre de l`afficheur LCD

publicité
Mise en œuvre de l’afficheur LCD
Documents ressource : documentation de l’afficheur AMC-1602A, page 18 de la
documentation du circuit intégré KS0066U.
1. Caractéristiques de l’afficheur :
 Type d’affichage (signification de LCD) :
 Format de l’affichage :
 Type de commande :
 Réglage du contraste :
 Tension d’alimentation :
2. Mémoires internes :
L’afficheur contient deux mémoires :


2.1. Rôle de la mémoire DD RAM :
 Lorsque le bit de donnée de poids le plus fort est à 0 :




 Lorsque le bit de donnée de poids le plus fort est à 1 :
 Faire l’exercice 1.
2.2. Rôle de la mémoire CG RAM :

La table donnant le code de chacun des caractères affichables est donnée dans le
document constructeur.
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 1 /6
 Faire l’exercice 2.
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 2 /6
3. Description des broches d’entrée/sortie de l’afficheur :
RS
R/W
E
D0 à D7
 D0 à D7 :
Son rôle :
 Ecriture dans DD RAM :
 Ecriture dans CG RAM :
En lecture, il permet de récupérer le contenu de DD RAM ou de CG RAM.
 RS, R/W et E :
 Rôle de RS :
 Rôle de R/W :
 Rôle de E (E étant initialement à 1) :
4. Commande de l’afficheur :
4.1. Ecriture d’une instruction dans la mémoire DD RAM :
L’algorithme est le suivant.
Opération :
Commentaire :
 Faire l’exercice 3.
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 3 /6
4.2. Programmation en assembleur ST6 :
On relie RS et E à deux bits de port, PC0 et PC2 par exemple (R/W est fixé à 0).
On relie D0 à D7 à un port du microcontrôleur, le port A par exemple.
Des instructions de manipulation de bits permettent de commander RS et E.
Une instruction de chargement permet de positionner D0 à D7.
 Faire l’exercice 4.
5. Initialisation de l’afficheur :
5.1. Principe de l’initialisation :
Après la mise sous tension, l’afficheur n’est pas prêt à recevoir des codes de caractères :
il faut l’initialiser, c’est à dire le préparer à recevoir des caractères.
L’algorithme d’initialisation est par exemple celui-ci.
Opération :
Valeur :
 Décrire la configuration de l’afficheur après cette initialisation.
5.2. Programmation en assembleur ST6 :
L’afficheur étant commandé par un microcontrôleur, un sous-programme écrit en
langage assembleur permet d’initialiser l’afficheur.
En général ce sous-programme est inclus dans un fichier que l’on peut utiliser à chaque
nouveau programme.
 Pour utiliser ce fichier,
Si le fichier s’appelle BAC00LCD.asm et se trouve dans le dossier C:\ST6, on écrit :
 Pour appeler le sous-programme d’initialisation,
Si le sous-programme s’appelle Initaff, on écrit :
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 4 /6
Figure 1 :
Microcontrôleur
Afficheur LCD
PortA
RS, R/W et E
PortB
D0 à D7
Remarque : le choix des ports du microcontrôleur (port A pour le bus de contrôle et port
B pour le bus de donnée) est arbitraire.
Figure 2 :
Mémoire DD RAM
Donnée
Bus de donnée
Bus de donnée
Figure 3 :
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 5 /6
Bus de donnée
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 6 /6
Mise en œuvre de l’afficheur LCD - Exercices
Exercice 1 :
 A partir des tableaux du document constructeur, donner la valeur hexadécimale à écrire
dans DD RAM (D7 à D0 ou DB7 à DB0) pour effectuer les actions suivantes.
 Inhiber complètement l’afficheur (Display OFF) :
 Valider l’afficheur (Display ON) sans le curseur :
 Ramener le curseur en haut à gauche :
 Effacer l’afficheur :
 Configurer l’afficheur pour des données de huit bits et un affichage sur une ligne en
grands caractères :
 On recherche la valeur à placer dans DD RAM pour positionner le curseur sur la ligne et
la colonne voulue.
Les bits D0 à D3 indiquent la colonne (0000 pour la première colonne).
Le bit D6 indique la ligne (0 pour la première ligne).
Le bit D7 est à 1.
Ecrire dans ce tableau la valeur hexadécimale pour toutes les positions possibles du
curseur.
Col
.
Ligne
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
Exercice 2 :
 La mémoire CG RAM étant remplie, que se passe-t-il si l’on arrête d’envoyer des
signaux à l’afficheur tout en laissant celui-ci alimenté ?
 Donner la succession de codes permettant d’afficher :
<Afficheur LCD>
 A la mise sous tension, l’afficheur affiche des rectangles noirs. Pourquoi ?
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 7 /6
Exercice 3 :
 Tracer les chronogrammes des signaux d’écriture d’une instruction dans DD RAM.
RS
R/W
E
D0 à D7
Ancien code
 Que doit-on changer dans ces chronogrammes pour écrire le code d’un caractère dans la
mémoire CG RAM ?
 Tracer les chronogrammes permettant d’afficher LCD.
RS
E
D0
D1
D2
D3
D4
D5
D6
D7
Exercice 4 :
L’afficheur est initialisé. On veut afficher le caractère *.
Ecrire en assembleur ST6 les instructions suivantes.
Opération :
Instructions :
Mettre RS à 1
Mettre E à 1
Mettre dans l’accumulateur le code de *
Recopier le contenu de l’accumulateur dans le registre DRA
Mettre E à 0
ESTI Electronique
Cours : Mise en œuvre de l’afficheur LCD
Page 8 /6
Téléchargement