Académique Documents
Professionnel Documents
Culture Documents
Pour utiliser le Timer 1 pour générer un signal de fréquence 1 Hz, , on aura besoin des
registres suivants:
Nous allons par exemple générer un signal de fréquence 1 Hz, soit un niveau haut de
500 ms et un niveau bas de 500 ms qui se succèdent. A chaque changement d’état,
nous allons générer une interruption.
.
3.2. Étapes à suivre
Pour un Prescalar de 256, on doit sélectionner la combinaison binaire 100 pour ces
bits (CS12, CS11, CS10).
Nous devons aussi inscrire notre valeur seuil d’enclenchement (31250) dans le
registre OCR1A.
Finalement nous devons aussi paramétrer le Timer Counter 1 Mask register (TIMSK1,
page 135) comme suit:
Dans notre cas, on doit mettre le bit 1 de ce registre à 1.
En résume, chaque Timer possède:
- Un registre TCNT qui est un registre compteur et la valeur de accumulée y’est
stockée.
- A chaque reset , la valeur du TCNT est égale à 0.
- La valeur dans chaque TCNT peut être lue ou écrite.
- A chaque Overflow, un bit TOV est généré.
- Chaque Timer possède un registre TCCR afin de définir les modes opératoires.
- Chaque Timer possède aussi un registre OCR et le contenu du OCR est comparé à celui
du TCNT afin de générer une interruption en cas d’égalité. Dans ce cas, le bit OCF est
mis à 1.
4. Méthode alternative de programmation
Plusieurs types d’interruption peuvent être générées par d’autres signaux tels que
Overflow etc..
On peut utiliser la fonctionnalité de Clear Timer en compare mode, ce qui implique
que le timer est mis à 0 si la condition de comparaison est active.
Comme on va le voir dans le langage assembleur, il est possible d’avoir de longues
temporisations en créant des boucles à l’intérieur d’autres boucles. Ceci sera traité
dans le cours de programmation assembleur.
Exercice 1
Créer un programme pour générer un signal carré de fréquence 2Hz . Utiliser la sortie
13 pour cela.
Corrigé:
Fréquence 2Hz, soit une période de 500 ms, soit une demi-période de 250 ms.
Il faudra que la durée de 250 ms corresponde à un nombre d’impulsions comptées,
d’où la valeur à mettre dans le compteur et bien sûr le présalaire à choisir: