Vous êtes sur la page 1sur 4

Microprocesseur et circuit programmables AU : 2017/2018 Sem1

TP N°5: SYSTEMES D’ENTREE DES DONNEES


L'objectif de ce TP est de gérer l'acquisition des donnés a partir d'un système d'entrée des données (un
clavier matricielle) et faire l'affichage soit sur un afficheur 7 segments ou un afficheur LCD. Nous
allons terminer par décrire le fonctionnement de la serrure codée à base du microcontrôleur PIC
16F877A.

1. L’écran LCD

a- Description
Les afficheurs à cristaux liquides sont des modules compacts intelligents et nécessitent peu de
composants externes pour un bon fonctionnement. Ils sont relativement bons marchés et s'utilisent
avec beaucoup de facilité. Un exceptionnel microprocesseur "pilote" de la famille C-MOS diminue
considérablement leur consommation (inférieur à 0.1 mW). Ils sont pratiquement les seuls à être
utilisés sur les appareils à alimentation par piles. Plusieurs afficheurs sont disponibles sur le marché et
ne diffèrent les uns des autres, non seulement par leurs dimensions, (de 1 à 4 lignes de 6 à 80
caractères), mais aussi par leurs caractéristiques techniques et leurs tension de service. Certains sont
dotés d'un rétro éclairage de l'affichage. Cette fonction fait appel à des LED montées derrière l'écran
du module, cependant, cet éclairage est gourmand en intensité (250 mA max.).

Figure 1 : schéma d’un écran LCD

b- Principe de fonctionnement.
Comme le montre le schéma fonctionnel, l'affichage comporte d'autres composants que l'afficheur à
cristaux liquides (LCD) seul. Un circuit intégré de commande spécialisé, le LCD-controller, est chargé
de la gestion du module. Le "contrôleur" remplit une double fonction: d'une part il commande
l'affichage et de l'autre se charge de la communication avec l'extérieur.

Figure 2 : Schéma interne d’un écran LCD

c- Connexions
Les connexions à réaliser sont simples puisque l'afficheur LCD dispose de peu de broches. Il faut,
évidement, l'alimenter, le connecter à un bus de donnée (4 ou 8 bits) d'un microprocesseur, et
connecter les broches Enable (validation), Read/Write (écriture/lecture) et Register Select
(instruction/commande).
Microprocesseur et circuit programmables AU : 2017/2018 Sem1

d- Commande d’un écran LCD avec µC


MikroC fournit une bibliothèque de communication avec les LCD (avec HD44780 contrôleurs
conformes) à travers l'interface de 4 bits qui permet d’afficher des caractères ascii. Un exemple de
connexions LCD est donné comme suite:

// LCD module connections


sbit LCD_RS at RC2_bit; // Register Select line.
sbit LCD_EN at RC3_bit; // Enable line.
sbit LCD_D4 at RC4_bit; // Data 4 line.
sbit LCD_D5 at RC5_bit; // Data 5 line.
sbit LCD_D6 at RC6_bit; // Data 6 line.
sbit LCD_D7 at RC7_bit; // Data 7 line.
sbit LCD_RS_Direction at TRISC2_bit; // Register Select direction pin.
sbit LCD_EN_Direction at TRISC3_bit; // Enable direction pin.
sbit LCD_D4_Direction at TRISC4_bit; // Data 4 direction pin.
sbit LCD_D5_Direction at TRISC5_bit; // Data 5 direction pin.
sbit LCD_D6_Direction at TRISC6_bit; // Data 6 direction pin.
sbit LCD_D7_Direction at TRISC7_bit; // Data 7 direction pin.
// End LCD module connections
char *text_l0 = "Polytech";
char *text_l1 = "Monastir";
void main()
{
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1, 5, text); // Print text to LCD, 1st row, 5th column
Lcd_Out(2, 4, text); // Print text to LCD, 2nd row, 4th column
}
Figure 3 : Code C pour afficher une chaine de caractères sur un écran LCD

Pour simuler le code précédent on donne le schéma suivant :

LCD1
LM016L
VDD

R1
VDD
VSS

VEE

RW
RS

10k
D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14

X1 U1 RV1
CRYSTAL
FREQ=8MHz 16 17
OSC1/CLKIN RA0
15 18
OSC2/CLKOUT RA1 VSS
1
45%

RA2
4 2
MCLR RA3
C1 C2 RA4/T0CKI
3
27pF 27pF
6 1k
RB0/INT
7
RB1
8
RB2
9
RB3
10
RB4
11
RB5
12
RB6
13
RB7
PIC16F84A

Figure 4 : Schéma de teste du code de la figure 3


Microprocesseur et circuit programmables AU : 2017/2018 Sem1

e- Manipulation
Exercice 1 :
Sur MikroC écrire le programme précédent, compiler le en choisissant un µC de type 16F84A et tester
le sur Proteus et sur plaque de TP.

Exercice 2
On désire commander un afficheur à 7 segments à l’aide d’un microcontrôleur 16F84A via un clavier
à 16 touches (Figure 3). Le principe de fonctionnement est le suivant :
L’appui sur une touche de 0 à 9 affiche sa valeur sur l’afficheur 7 segments.
L’appui sur l’une des touche (*, #, A, B, C, D) l’afficheur 7 segments n’affiche rien.

Figure 5: Commande d’un afficheur 7 segments et d’un clavier matriciel via un PIC 16F84A.
Ecrire le programme MikroC qui répond à ce cahier de charge.

Exercice 3:
Soit le circuit suivant composé d’un microcontrôleur PIC 16F877A muni d’un afficheur LCD
et 16 boutons poussoirs jouant le rôle d’un clavier matriciel :

Figure 6: Commande d’un écran LCD et d’un clavier matriciel via un PIC 16F84A.
Microprocesseur et circuit programmables AU : 2017/2018 Sem1
Ecrire un programme en MikroC qui lit un caractère à partir du clavier et l’affiche sur
l’écran LCD.
Exercice 4:Serrure codée à base du microcontrôleur PIC 16F877A
Description de l'objet technique:
Afin de contrôler l'accès d'un immeuble, l'ouverture du port d'entrée est commandée électriquement au
moyen d'un clavier à dix chiffres. Le passage n'est possible qu'après avoir entré un code à quatre
chiffres sur le clavier, puis commandé la validation par l'intermédiaire d'un bouton entrée '*'. Si le
code est correct, le système électrique autorise l'alimentation de la serrure électrique qui ouvre la
porte.

Figure 7: Schéma de teste du Serrure codée à base du microcontrôleur PIC 16F877A.

Les différentes étapes à réaliser :


1) Le code interne mémorisé étant 1871.
2) Afficher sur LCD le message "taper le code"
3) Lorsque l’utilisateur tape le code, il faut afficher sur LCD le message "Password:", et chaque
caractère taper est remplacer par ‘*’.
4) Comparer le code tapé avec le code interne mémorisé
- Si le code tapé est correct :
 La LED vert est allumé.
 Afficher sur LCD le message "Code Correct" .
 Commande du moteur qui ouvre la porte (temporisation= 5ms)
- Si le code tapé est incorrect :
 La LED rouge est allumé.
 Afficher sur LCD le message "Erreur".

Ecrire le programme MikroC qui répond à ce cahier de charge.

Vous aimerez peut-être aussi