Aller au contenu Aller au menu Aller à la recherche

Chercher sur le site :
Site sur l'électronique

Le fonctionnement interne de l'afficheur LCD HD44780

Ecrit le 01/09/2007 par Sébastien.

Les mémoires

L'afficheur est doté de deux types de mémoire, la DDRAM et la CGRAM. La DDRAM sert à afficher les caractères et la CGRAM contient le jeu de caractères.

La DDRAM

La DDRAM stocke les caractères que l'on veut afficher à l'écran. Chaque position d'un caractère affiché à l'écran est caractérisée par une adresse, qui est définie de la manière suivante :
Pour un afficheur LCD de deux lignes de 16 caractères (2x16), le premier caractère doit être défini à l'adresse 00h, le second à l'adresse 01h et ainsi de suite jusqu'à l'adresse 0Fh pour les seize caractères de la première ligne.
Les caractères de la seconde ligne sont définis de la même manière mais aux adresses allant de 40h à 4Fh.


Les adresses des caractères d'un afficheur LCD deux lignes

Pour les afficheurs d'une seule ligne de 16 caractères (1x16), il peut arriver que les adresses des caractères soient définies de manière un peu différente. Les huit premiers caractères ont une adresse comprise entre 00h et 07h, tandis que les huit derniers ont une adresse comprise entre 40h et 47h.


Les adresses des caractères d'un afficheur LCD une ligne

La CGRAM

La CGRAM est la mémoire qui contient le jeu de caractères affichables par le LCD. Elle permet d'afficher 200 caractères différents dont huit peuvent être définis par l'utilisateur. Les caractères accentués, bien que n'étant pas définis dans la table standard des caractères, peuvent, grâce à la CGRAM, être affichés comme s'ils en faisaient partie.
Il est à noter que si huit caractères peuvent être ajoutés et effacés de la table, ceux prédéfinis ne peuvent être effacés et sont stockés sur une mémoire de type ROM (on parlera alors de CGROM).
NB : On peut remarquer que pour une série de caractères (allant de 20h à 7Dh), la table de l'afficheur LCD correspond au code ASCII des caractères.


Le jeu de caractères de l'afficheur LCD

Les registres

L'utilisateur a accès à trois registres :

Le registre d'instruction

Ce registre ne sert qu'à recevoir des commandes venant de l'utilisateur, il est donc unidirectionnel et n'est utilisable qu'en écriture.
C'est grâce à ce registre que l'on va pouvoir déplacer le curseur ou effacer l'afficheur par exemple.

Le registre d'état

Ce registre est également unidirectionnel, mais lui, est uniquement utilisé en lecture. Il sert à indiquer si le contrôleur interne du LCD est prêt à recevoir une instruction ou une donnée. La demande d'état se fait grâce à la broche R/W.
R/W = 0, lorsque l'on écrit et R/W = 1, lorsque l'on veut lire l'état.

Le registre de données

Ce registre est bidirectionnel. Il peut recevoir les caractères que l'on désire afficher (qui seront stockés dans la DDRAM) ou envoyer les caractères stockés dans la DDRAM. Le registre de données a une taille de 80 octets.