Activité

Passons à l'activité en classe

Pour celle-ci on se servira d’afficheur de la première catégorie, car ils suffisent à faire de nombreux montages et restent accessibles financièrement. L’objectif de cette activité consiste en la mise en œuvre de cet écran, sa configuration et utilisation des lignes de port (entrées/sorties) d’un microcontrôleur. 

Rappels : Un afficheur LCD contient :

oune entrée de contrôle          RS (Register Select)

oune entrée de validation        E (Enable)

o8 entrées de données           D7 à D0



RS permet de préciser si la commande présente sur les entrées D7 à D0 , est une instruction ou une donnée

E permet de valider cette commande.

Une commande est une valeur numérique présente sur les entrées D7 à D0 et validée par une impulsion sur E.

Le protocole d'envoi des commandes précise la liste des instructions à envoyer pour configurer l'afficheur (RS=0) suivie des données à envoyer (RS=1).

L'entrée R/W sera mise à zéro (connectée à la masse) fixant ainsi l'afficheur en écriture.

Les 3 broches d'alimentation VSS, VDD et VEE n'ayant pas besoin d'être obligatoirement connectées dans ISIS Proteus, elles resteront non connectées dans les exemples ci-dessous.


La seule question qui nous intéresse ici est

 " Que faut-il mettre sur les entrées de données et quel protocole faut-il utiliser pour piloter l'afficheur ? "



1re Partie : Programmation d'un afficheur LCD pas à pas en mode 8 bits :

En mode 8 bits les 8 entrées D7 à D0 sont câblées et les commandes sont sur 8 bits (1 octet).

Il faut envoyer à l'afficheur 3 octets d'initialisation afin de le configurer avant d'envoyer les caractères à afficher.


Envoi des instructions de configuration

Envoi des données pour afficher les caractères

RS=0

RS=1

$38

$0E

$06

on envoie le code ASCII de chaque caractère


Rôle de chacun des 3 octets de configuration :

$38 : configure l'afficheur en mode 8 bits avec 2 lignes

$0E : configure le curseur visible (à remplacer par $0C si on veut le curseur invisible ou par $0F pour un curseur clignotant)

$06 : configure le déplacement du curseur vers la droite


A vous de faire :


1) Dans un premier on vous demande de réaliser le schéma structurel sous Isis Proteus ci dessous permettant le pilotage manuel d'un afficheur LCD LM016L en mode 8 bits.


Liste des composants nécessaire sous Proteus :

Description du composant 

Nom exact du composant 

(colonne Device dans la catégorie) 

à saisir dans Mots clés 

Catégorie contenant le composant

(bibliothèque) 

Afficheur LCD alphanumérique 16x2

16x2 Alphanumeric LCD

LM016L

Optoelectronics (DISPLAY)

Simulateur d'états logique « action verrouillée »

Logic State Source (Latched Action)

LOGICSTATE

Debugging Tools (ACTIVE)

Simulateur d'états logique « action momentanée »

Logic State Source (Momentary Action)

LOGICTOGGLE

Debugging Tools (ACTIVE)

Interrupteur interactif hexadécimal (sortie 4 bits)

Interactive 16 State Thumbwheel Switch (4 Bit Output)

THUMBSWITCH-HEX

Switches and Relays  (ACTIVE)


2) Lancer la simulation puis réalisez manuellement la séquence permettant d'afficher le caractère suivant :  @




2e Partie : Programmation d'un afficheur LCD pas à pas en mode 4 bits :

En mode 4 bits seules les 4 entrées D7à D4 sont câblées et les commandes sont sur 4 bits (1 quartet).

En mode 4 bits les instructions comme les codes ASCII des caractères sont envoyés en 2 étapes : 

le quartet de poids fort en premier, puis ensuite le quartet de poids faible.

Pour configurer l'afficheur en mode 4 bits il faut commencer par lui envoyer les 4 quartets $3 $3 $3 et $2.


Envoi des instructions de configuration

Envoi des données pour afficher les caractères

RS=0

RS=1

$3

$3

$3

$2

$0

$E

$0

$6

on envoie le code ASCII de chaque caractère en 2 étapes


L'instruction $0E affichant le curseur est envoyée ici en 2 quartets : $0 puis $E

L'instruction $06 configurant le déplacement du curseur vers la droite est envoyée ici en 2 quartets : $0 puis $6


Une fois l'afficheur configuré en mode 4 bits, les codes ASCII des caractères à afficher sont envoyés en 2 étapes : 


le quartet de poids fort en premier, puis ensuite le quartet de poids faible.


