Vous êtes sur la page 1sur 10

www.gecif.

net Page 1 sur 10

L'afficheur LCD LM016L

L'afficheur LCD LM016L est un afficheur alphanumérique permettant d'afficher 2 lignes de 16 caractères
chacune.

Photo de l'afficheur LCD

Découverte expérimentale de l'afficheur LCD LM016L dans Proteus en le programmant manuellement

Pilotage d'un afficheur LCD dans Proteus avec les macros de Flowcode

Découverte expérimentale de l'afficheur LCD LM016L sous


Proteus
Pour bien comprendre le fonctionnement de l'afficheur LCD LM016 dans le but de l'utiliser librement dans
vos prochains montages, réalisez l'expérience suivante dans le logiciel de simulation ISIS Proteus 7.

Ouvrez un nouveau projet sous Proteus et placez-y le composant LM016L :

On peut déjà constater que l'afficheur LM016L possède :

 3 bornes d'alimentation (nommées VSS, VDD et VEE)


 3 entrées de contrôle (nommées RS, RW et E)
 8 entrées de données (nommées D0, D1, D2, D3, D4, D5, D6 et D7)

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 2 sur 10

Voici le rôle de chacune des 3 bornes d'alimentation de l'afficheur LM016L :

 VSS doit être reliée à la borne moins d'une alimentation de 5 V


 VDD doit être reliée à la borne plus d'une alimentation de 5 V
 VEE permet de modifier l'éclairage et le contraste de l'afficheur (non utilisé ici en un premier temps)

Alimentez l'afficheur avec une pile CELL de 5V (et laissez VEE, qui ne sera pas utilisé ici, non connecté) :

Connectez un LOGICSTATE sur RS et un LOGICTOGGLE sur E (et reliez RW, non utilisé ici, à la masse) :

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 3 sur 10

Connectez deux roues codeuses hexadécimales THUMBSWITCH-HEX aux 8 entrées de données de


l'afficheur :

 la roue du haut, connectée aux entrées D4 à D7 permet de régler le quartet de poids fort
 la roue du bas, connectée aux entrées D0 à D3 permet de régler le quartet de poids faible

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 4 sur 10

Ainsi, en jouant sur les 2 roues codeuses, il est très facile de donnez à l'octet de données (D0 à D7) une
valeur numérique quelconque.

Appelons N la valeur de l'octet de donnée D0 à D7. Sur la photos ci-dessus N a pour valeur A6 en
hexadécimal, ce que nous noterons désormais N=$A6 (le symbole $ rappelle que nous sommes en base
hexadécimale).

Pour afficher un message la procédure se décompose en 2 phases :

1 - une phase d'initialisation de l'afficheur

2 - une phase d'envoie du message à afficher

