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