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