Vous êtes sur la page 1sur 4

TP 7 – Microcontrôleur

LCD & CONVERSION


ANALOGIQUE NUMERIQUE

TAYARI LASSAAD
MAITRE TECHNOLOGUE ISET GABES
e-mail :lassaad.tayari@isetn.rnu.tn
site web :http://systemesembarques.e-monsite.com

LEAII41

TP7 Microcontrôleurs Page 1/4


Objectifs
L'objectif de ce TP est de :
- prendre en main l'afficher LCD de la carte EASYPIC7
- de réaliser un voltmètre à l'aide du Convertisseur Analogique Numérique du PIC

I/ PRISE EN MAIN DE L’AFFICHEUR LCD

Préparation
Sur la carte EasyPIC7, l'afficheur LCD est connecté en mode 4 bits. Il est commandé par la partie
basse de
PORTB. Les bits RB0, RB1, RB2 et RB3 constituent le bus de données, les bits RB4 et RB5
permettent de contrôler les commandes RS et E de l'afficheur.

TRAVAIL PRATIQUE
Tous les boutons de tous les switchs doivent être sur OFF sauf les boutons 5 et 6 de SW4 qui
allument le rétro- éclairage de l'afficheur. Tous les programme doivent utiliser l'horloge
interne du PIC configurée à FOSC = 8MHz
1) Faire le programme TP7-A.c qui affiche : TP PIC sur la première ligne et les deux nombres
ème
04,05 et 2015 sur la 2 ligne
2) Faire le programme TP7-B.c qui affiche sur la première ligne un compteur 8 bits (0,1,2 …255)
3) Faire le programme TP7-C.c qui affiche sur la deuxième line un compteur 16 bits (0, 1, 2,…
65535).
4) Faire le programme TP7-D.c qui affiche une chaine (de plus de 16 caractères) puis la fait
défiler à gauche.
5) Faire le programme TP7-E.c qui affiche une chaine (de plus de 16 caractères) puis, la
décale d’un caractère vers la droite ou vers la gauche chaque fois qu’on appuie sur RC0 ou
sur RC1

Attention
 Si l'afficheur contient un nombre à plusieurs chiffres ex: 34567, si on affiche un nombre plus
petit à la même position, ex: 88, les chiffres 567 restent affichés et on obtient 8856

TP7 Microcontrôleurs Page 2/4


II/ Conversion Analogique-Numérique
Préparation
La carte EasyPIC7 dispose de deux potentiomètres P1 et P2. La tension à la sortie d'un
potentiomètre est comprise entre 0 V et 5V. Les jumpers (J15 et J16) permettent de
connecter ces potentiomètres sur les entrées analogiques RA0, RA1, RA2, RA3 et RA5.
Faire attention à ce que les résistances de pull-up-down des E/S analogique soient
déconnectées de la masse ou de Vcc.
Faire attention à ce que les LEDs reliée aux E/S analogique soient déconnectées de la.

Méthodologie:
Supposons qu'on a la valeur 3.836V sur une entrée analogique. Si on la convertit à l'aide de l'ADC
du PIC, on obtient le nombre N=785. Le travail consiste à afficher la valeur de la tension en volts,
c.à.d 3,836.
Pour faciliter, on va travailler en mV ce qui permet de travailler avec des nombres entiers.
Sachant que la tension en mV (M) varie entre 0 mV et 5000mV et que le nombre (N)
correspondant varie entre 0 et 1023. Il est facile de passer de l'un à l'autre par une simple règle
de 3.

5000(mV)  1023
M(mv)  N
 M(mV) = (N x 5000) / 1023

Pour l'exemple précédent, le DAC du PIC fournit N = 785, la règle de 3 donne M = 3836 mV. Pour
afficher en volts sans utiliser des nombres réels on convertit M en un tableau de 5 chiffres à l'aide
de la fonction sprintf (voir help):
Il suffit ensuite d'utiliser la fonction lcd_out pour afficher le chiffre bcd[1], suivi de ',' suivi
des trois chiffres qui restent.
L’acquisition des données analogiques sont réaliser par la fonction :

unsigned ADC_Read(unsigned short channel);

voir help ADC_library .

TP7 Microcontrôleurs Page 3/4


TRAVAIL PRATIQUE :
1) Observer la carte et localiser les potentiomètres P1 et P2 et les jumper J15 et J16
2) A l'aide des jumpers J15, Brancher RA0 sur le potentiomètre P1
3) S'assurer sur SW1 que RA0 n'est pas connectée à une résistance de pull- up/down
4) S'assurer sur SW6 que PORTA n'est pas connecté aux LEDs
5) Ecrire le programme TP7-F.c qui convertit le nombre 63579 en un tableau de 5 chiffre à
laide de la fonction sprintf et les affiche ensuite comme suit : 6-3-5-7-9
6) Ecrire le programme TP7-G.c qui prend une mesure de RA0 toute les 0.5 secondes et
affiche le nombre N obtenu sur le LCD.
7) Sauvegarder TP7-G.c comme TP7-H.asm et compléter le pour assurer les fonctions
suivantes :
a) Prend une mesure du signal RA0 et afficher le N correspondant sur la 1ère ligne du LCD
b) Convertit le nombre N obtenu en mV en utilisant la règle de 3, M = (N x 5000) / 1023
c) Convertir le nombre M en en un tableau de chiffres : x m c d u (le chiffre x est
toujours nul car la valeur max de M est 5000 mV)
d) Afficher les chiffres obtenus comme suit : m,cdu ce qui correspond au résultat en
Volts

BON COURAGE

TP7 Microcontrôleurs Page 4/4