Introduction
Nous allons aborder dans cette partie l'utilisation des afficheurs LCD ou Liquid Crystal Display (Ecran à cristaux liquide).
Cette partie, me tient particulièrement à cœurs, car dans tous vos montage, elle sera l'unique partie visible et c'est la dessus que l'on jugera votre réalisation. Je vais donc vous dévoiler tous mes secrets, pour que vos réalisation soient d'un niveau professionnel.
Description
Depuis de nombreuses années, les fabricants ont standardisé les afficheurs LCD sous forme de modules à logique intégré, avec un brochage et un mode de fonctionnement identique quelque soit le fabricant. Cela grâce au microcontrôleur qui est associé à l’écran et qui en assure le bon fonctionnement : la référence en la matière est le HD44780 de Hitachi.
L'afficheur LCD
permet d'afficher des caractères ASCII, sur 8,16, 20 ou 40 colonnes, et de 1 à 8
lignes.
En gros il existe 2 modèles d'interfaces normalisées : Une version "parallèle"
et une version série.
Toutefois, le protocole de communication et l'utilisation des registres spécifiques de l'afficheur ne sont pas d'un maniement très aisée pour le profane, d'où l'intérêt des modules série ELCD et ALCD de LEXTRONIC .
Certains sont dotés d'un rétro éclairage de l'affichage. Cette fonction fait appel à des LED montées derrière l'écran du module, cependant, cet éclairage est gourmand en énergie.
Numéro de broche de l'afficheur LCD |
Fonction |
Appellation |
1 |
Masse |
VSS |
2 |
+ 5 volts |
VDD |
3 |
Contraste |
VO |
4 |
Commande / Donnée |
RS |
5 |
Lecture / Ecriture |
R/W |
6 |
Validation LCD |
E |
7 |
Donnée D0 |
D0 |
8 |
Donnée D1 |
D1 |
9 |
Donnée D2 |
D2 |
10 |
Donnée D3 |
D3 |
11 |
Donnée D4 |
D4 |
12 |
Donnée D5 |
D5 |
13 |
Donnée D6 |
D6 |
14 |
Donnée D7 |
D7 |
15 |
Anode rétro-éclairage |
A |
16 |
Cathode rétro-éclairage |
C |
Brochage normalisée des afficheurs LCD Alphanumérique
L'afficheur LCD comporte d'autres composants que l'écran à cristaux liquides (LCD) . Un µC intégré de commande spécialisé, le LCD-controller, est chargé de la gestion du module. Le LCD-controller remplit une double fonction: d'une part il commande l'affichage et de l'autre se charge de la communication avec l'extérieur
Modules
afficheurs LCD à commandes séries
ELCD
Ces afficheurs LCD "économiques" à commandes séries sont dotés de 3 fils de communication (alimentation: +5V / masse / entrée série). Ils pourront très facilement être pilotés par un module "PICBASIC" au moyen d'ordres séries au format 8 bits (sans parité avec 1 bit de stop) avec un débit de 19200 ou 4800 bds, sans que vous ayez à vous soucier du mode de pilotage et du fonctionnement proprement dit des afficheurs. La sélection de la vitesse de communication se fait au moyen d'un pontet de soudure sur le circuit imprimé.
Disponibles avec ou sans rétro-éclairage, en versions: 2 x 16, 4 x 16 et 4 x 20 caractères, ces modèles se composent en fait d'un afficheur à pilotage parallèle standard associé à une petite platine de gestion "série" (raccordée au dos de l'afficheur). Un potentiomètre assure le réglage du contraste de l'écran. L'ensemble s'alimente sous une tension de +5 V.
Module ELCD
ALCD
Les afficheurs "ALCD" (Advanced LCD) correspondent à des versions plus évoluées des modèles "ELCD" (Economic LCD). Ils sont également destinés à être très facilement pilotés par des ordres séries à partir d'un module PICBASIC sans que vous ayez proprement dit à vous soucier de la gestion et du mode de pilotage de l'afficheur
Disponibles en versions rétro-éclairés: 2 x 16, 4 x 16, 4 x 20, 2 x 40 et 4 x 40 caractères, ces modèles se composent en fait d'un afficheur à pilotage parallèle standard associé à une petite platine de gestion "série" (raccordée au dos de l'afficheur). Un potentiomètre assure le réglage du contraste de l'écran. L'ensemble s'alimente sous une tension de +5 V.
Ces
modèles sont entièrement compatibles vis-à-vis des ordres séries des afficheurs
"ELCD"
avec toutefois une multitude de possibilités supplémentaires:
- Activation / Désactivation du rétro-éclairage par des commandes "séries".
- Sélection de la vitesse de communication (2400 bds à 115200 bds par cavalier
lorsque le module
est relié à un PC) et 19200 bds fixe si vous l'utilisez avec un PICBASIC ou un
microcontrôleur.
- Entrées 3 fils (+5 V alim. / RX / masse) sur connecteur pour pilotage par un
microcontrôleur ou un
module "PICBASIC".
- Entrées 4 fils (avec convertisseur Max-232 intégré) pour utilisation directe
avec un PC ou tout système doté d'un port de communication aux niveaux logiques
(+/- 10 V). En utilisant ce connecteur, vous disposez d'une broche sur laquelle
l'afficheur renvoie un "mot" série de confirmation à chaque fois qu'il a exécuté
une fonction et qu'il est prêt à recevoir un autre ordre. Les signaux présents
sur ce connecteur sont: + 5V, entrée de commande série, sortie de confirmation,
masse.
Module ALCD
Afficheurs LCD 4x40 avec module ALCD
INSTRUCTIONS
Suivant le type de module
PICABSIC, vous disposez de plusieurs instructions qui vous permettrons de
piloter ces afficheurs:
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
|||||
|
BUSOUT &HA3;&H0B |
Clignotement du curseur, pour ALCD uniquement |
|
BUSOUT &HA3;&H0B | Arrêt clignotement du curseur, pour ALCD uniquement | |
BUSOUT &HA5;&H01 | Activation du rétro-éclairage, pour ALCD uniquement | |
BUSOUT &HA5;&H01 | Désactivation du rétro-éclairage, pour ALCD uniquement |
Vous pouvez
télécharger la notice de ALCD (en anglais)
et de ELCD toujours (en anglais)
Caractères
personnalisés
Chaque registre correspond à 1 caractère affiché.
La mémoire « ROM » du générateur de caractère « ROM » appelée CGROM, correspond aux caractères prédéfinis par le constructeur, environ 200 caractères, incluant les chiffres, les lettres, les symboles mathématiques, les lettres japonaises et même les lettres grecques.
Contenue de la mémoire CGROM
Affichage caractères en ROM
Pour affiché un des caractères spéciaux du tableau ci dessus, il suffit d'utiliser directement l'instruction BUSOUT &HA2,&HCL,&H00.
C étant le numéro de colonne en héxa (0 à F) dans le tableau ci-dessus et L pour les lignes.
EXEMPLES :
BUSOUT &HA2,&HDB,&H00 ' affiche un carré vide qui ce trouve à la colonne D et ligne B
BUSOUT &HA2,&F4,&H00 ' affiche le sigle oméga qui ce trouve à la colonne F et ligne 4
BUSOUT &HA2,&H7E,&H00 ' affiche une flèche vers la droite qui ce trouve à la colonne 7 et ligne E
BUSOUT &HA2,&H7F,&H00 ' affiche une flèche vers la gauche qui ce trouve à la colonne 7 et ligne F
Mise en mémoire RAM
La mémoire « RAM » du générateur de caractère appelée CGRAM, correspond à 8 caractères que l’utilisateur peut programmer à sa guise.
Pour personnaliser vos programmes vous pouvez créer vos propre caractères ou symboles et les mettre en mémoire dans la CGRAM (8 maximum).
Avec l'instruction
BUSOUT &HA5,y,x,x,x,x,x,x,x,x vous allez entrer dans la mémoire du LCD les informations concernant votre caractère, mais il ne s'affichera pas, il est simplement stocké en RAM."y" étant le numéro de l'emplacement mémoire de 1 à 8 et les "x" sont des valeurs permettant de représenter votre caractère dans une matrice de 8 x 5 pixels.
|
![]() |
Pour mieux comprendre voici plusieurs page à télécharger avec de très nombreux exemples
Vous voilà maintenant avec probablement 8 caractères ou symboles en mémoire, cette mise en mémoire peut être faite en début de programme.
Si vous avez besoins de plus de 8 caractères, vous pouvez faire plusieurs sous programmes que vous appellerez au fur et à mesure de vos besoin.
EXEMPLES :
' ================
CARACTERES SPECIAUX ================
NAUT:
' Caracteres menu principale
BUSOUT &HA5,8,2,4,14,17,31,16,14,0
' e avec accent <
BUSOUT &HA5,1,19,27,27,31,31,27,27,25 ' N
gras
BUSOUT &HA5,2,14,27,27,27,31,31,27,27 ' A
gras
BUSOUT &HA5,3,27,27,27,27,27,27,31,14 ' U
gras
BUSOUT &HA5,4,31,31,12,12,12,12,12,12 ' T
gras
BUSOUT &HA5,5,30,30,12,12,12,12,30,30 ' I
gras
BUSOUT &HA5,6,24,24,24,24,24,24,31,31 ' L
gras
BUSOUT &HA5,7,31,31,24,30,30,24,31,31 ' E
gras
RETURN
CARACT:
' Caracteres menu secondaire
BUSOUT &HA5,8,8,4,14,1,15,17,15,0
' a avec accent
BUSOUT &HA5,1,8,4,14,17,31,16,14,0
' e avec accent <
BUSOUT &HA5,2,2,4,14,17,31,16,14,0
' e avec accent >
BUSOUT &HA5,3,8,12,15,31,15,12,8,0
' Petite Haut Parleur
BUSOUT &HA5,4,0,14,21,23,17,14,0,0
' Petite horloge 12H15
BUSOUT &HA5,5,31,16,16,16,16,16,16,31 '
dedut du bargraph
BUSOUT &HA5,6,31,0,0,0,0,0,0,31
' partie central bargraph
BUSOUT &HA5,7,31,1,1,1,1,1,1,31
' fin du bargraph
RETURN
CARACTM: 'caracteres
inverse
BUSOUT &HA5,8,31,27,19,27,27,17,31,31
'1 inverse
BUSOUT &HA5,1,31,19,29,27,23,17,31,31
'2 "
BUSOUT &HA5,2,31,19,29,19,29,19,31,31
'3 "
BUSOUT &HA5,3,31,21,21,17,29,29,31,31
'4 "
BUSOUT &HA5,4,31,17,23,19,29,19,31,31
'5 "
BUSOUT &HA5,5,31,25,23,19,21,25,31,31
'6 "
BUSOUT &HA5,6,31,17,29,27,27,27,31,31
'7 "
BUSOUT &HA5,7,31,19,21,27,21,25,31,31
'8 "
RETURN
Il vous suffit dans votre programme de recharger en CGRAM les différents groupe de caractères avec :
GOSUB CARACT ou GOSUB CARACTM ou GOSUB NAUT
Affichage caractères mis en mémoire CGRAM
BUSOUT &HA2,&H0x,&H00, "x" étant le numéro de la mémoire (de 1à 8)
EXEMPLES :
BUSOUT &HA2,&H03,&H00 Affiche directement le caractères qui est en mémoire N°3
BUSOUT &HA2,&H08,&H00 Affiche directement le caractères qui est en mémoire N°8
BUSOUT &HA2,&H07,&H00 Affiche directement le caractères qui est en mémoire N°7
EXEMPLES :
CONST DEVICE = R5
SET PICBUS HIGH
LCDINIT
CSROFF
BUSOUT &HA5,2,2,4,14,17,31,16,14,0 ' mise en mémoire N°2 du é
LOCATE 0,0
PRINT " Batterie d"
BUSOUT &HA2,&H02,&H00
' Affichage du é en mémoire N°2
PRINT "charg"
BUSOUT &HA2,&H02,&H00
' Affichage du é en mémoire N°2
PRINT "e "
Ce qui affiche sur le LCD " Batterie déchargée "
Afficheur
graphique GHLCD
Une nouvelle génération d'afficheur graphique compatible avec les PICBASIC arrive.
A suivre ......