L'entrée RS permet de savoir si l'octet N envoyé sur les entrées D0 à D7 est une instruction (pour
configurer l'afficheur) ou une donnée (pour afficher un caractère).

Si RS = 0 alors N est une instruction

Si RS = 1 alors N est une donnée : N correspond au code ASCII du caractère à afficher

Lancez la simulation en temps réel sous Proteus (touche F12) puis effectuez la procédure suivante :

Initialisation de l'afficheur :

Mettez RS à 0

Avec les roues codeuses configurer N = $38 (configure l'afficheur en 8 bits, 2 lignes, 5x8)

Validez en envoyant une impulsion sur E

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 5 sur 10

Avec les roues codeuses configurer N = $0E (configure l'affichage et le curseur visible)

Validez en envoyant une impulsion sur E (le curseur apparaît alors sur l'afficheur)

Avec les roues codeuses configurer N = $06 (configure le déplacement du curseur vers la droite)

Validez en envoyant une impulsion sur E

Envoie d'un message vers l'afficheur :

Mettez RS à 1

N = $56 puis validez en envoyant une impulsion sur E

N = $69 puis validez en envoyant une impulsion sur E

N = $6C puis validez en envoyant une impulsion sur E

N = $65 puis validez en envoyant une impulsion sur E

N = $20 puis validez en envoyant une impulsion sur E

N = $50 puis validez en envoyant une impulsion sur E

N = $72 puis validez en envoyant une impulsion sur E

N = $6F puis validez en envoyant une impulsion sur E

N = $74 puis validez en envoyant une impulsion sur E

N = $65 puis validez en envoyant une impulsion sur E

N = $75 puis validez en envoyant une impulsion sur E

N = $73 puis validez en envoyant une impulsion sur E

N = $20 puis validez en envoyant une impulsion sur E

N = $21 puis validez en envoyant une impulsion sur E

Validez à nouveau en envoyant une impulsion sur E (en gardant N=$21)

Validez à nouveau en envoyant une impulsion sur E

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 6 sur 10

Dans la pratique les générateurs logicstate et les roues codeuses seront remplacés par les sorties logiques
d'un étage de commande automatique (logigramme, compteur, séquenceur à bascules, microcontrôleur
PIC, etc.).

Table des codes ASCII


Voici les codes ASCII vous permettant d'afficher tous les caractères sur l'afficheur :

caractère code ASCII en décimal code ASCII en hexadécimal


espace 32 20
! 33 21
" 34 22
# 35 23
$ 36 24
% 37 25
& 38 26
' 39 27
( 40 28
) 41 29
* 42 2A
+ 43 2B
, 44 2C
- 45 2D
. 46 2E
/ 47 2F
0 48 30
1 49 31

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 7 sur 10

2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39
: 58 3A
; 59 3B
< 60 3C
= 61 3D
> 62 3E
? 63 3F
@ 64 40
A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4A
K 75 4B
L 76 4C
M 77 4D
N 78 4E
O 79 4F
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5A
[ 91 5B
\ 92 5C
] 93 5D
^ 94 5E
_ 95 5F
` 96 60
a 97 61
b 98 62
c 99 63
d 100 64
e 101 65
f 102 66
g 103 67
h 104 68
i 105 69
j 106 6A
k 107 6B
l 108 6C
m 109 6D
n 110 6E
o

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 8 sur 10

111 6F
p 112 70
q 113 71
r 114 72
s 115 73
t 116 74
u 117 75
v 118 76
w 119 77
x 120 78
y 121 79
z 122 7A
{ 123 7B
| 124 7C
} 125 7D
flèche droite 126 7E
flèche gauche 127 7F

Pilotage de l'afficheur LCD avec un PIC et les macros de


Flowcode
Nous avons vu précédemment comment commander "manuellement" l'afficheur LCD dans Proteus. Voyons
maintenant comme afficher automatiquement un mesage complet sur le LCD à partir d'un PIC en utilisant
les macros de Flowcode.

Il existe 2 afficheurs LCD simulables dans Proteus :

 L'afficheur LM016L (qui possède 2 lignes)


 L'afficheur LM020L (qui possède une seule ligne)

Ces deux afficheurs sont compatibles avec les macros de Flowcode à condition de les câbler comme sur le
schéma ci-dessous :

 Comme l'indique la connexion du LCD dans Flowcode, RS est reliée à B4 et E à B5.


 Les 4 bits de données (B0 à B3 côté PIC) seront reliées aux entrées D4 à D7 sur l'afficheur LCD
 Les 4 entrées de données D0 à D3 de l'afficheur peuvent rester non connectées

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 9 sur 10

Câblage de base dans Proteus de l'afficheur LM020L à un PIC 16f88

Algorigramme de base pour afficher un message sur l'afficheur LCD

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018
www.gecif.net Page 10 sur 10

Rappel : l'afficheur LCD ne fonctionne pas avec Flowcode 3.2.0.36. Il faut au moins la
version 3.2.2.40 de Flowcode pour compiler un algorigramme utilisant les macros liées à
un afficheur LCD. Pour connaître la version de Flowcode que vous utilisez, cliquez sur "A
Propos" dans le menu "Aide" de Flowcode.

Vous venez de découvrir le fonctionnement de base de


l'afficheur LCD LM016L qui permet d'afficher un message
alphanumérique sur 2 lignes de 16 caractères, et de l'afficheur
LCD LM020L qui permet d'afficher un message sur 1 ligne de 16
caractères. Libre à vous d'utiliser ou non ces nouveaux
composants dans vos futurs montages.

Retour à la page d'accueil de Gecif.net

Retrouvez d'autres TP sur

www.gecif.net

mhtml:file://C:\Users\ELECTRONIC\Downloads\lcd.mht 19/11/2018

Vous aimerez peut-être aussi