TP N°1 M1 Embarqué Microcontrôleur

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 2

Université Amar Telidji Laghouat M1 Electronique des systèmes embarquée

Faculté de technologie Module : Microcontrôleur


Département d’électronique Année universitaire : 2017-2018

Travaux pratiques N°1


E/S et Afficheur LCD
Compte rendu : Programme + Schéma électronique + Démonstration de simulation. Monôme.

On voudrait réaliser une petite calculatrice qui fait les opérations (+, -, x et /) en utilisant un microcontrôleur
PIC16F877A, un afficheur et un clavier.

Donner le programme qui gère cette calculatrice dans les trois cas suivants :

 1ier cas :
- Afficheur : Afficheur 7 segments à 4 digits
- Clavier : On réalise un clavier avec 15 boutons poussoir indépendants (Ne sont pas reliés en matrices
comme dans un clavier matriciel) : 10 boutons poussoirs pour les chiffres de 0 à 9, 4 boutons
poussoirs pour les 4 opérateurs arithmétiques, et un bouton poussoir pour la touche =.
 2 ième
cas :
- Afficheur : LCD alphanumérique 2x16
- Clavier : Même que dans 1ier cas.
 3ième cas :
- Afficheur : LCD alphanumérique 2x16
- Clavier : Clavier matriciel 4x4 (voir schéma Proteus et schéma interne).

Schéma interne d’un clavier matriciel Branchement d’un clavier matriciel avec
un microcontrôleur

Avant cela, notez que :

1) Le temps entre l’appui sur un bouton poussoir et son retour à l’état off dure quelques centaines de ms
alors qu’une instruction du programme peut être exécutée dans quelques us.
2) Les 4 digits du résultat à afficher sur le 7 segments peuvent être déduits en codant le résultat en BCD (voir
bibliothèque de conversion dans help de MikroC Pro) et en séparant les 4 bits de chaque digit par une
opération de masquage (utiliser ET logique).
3) Avec un afficheur 7 segments à 4 digits chaque chiffre entré doit apparaitre sur l’afficheur au fur et à
mesure qu’il est entré.
4) Avec un afficheur LCD affichez toute l’opération.
5) Dans le cas d’un clavier matriciel, pour 15 touches nous n’avons besoin que de 8 E/S du microcontrôleur.
Dans le cas d’un clavier constitué de boutons poussoir et n’ayant pas une configuration matricielle nous
avons besoin de 15 E/S. D’où l’intérêt des claviers matriciels (économie d’E/S du microcontrôleur).

Une partie de l’organigramme de gestion d’un clavier matriciel


Lignes du clavier A, B, C, et D en entrée
Recommandation : Pour simplification utiliser « switch » au lieu de « if » Colonnes du clavier 1, 2, 3, 4 en sortie

Sortie = 0b0001

Non Oui
Entrée = 0b0001
Non Oui touche = "+"
Entrée = 0b0010
Non Oui touche = "-"
Entrée = 0b0100
Non Oui
Entrée = 0b1000 touche = "*"
touche = "/"
Sortie = 0b0010

Non Oui
Entrée = 0b0001
touche = "="

Vous aimerez peut-être aussi