0% ont trouvé ce document utile (0 vote)
46 vues4 pages

TP2-Gestion D'un Afficheur LCD: I. Objectifs

Transféré par

yahyaoui.rania2001
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues4 pages

TP2-Gestion D'un Afficheur LCD: I. Objectifs

Transféré par

yahyaoui.rania2001
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

M1_Infotronique Informatique embarquée

TP2- Gestion d’un afficheur LCD


I. Objectifs :
Développer des applications avec le microcontrôleur STM32F407 sur la gestion d’un affichage
sur un écran LCD 16x2.

II. Travail demandé


 Présentation Afficheur alphanumérique 2 x 16 caractères

Rais Ghofran 1
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

 Caractéristiques et configurations :

Pour utiliser l’afficheur LCD, il faut commencer par configurer en créant une variable de
type :
typedef struct
{
uint8_t DataLength; /* LCD communication bus length. Only 4-bit
supported yet */
uint8_t LineNumber; /* Number of lines displayed on LCD.
*/
uint8_t CharacterFont; /* Displayed character font */

}LCD_InitTypeDef;

- Le « DataLengh » correspond à la taille des données sur 4bits du LCD et prend comme
valeur « LCD_DataLength_4Bit »
- Le « LineNumber » correspond aux nombres de lignes du LCD et prend comme valeur :
« LCD_LineNumber_1Line » ou « LCD_LineNumber_2Line »
- Le « CharacterFont » correspond aux nombre de pixel de chaque cellule et prend comme
valeur « LCD_CharacterFont_5x8Dots » ou « LCD_CharacterFont_5x10Dots » tout
dépend des caractéristiques du LCD.

 Fonctions dédiées au LCD

Il existe des fonctions sous l’environnement Coocox CoIDE dédiées à la gestion du LCD
nous citons :

- « void LCD_Putc(char c) : permettant d’écrire un caractère sur LCD


- « void LCD_Puts(char *c) : permettant d’afficher une chaîne de caractère sur LCD

Application 1 :

Le but de cette application est de développer un programme qui affiche le message « HELLO
WORLD ! »

1) Créer un nouveau projet avec un model Chip et choisir STM32F407VG.


2) Ajouter le dossier « lcd » dans l’arborescence de votre projet.
3) Dans un programme principal «main.c » créer un code qui permet d’afficher le
message « Hello World ! ».
int main(void)
{
LCD_InitTypeDef LCD_InitStruct;
LCD_InitStruct.CharacterFont = LCD_CharacterFont_5x10Dots;
LCD_InitStruct.DataLength = LCD_DataLength_4Bit;
LCD_InitStruct.LineNumber = LCD_LineNumber_2Lines;

Rais Ghofran 2
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

LCD_Init(&LCD_InitStruct);

LCD_Puts("HELLO WORLD!");

while(1)
{}
}
On donne :

Bus PIN LCD PIN µC


Control RS PB2
RW GND
E PB7
Data D4 PC12
D5 PC13
D6 PB12
D7 PB13

4) Compiler votre programme puis tester le sous ISIS suivant le schéma ci-dessous.

Rais Ghofran 3
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

Application 2 :

Le but de cette application est d’afficher un message sur deux lignes en le clignotant d’une
temporisation de 500ms.

« PHARMACIE
EN SERVICE »
1) Dans un programme principal main.c, créer une fonction de temporisation «delay() ».
2) Compléter le code avec les fonctions prédéfinies en annexe pour décrire l’application
souhaitée.
3) Compiler votre programme puis tester le sous ISIS.

Annexe
void LCD_Clear (void)// effacer l’écran
void LCD_Goto(uint8_t cx, uint8_t cy)// écrire sur une ligne

Rais Ghofran 4

Vous aimerez peut-être aussi