Sommaire Précédent Suivant


Une montre digitale

Programation

Pour simuler le fonctionnement d'une montre, on a connect&aecute ; les sorties 1 à 7 ( les 6 premiers bits ) sur des afficheurs 7 segments ( on demande en fait à rhythm de fomater ces sorties en affichage 7 segments). Pour fonctionner, le micro doit recevoir un reset sur l'entrée 0 ( bit de poid faible ) toutes les secondes. A chaque seconde, le code démarre donc, teste si c'est le premier démarrage et initialise dans ce cas le variables, sinon il met à jour 6 compteurs : secondes, min, heures (unités et dizaines), puis il effectue le décodage 7 segment et envoie le résultat sur les sorties, puis s'endort, jusqu'au prochain reset.
Voir le code source : ici

Simulation

On lance la simulation sur 200 secondes (60000 cycles ) ...

./bin/quartz 300 200 | \
blues -n $(( 300 * 200 )) -i - INPUTS.jzn | \
blues -n $(( 300 * 200 )) -i - MICRO.jzn | \
awk 'BEGIN { ctr = 0 } /^[^0-9]+/ { print $0 } \
/^[0-9]+/ \
{ if (ctr % 80 == 0) print $0 ; ctr += 1 } ' | \
rhythm clock.rcf > clock.html
%% The Blues Simulator version 1.07
%% The Blues Simulator version 1.07
%% Rhythm version 1.05

... quelques heures après, morceaux choisis :

le démarrage

Cyclequartzheuresheures minmin secsec
00
800
1600
2400
3200

Plus tard ..

Cyclequartzheuresheures minmin secsec
480000
480800
481600
482400
483200
484000
484800
485600
486400
487200
488000
488800
489600
490400

Voir le détail du démarrage : ici


Sommaire Précédent Suivant