Les afficheurs LCD
Il peut être très intéressant d'insérer un écran à cristaux liquides, afficheur LCD (Liquid Crystal Display), dans ses montages. En effet, grâce aux afficheurs LCD, on peut rendre beaucoup plus interractif nos montages, et tout cela plutôt facilement, d'autant plus que le prix des afficheurs LCD à considérablement baissé depuis quelques années. Comptez aujourd'hui entre 3 et 15 euros pour un petit afficheur de 2 lignes. Un autre avantage pour ces afficheurs est leur faible consommation.
En effet, les afficheurs LCD non rétroéclairés consommes environ 3mA. Les afficheurs rétroéclairés sont un peu plus gourmant avec une consommation en courant de 100 à plus de 200 mA suivant les modèles.
Il existe 2 types d'afficheurs :
Dans un premier temps, nous allons nous intéressé aux afficheurs LCD alphanumériques.
AFFICHEURS LCD ALPHANUMERIQUE (parallèle) :
Il existe 2 types d'afficheurs LCD alphanumériques. Les compatibles Hitachi 44780, et les autres qui fonctionnent différement. Mais les plus courant, et les moins chers sont compatibles Hitachi 44780, c'est pourquoi nous ne nous intéresserons qu'à ce modèle. Pour les autres, la seul façon de savoir comment les commander et de bien lire le datasheet de l'afficheur en question.
Il existe également des afficheurs LCD série et parallèle. Les afficheurs séries sont au formats I2C. Nous allons traiter uniquement les afficheurs parallèle.
a) Brochage
b) Les commandes
c) Les différents caractères
Ces afficheurs possèdent près de 200 caractères déja créés, qui sont prêt à l'emploi. (On peut les retrouver dans la table ci dessous) Mais il est également possible de créer ses proprent caractères en 5x7 pixels (par exemple les lettres à accents) grâce à la CGRAM.
d) Fonctionnement
Les afficheurs LCD parallèle possèdent 2 modes de fonctionnement, qui sont très proches l'un de l'autre. Le mode 8 bits, et le mode 4 bits.
Le mode 8 bits :
Dans ce mode, il faut envoyer les données à l'afficheur par le biais des pins D0 à D7.
Il faut également utiliser les pins :
R/W : pour définir un envoi ou une réception de donnée RS : pour définir si on envoi une commande à l'afficheur ou une donnée E : pour valider la donnéee envoyée ou reçu.Conclusion, en mode 8 bits, on va placer les données à envoyer à l'afficheur sur D0 à D7, sélectionner un envoi ou une réception avec R/W, d'une donnée ou d'une commande avec RS, et valider en envoyant une impulsion sur E d'au moins 450ns.
Le mode 4 bits :
Dans ce mode, on envoi les données à l'afficheur uniquement par le biais des pins D4 à D7.
Il faut également utiliser les pins :
R/W : pour définir un envoi ou une réception de donnée RS : pour définir si on envoi une commande à l'afficheur ou une donnée E : pour valider la donnéee envoyée ou reçu.Conclusion, en mode 4 bits, on va placer les 4 bits de poids fort à envoyer à l'afficheur sur D4 à D7, sélectionner un envoi ou une réception avec R/W, d'une donnée ou d'une commande avec RS, et valider en envoyant une impulsion sur E d'au moins 450ns, puis placer les 4 bits de poids faible sur D4 à D7, et valider en envoyant à nouveau une impulsion sur E.
f) Initialisation de l'afficheur LCD
Le mode 8 bits :
R/W RS D0 à D7 Signification 0 0 0x30 Mot d'initialisation 0 0 0x38 Mode 8 bits 0 00x0C ou
0x0E ou
0x0F
Active l'écran+pas de curseur+pas de clignottement du curseur
Active l'écran+curseur visible+pas de clignottement du curseur
Active l'écran+curseur visible+clignottement du curseur
0 0 0x01 Efface l'écran 0 0 0x06 Le curseur se déplace vers la droite après avoir affiché un caractère.
Le mode 4 bits :
R/W RS D4 à D7 Signification 0 0 0x30 Mot d'initialisation 0 0 0x20 Mode 4 bits 0 0 0x20 Mode 4 bits (envoi en 2 temps) 0 0 0x80 0 0 0x00Active l'écran+pas de curseur+pas de clignottement du curseur
Active l'écran+curseur visible+pas de clignottement du curseur
Active l'écran+curseur visible+clignottement du curseur
(Envoi en 2 temps)
0 00x0C ou
0x0E ou
0x0F
0 0 0x00Efface l'écran
(Envoi en 2 temps)
0 0 0x01 0 0 0x00Le curseur se déplace vers la droite après avoir affiché un caractère.
(Envoi en 2 temps)
0 0 0x06
g) La DDRAM
La DDRAM est une mémoire dans laquel est stocker tout ce qui est affiché à l'écran. Ainsi, on va pouvoir déplacer le curseur ou on le souhaite dans l'écran en choisissant à quel adresse de cette DDRAM on veut écrire.
Dans le cas d'un afficheur 2 lignes 16 caractères, le premier caractère de la première ligne se trouve à l'adresse 0x00, et le dernier caractère de cette première ligne à l'adresse 0x0F. De même, le premier caractère de la seconde ligne se trouve à l'adresse 0x40, et le dernier caractère de cette seconde ligne à l'adresse 0x0F.
Par exemple :
On veut aller écrire dans le caractère 3 de la seconde ligne, il faut envoyer :
R/W=0
RS=0
D7=1 (Set DDRAM adress)
D0 à D6=0x42
Donc il faut envoyer la commande 0xC2 pour positionner le curseur sur le caractère 3 de la deuxième ligne.