Horloge temps réel-Réveil - NumEctron
Transcription
Horloge temps réel-Réveil - NumEctron
numEctron http://nalhossri.free.fr ______________________________________________________________________________________________ Nabil AL-HOSSRI, département GEII IUT Bordeaux1 E-mail: [email protected] LCD BUZZER Connecteur de programmation Micro MC68HC908JL3 LED témoin Présentation de l’appareil et cahier de charge L’intérêt de ce montage réside dans sa simplicité de conception et de câblage. Il comporte : un circuit microcontrôleur qui pilote les différentes fonctions de l’appareil, un afficheur LCD qui assure une certaine interactivité entre l’utilisateur et l’appareil, 3 boutons poussoirs et un interrupteur à deux positions, un BUZZER qui matérialise les différentes alarmes, une LED témoin. ____________________________________________________________________________________ 1 Montage Horloge Temps Réel – Réveil piloté par microcontrôleur Nabil AL HOSSRI numEctron http://nalhossri.free.fr ______________________________________________________________________________________________ Microcontrôleur C’est un microcontrôleur MC68HC908JL3 de petite taille de la firme MOTOROLA. Il est intéressant car il comporte une mémoire programme de type dit « FLASH », effaçable et reprogrammable théoriquement à volonté. De plus, il est possible de le programmer sans le dissocier du montage (in-situ, voir ici programme. ), ce qui facilite sans doute la mise au point du Buzzer L’appareil comprend 3 alarmes, chacune d’entre elles étant activable suivant un « scénario type » : une sorte de Tic-tac au rythme du défilement des secondes. une sirène à la mise sous tension de l’appareil qui peut-être neutralisée par un bouton poussoir (réglage de l’heure de réveil : <R_reveil>). Son intérêt est de signaler que l’horloge n’est pas à l’heure. une alarme pour le réveil d’une durée d’une minute. Elle peut-être arrêtée à tout moment à l’aide d’un interrupteur <A_reveil> à deux positions (active ou désactive la fonction réveil). Boutons poussoirs L’appareil comprend 3 boutons poussoirs et un interrupteur à deux positions : Bouton <Heures> : provoque l’avance rapide des heures. Bouton <Minutes> : provoque l’avance rapide des minutes Bouton <R_reveil> : affiche l’heure de réveil. Une pression simultanée sur ce bouton et sur celui des <Heures> provoque l’avance rapide des heures du réveil. Idem pour le bouton <Minutes>. Interrupteur <A_reveil> : active ou désactive la fonction réveil. La mise en parallèle d’un condensateur de 10nF sur chacun des boutons poussoirs évite les perturbations et les rebonds. Affichage Dans le souci d’économiser les ports d’entrée/sorties du microcontrôleur, on utilise un module LCD alphanumérique (2 lignes de 16 caractères : type compatible HITACHI), adressé en mode 4 bits. Séquence d’affichage (fonction alarme réveil désactivée : <A_reveil>=0) : ____________________________________________________________________________________ 2 Montage Horloge Temps Réel – Réveil piloté par microcontrôleur Nabil AL HOSSRI numEctron http://nalhossri.free.fr ______________________________________________________________________________________________ Figure(a) Figure(b) A la mise sous tension du montage : l’écran LCD clignote, la LED témoin clignote et une sirène est déclenchée Figure(c) Figure(d) Après un appui bref sur le Un appui long sur le bouton Idem pour les minutes mais bouton <R_reveil> la sirène <Heures> provoque l’avance en appuyant sur le bouton s’arrête, l’heure initiale rapide des heures de <Minutes>. (00 :00 :00) est affichée et l’horloge. l’accès aux différents réglages est autorisé. Figure(e) Figure(f) Figure(g) Figure(h) Aucun bouton n’est enfoncé : Une pression simultanée, Une pression simultanée, affichage normal de l’heure, respectivement, sur le respectivement, sur le couple la LED témoin clignote à une couple de boutons de boutons <R_reveil>, fréquence de 1Hz et il y a le <R_reveil>, <Heures> <Minutes>, permet le Tic-tac du BUZZER permet le réglage « heures réglage « minutes désirées » désirées » du réveil. du réveil. Un appui sur le bouton <R_reveil> provoque l’affichage de l’heure du réveil. D’après ce qui précède compléter le schéma de la figure 1. he Horloge Temps Réel - Réveil Connecteur de programmation 1 2 3 4 VDD Aalimentation extérieure 1 2 VSS R9 R3 10k 10k 10u Retirer le fil d'alimentation MC68HC908JL3 extérieure +5v avant de brancher le câble de programmation 100nF 28 1 4 5 2200k 21 20 18 17 15 12 11 10 QUARTZ R4 10k 9.8304MHz 16 19 24 22 26 25 14 13 2 6 8 9 23 27 U1 22p ? Compléter le schéma, pour qu'il obéisse au cahier des charges. VEE 22p PTD0/ADC11 PTD1/ADC10 RST PTD2/ADC9 IRQ1 PTD3/ADC8 PTD4/TCH0 OSC1 PTD5/TCH1 OSC2/RCCLK/PTA6/KBI PTD6 PTD7 PTB0/ADC0 PTB1/ADC1 PTB2/ADC2 PTA0/KBI0 PTB3/ADC3 PTA1/KBI1 PTB4/ADC4 PTA2/KBI2 PTB5/ADC5 PTA3/KBI3 PTB6/ADC6 PTA4/KBI4 PTB7/ADC7 PTA5/KBI5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VDD K A D7 D6 D5 D4 D3 D2 D1 D0 E RW RS VEE VDD VSS RV1 VEE Heure 10k 25:00:00 Contraste du LCD VSS LCD1 Figure 1 Schéma fonctionnel du montage : horloge temps réel - Réveil ____________________________________________________________________________________ 3 Montage Horloge Temps Réel – Réveil piloté par microcontrôleur Nabil AL HOSSRI numEctron http://nalhossri.free.fr ______________________________________________________________________________________________ Programme Le langage de programmation est le C sous le compilateur CODE WARRIOR version 5.1. Les démarches à suivre pour ouvrir un nouveau projet personnalisé avec ce compilateur sont exposées ici . Pour élaborer votre programme, aidez-vous des bibliothèques de fonctions gérant : alphanumérique opérant en mode 4 bits, l’affichage sur le LCD du microcontrôleur MC68HC908GP32. la bibliothèque de fonctions du module PWM Elle peut être facilement adaptée au micro MC68HC908JL3 utilisé. La base de temps est générée par interruption toutes les secondes. Le service d’interruption comptabilise les secondes pour en extraire les minutes et les heures, puis les envoyer à l’affichage. L'état de boutons sera scruté (test de niveaux logique) à l’aide des boucles : WHILE (tests…) {instructions…} ; Etude théorique et recherche bibliographique Expliquer la signification et le mécanisme d’une interruption dans un programme. Etudier de prés le fonctionnement du/des Timer(s) spécifique(s) au microcontrôleur MC68HC908JL3 quartz utilisé. . On justifiera par la suite le choix de la fréquence 9,8304MHz du Réalisation Le circuit imprimé sera réalisé en double face. Sous ARES, préparer et/ou créer, toutes les empreintes physiques des composants utilisés dans le montage. Sous ISIS, saisir le schéma et attacher ces empreintes aux symboles adéquats. Passer sous ARES par la commande -> Outils -> Netlist vers ARES. Placer les empreintes en veillant bien à ce que les liaisons entre microcontrôleur et LCD soient les plus courtes possible. Initialiser le routeur automatique, en choisissant des isolations et des largeurs de pistes raisonnables. Vous connaissez la suite pour sortir le typon… ____________________________________________________________________________________ 4 Montage Horloge Temps Réel – Réveil piloté par microcontrôleur Nabil AL HOSSRI numEctron http://nalhossri.free.fr ______________________________________________________________________________________________ Important pour mener à bien votre projet et gagner du temps Après réalisation du circuit imprimé, bien vérifier la continuité des pistes à l’ohmmètre ; il vaut mieux passer une demi-heure à cette opération que trois heures à dépanner l’appareil par la suite… Si possible, étamer le circuit pour réduire le risque de micro coupures. Enfin, souder les composants et avant de passer au programme final, faire un petit programme pour tester le bon fonctionnement du montage. ____________________________________________________________________________________ 5 Montage Horloge Temps Réel – Réveil piloté par microcontrôleur Nabil AL HOSSRI