1)Proposez un schéma structurel permettant d'utiliser l'afficheur en mode 4 bits puis faire valider celui-ci par votre professeur.

2)Rappelez pourquoi dans certain cas ce mode est utilisé.

3)Lancer la simulation puis réalisez manuellement la séquence permettant d'afficher le caractère suivant :  &


3e Partie : Affichage d'un ensemble de caractères en mode 8 Bits :

Dans cette partie de l'activité on vous propose d'afficher, cette fois-ci, une suite de caractères.

Voici donc le message à afficher : 

Carnot-ARRAS

SIN

Vous présenterez, à la suite de votre contre rendu, votre démarche ainsi que les informations qui sont envoyés sur les ports D7 à D0, RS et E pour chaque étapes intermédiaires avant l'obtention du résultat final.

Quelques instructions bien pratiques

Voici les instructions les plus utilisées pour chacun des afficheurs LCD utilisables dans ISIS Proteus :

Instructions valables pour tous les afficheurs LCD

Action à réaliser

Valeur de l'instruction 

(à envoyer avec RS=0)

Curseur invisible

$0C

Curseur visible en fixe

$0E

Curseur visible clignotant

$0F

Déplacement du curseur vers la droite

$06

Effacer l'écran

$01

Bascule l'afficheur en mode 4 bits

$33 $32

Bascule l'afficheur en mode 8 bits

$33 $33

Configure l'afficheur en multi-lignes en 4 bits

$28

Configure l'afficheur en multi-lignes en 8 bits

$38


Séquence d'initialisation complète pour configurer un afficheur LCD en mode 8 bits

Action à réaliser

Valeur de l'instruction

 (à envoyer avec RS=0)

Bascule l'afficheur en mode 8 bits

$33 $33

Configure l'afficheur en multi-lignes en 8 bits

$38

Affichage du curseur

$0E

Déplacement du curseur vers la droite

$06

Ensuite on peut envoyer les codes ASCII des caractères à afficher octet par octet



Séquence d'initialisation complète pour configurer un afficheur LCD en mode 4 bits

Action à réaliser

Valeur de l'instruction

 (à envoyer avec RS=0)

Bascule l'afficheur en mode 4 bits

$33 $32

Configure l'afficheur en multi-lignes en 4 bits

$28

Affichage du curseur

$0E

Déplacement du curseur vers la droite

$06

Ensuite on peut envoyer les codes ASCII des caractères à afficher quartet par quartet

 (avec le poids fort en premier)



Changement de ligne sur les afficheurs possédant 2 lignes :


Instructions valables pour les afficheurs

 LM016L (2x16) LM032L (2x20) LM017L (2x32) et LM018L (2x40)

Action à réaliser

Valeur de l'instruction

(à envoyer avec RS=0)

Déplacer le curseur au début de la ligne 1

$80

Déplacer le curseur au début de la ligne 2

$C0


Changement de ligne sur les afficheurs possédant 4 lignes :


Instructions valables pour l'afficheur LM041L (4x16)

Action à réaliser

Valeur de l'instruction

 (à envoyer avec RS=0)

Déplacer le curseur au début de la ligne 1

$80

Déplacer le curseur au début de la ligne 2

$C0

Déplacer le curseur au début de la ligne 3

$90

Déplacer le curseur au début de la ligne 4

$D0

 

Instructions valables pour l'afficheur LM044L (4x20)

Action à réaliser

Valeur de l'instruction

 (à envoyer avec RS=0)

Déplacer le curseur au début de la ligne 1

$80

Déplacer le curseur au début de la ligne 2

$C0

Déplacer le curseur au début de la ligne 3

$94

Déplacer le curseur au début de la ligne 4

$D4



4e Partie : Pour aller plus loin: Utilisation de Flowcode et d'Isis Proteus.

Maintenant que vous avez effectué toutes ces manipulations fastidieuses dues à la programmation manuel, nous allons utiliser les outils disponibles en classe afin de faciliter notre tâche.

    1) Proposez, en vous aidant de l'activité « Gestion d’un Feux Tricolores Mode Automatique » le schéma structurel, avec une carte  Arduino Uno permettant de répondre à notre besoin.

    2) Proposez ensuite sous Flowcode l'algorithme permettant de répondre à la troisième partie de cette activité.

    3) Testez votre programme sous Flowcode puis en simulation sous Isis Proteus.

    4) Enfin pour terminer, câblez et testez votre montage.


Voilà !!! c'est fini...pour le moment. N'hésitez pas à partager avec votre professeur 

par l’intermédiaire de votre compte rendu

Créé avec HelpNDoc Personal Edition: Écrire des livres électroniques ePub pour l'iPad