Version 1 (modified by 9 years ago) (diff) | ,
---|
TP3 : Pilotage d'un écran LCD en mode utilisateur
Objectifs:
- Configuration des GPIOs pour le pilotage d'un périphérique
- Fonctionnement d'un écran LCD et fonctions de base
- Affichage du monitoring système
Pré-requis (Raspberry Pi):
- Outils de compilation croisée
- Configuration et utilisation des GPIO
Ressources:
- Datasheet du LCD de la plateforme
- LCD Display HD44780
- Datasheet du HD44780
- Adressage de la mémoire interne de l'afficheur
Prenez le temps de parcourir les documents sur les afficheurs LCD HD44780 avant de commencer le TP.
1. Configuration des GPIO pour le pilotage de l'écran
L'écran LCD de type HD44780 dispose de plusieurs signaux de contrôle et de données. Les signaux de contrôle sont au nombre de 3: RS, RW et E. Les signaux de données sont au nombre de 4 ou 8 suivant le mode.
Dans ce TP, nous utiliserons l'écran en mode 4-bit car la carte Raspberry Pi dispose d'un nombre limité de GPIO. De plus, le signal RW sera connecté directement à la masse car nous allons gérer que les opérations d'écriture (Note: les GPIO de la carte Raspberry Pi ne supporte pas les niveaux de tension 5V émis par l'afficheur).
Les signaux de contrôle RS et E sont utilisés de la manière suivante:
- RS vaut 1 pour l'envoi d'une donnée (e.g. un caractère) et vaut 0 pour l'envoi d'une commande.
- E est un signal de validation; la valeur sur le bus de données (4 bits) est pris en compte à chaque front descendant de ce signal.
Voici le mapping des GPIO pour les différents signaux:
Signal LCD | GPIO |
---|---|
RS | 7 |
E | 8 |
D4, D5, D6, D7 | 22, 23, 24, 25 |
Pour le contrôle des GPIO, vous utiliserez ce que vous avez vu lors du précédent TP.
Pour contrôler l'afficheur nous devons répondre aux questions suivantes:
- Comment faut-il configurer les GPIOs pour les différents signaux de l'afficheur LCD ?
- Comment écrire des valeurs vers le LCD ?
- Quelles valeurs doivent être envoyées vers l'afficheur pour réaliser l'initialisation ?
- Comment envoyer demander l'affichage d'un caractère ?
- Comment envoyer des commandes telles que l'effacement de l'écran, le déplacement du curseur, etc. ?
2. Fonctionnement de l'écran et fonctions de base
Comme cela a été présenté en cours la prise en compte de la donnée est réalisée lors d'un front descendant du signal E. Pour créer un front descendant:
- on place la donnée,
- puis le signal E est mis à 1 pendant 1µs puis remis à 0 pendant une 1µs supplémentaire pour garantir le délai entre deux commandes.
Attachments (2)
-
Makefile (463 bytes) - added by 8 years ago.
Makefile de compilation à modifier
-
lcd_user.c (6.9 KB) - added by 8 years ago.
code source du programme de test lcd à compléter
Download all attachments as: .zip