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 :

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 :

  1. R/W : pour définir un envoi ou une réception de donnée
  2. RS : pour définir si on envoi une commande à l'afficheur ou une donnée
  3. 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 :

  1. R/W : pour définir un envoi ou une réception de donnée
  2. RS : pour définir si on envoi une commande à l'afficheur ou une donnée
  3. 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
0

0x0C 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
0x00

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

(Envoi en 2 temps)

0
0

0x0C ou

0x0E ou

0x0F

0
0
0x00

Efface l'écran

(Envoi en 2 temps)

0
0
0x01
0
0
0x00

Le 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.