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