Module de lecture du clavier - Département de génie électrique et

Transcription

Module de lecture du clavier - Département de génie électrique et
GEI 415
Applications de microprocesseurs
Module de lecture du clavier
Fonctions
Assure la lecture du clavier
Services
initialisation
balayage du clavier (synchronisée par une interruption
périodique) et dépôt des touches pressées dans la mémoire
tampon
lecture des touches pressées placées dans la mémoire
tampon
remise à zéro de la mémoire tampon
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
1
GEI 415
Applications de microprocesseurs
Les fonctions du module
Initialisation
initialise les broches d ’entrées-sorties reliées au clavier
initialise l ’état initial du clavier et de la mémoire tampon
Balayage
balaie le clavier pour vérifier si une touche a été pressée
prend en charge les phénomènes de rebond
utilise le buzzer pour donner un écho sonore si une touche
est pressée
place la valeur de la touche pressée dans une mémoire
tampon
appelée de façon périodique depuis l ’extérieur du module,
probablement depuis une interruption
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
2
GEI 415
Applications de microprocesseurs
Les fonctions du module
Lecture de la mémoire tampon
retourne la valeur de la touche la plus ancienne dans la
mémoire tampon ou un code indiquant que celle-ci est vide
Remise à zéro de la mémoire tampon
efface le contenu de la mémoire tampon
La mémoire tampon est de taille fixe à déterminer
Si elle est pleine les touches pressées seront ignorées
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
3
GEI 415
Applications de microprocesseurs
Architecture du module
initialisation
balayage
Initialisation
Balayage
Mémoire
tampon
lecture
touche pressée ou
tampon vide
Lecture
remise à zéro
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
4
GEI 415
Applications de microprocesseurs
Questions auxquelles il faut répondre
Comment éviter les problèmes causés par les rebonds des
contacts, à l ’ouverture et à la fermeture?
Comment gérer l ’utilisation du buzzer par les autres modules et
le clavier simultanément ?
La fonction de balayage étant appelée depuis une interruption,
comment en limiter la durée d ’exécution pour ne pas porter
atteinte aux performances temps réel du système ?
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
5
GEI 415
Applications de microprocesseurs
Développement et tests
Développer les fonctions du module sous forme de sousroutines
Développer un programme de test
utilisant les facilités d ’entrée-sortie du moniteur sur
l ’émulateur de terminal pour dialoguer avec le développeur
appelant les fonctions du module
indiquant les valeurs retournées par ces appels
Tester et démontrer la fonctionnalité du module
Philippe Mabilleau Ing.
Département de Génie Électrique et de Génie Informatique
6