Les heures (pattes
RB4 à RB7) et les minutes par 5 (pattes RB0à RB3) sont commandées
par deux 4067 qui décodent le signal (4 lignes) donné par le PIC . Les 4 leds des
minutes intermédiaires sont alimentées en direct par le PIC (RA1 à RA4).
L´oscillateur est un quartz de 3,2768 MHz,
qui permet d´obtenir, par les prédiviseurs, un fonctionnement possible en heure réelle.
[NDLR Quoique le nombre 32768 paraisse étrange, ce quartz est
ultra-courant dans le commerce, justement pour faire tourner des horloges !] 
FRÉQUENCE
D´OSCILLATION. Rappel : la fréquence interne du PIC est le
quart de la fréquence de l´oscillateur ; le Timer0 compte de zéro
à 255, et le prédiviseur permet de ne compter que toutes les n impulsions
(de 1/128 à 1/2).
Appliqué à un quartz de 3,2768 MHz,
cela nous donne :
  Fréquence
horloge interne = 819 200 Hz (quartz divisé par 4),
  Prédiviseur
à 32 : impulsions Timer0 à 25 600 Hz,
  Interruption
Timer0 (256 impulsions) = 100 Hz.
L´interruption se présente
donc toutes les 1/100
de seconde ; si on compte jusqu´à 100, on aura un intervalle exact d´une
seconde.
Essayez de faire le calcul avec
par exemple un quartz de 4 MHz, vous verrez qu´il est impossible de tomber
sur un compte rond... |
|
|
 | 2.1.Réglages |
Différentes possibilités de réglage sont
proposées :
  Mise
à l´heure (heures et minutes par 5 ),
  Vitesse
(entre 0 et 11)
  Sauvegarde
du réglage : onze mémoires sont disponibles, permettent de stocker une heure et une
vitesse,
  Rappel
d´un réglage, qui permet de récupérer un réglage enregistré.
J´ai ajouté cette fonction d´enregistrement,
que vous ne trouverez pas sur votre radioréveil : je suppose que dans certains clubs
ont aime jouer des scénarios, comme par exemple trafic de la gare de Trifouillis
entre 7 heures et 11 heures du matin, vitesse double.
Dans ce cas, plutôt que de devoir répéter
la séquence de mise à jour (voir ci-dessous), on peut rappeler sans erreur les réglages de
l´horloge au début du scénario.
Je ne sais pas si ce sera très utile ou utilisé,
mais je me suis fait plaisir, et qui peut le plus peut le moins.
Par ailleurs, la vitesse et l´heure
courante sont en permanence sauvegardées (toutes les 5 minutes), et après une interruption
(coupure ou réglage), l´horloge continue où elle s´est arrêtée.
ATTENTION : je ne sauvegarde
pas, et il n´est pas possible de régler, les minutes par 5 ; après
une interruption, l´horloge reprend donc toujours avec un multiple de 5 minutes.
 | 2.2.Commandes |
Deux boutons sont utilisés pour les réglages,
en mode réglage les leds des minutes intermédiaires indiquent la commande en cours.
Comme il n´y a que deux boutons, les
manipulations sont un peu contraignantes, mais guère plus que votre radioréveil.
Si on appelle les deux boutons BoutonA et
BoutonB, les manipulations et les états de l´horloge sont les suivantes :
1. Fonctionnement
normal : dans cet état, l´horloge compte et affiche l´heure en cours,
selon la vitesse choisie ; à partir de cet état, deux actions sont possibles, appui
sur le BoutonA ou appui sur le BoutonB ; pour éviter de fausses manœuvres, cet appui
doit être prolongé (presque une seconde).
2. Appui sur
BoutonA : l´horloge passe en état réglage,
le comptage du temps s´arrête, la première led des minutes intermédiaires clignote.
Un autre appui sur BoutonA permet de passer
les différentes étapes de réglage, les 4 leds clignotent successivement pour indiquer
le réglage en cours :
  Led
1 : réglage des heures : chaque appui sur BoutonB
fait avancer l´horloge d´une heure.
  Led
2 : réglage des minutes : chaque appui sur BoutonB
fait avancer l´horloge de 5 minutes.
  Led
3 : réglage de la vitesse : les aiguilles indiquent
la vitesse, sur 12 h, la vitesse est la vitesse réelle, ensuite chaque appui sur BoutonB
fait défiler les vitesses, depuis 1 heure = 5 secondes réelles par minute (réduction
du temps au 1/12e) jusqu´à 11 heures = 55 secondes par minute (réduction
du temps au 55/60e). Sur 6 heures, la vitesse est réduite de moitié.
  Led
4 : sauvegarde des réglages ; chaque appui sur BoutonB
fait défiler les mémoires de 1 à 11, les aiguilles indiquant la mémoire sélectionnée.
Sur la position 12 heures, le réglage n´est pas sauvegardé (mais il reste le réglage
en cours).
Le dernier appui sur le BoutonA entraîne
la sauvegarde des réglages si une mémoire a été sélectionnée, et la reprise du comptage du
temps (fonctionnement normal) avec les réglages en cours (heure, minute, vitesse).
3. Appui sur
BoutonB : l´appui sur le BoutonB pendant le fonctionnement normal fait entrer
dans la fonction de rappel de réglage. Les aiguilles sont positionnées
sur 12 heures, et chaque appui sur BoutonA fait défiler les mémoires de 1 à 11.
Un nouvel appui sur BoutonB fait revenir au fonctionnement normal, avec les nouveaux réglages
si une mémoire a été sélectionnée, sans changement si la position 12 ou si la mémoire
sélectionnée est vide, c´est-à-dire n´a pas été chargée par une étape 4
de la fonction réglages ci-dessus. |