LES
TIMERS
Application au
microcontrôleur MC9S12
|
Hugues
ANGELIS |
page 07 |
Détail des registres
MCFLG (Modulus
Down-Counter Flag Register)
(Base + 39)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
MCZF |
0 |
0 |
0 |
POLF3 |
POLF2 |
POLF1 |
POLF0 |
Write |
|
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
MCZF Modulus
Down-Counter Underflow Flag Flag de débordement du MDC
Fonction : Indique si le Modulus
Down-Counter a débordé, c'est-à-dire si le décompteur a atteint 0 et
qu'on lui a demandé de décompter une fois de plus.
Etat : 0, Flag de
Underflow non actif. 1, Flag de Underflow actif.
POLFX
(Non traité ici.
Voir documentation complète).
ICPAR (Input
Control Pulse Accumulator
Register) (Base + 40)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
0 |
0 |
0 |
0 |
PA3EN |
PA2EN |
PA1EN |
PA0EN |
Write |
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
PAXEN
Pulse Accumulator Enable Activation des Pulse
Accumulateurs 8 bits
Fonction : Les bits PAXEN
permettent respectivement d'activer les Pulse Accumulators de 8 bits
PACX.
Si le bit PAEN du registre PACTL est actif, les bits PA3EN
et PA2EN ne sont pas pris en compte, les registres étant
utilisés pour le Pulse Accumulator 16 bits PACA.
Si le bit PBEN du registre PBCTL est actif, les bits PA1EN
et PA0EN ne sont pas pris en compte, les registres étant
utilisés pour le Pulse Accumulator 16 bits PACB.
Etat : 0, Pulse
Accumulator 8 bits PACX inactif.
1, Pulse Accumulator 8 bits PACX actif.
DLYCT (Delay Control
Register)
(Base + 41)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
0 |
0 |
0 |
0 |
0 |
0 |
DLY1 |
DLY0 |
Write |
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
DLYX
Delay Counter
Temporisateurs
Fonction : Permet de définir le
mode de fonctionnement des Delay Counters.
Si les Delay Counters sont activés, un front actif sur l'une des
entrées (en mode IC ou PA) déclenche le comptage par le
temporisateur d'un nombre fixé de période de l'horloge système du
microcontrôleur. Si arrivé à la fin de sa temporisation, le niveau
sur l'entrée est toujours le même que celui présent au début de la
temporisation, les Delay Counters génèrent un signal qui sera
capturé par l'entrée concernée. Si à la fin de la temporisation, le
signal a évolué, les Delay Counters ne génèrent pas d'impulsion.
En mode IC, lorsque les Delay Counters sont activés, la valeur lue
dans le registre du timer est donc l'horodatage de l'événement + les
périodes de l'horloge système utilisées pour la temporisation.
Etat :
00 |
Delay Counters
désactivés. |
01 |
Temporisation de 256 périodes de
l'horloge système. |
10 |
Temporisation de 512 périodes de
l'horloge système. |
11 |
Temporisation de 1024 périodes de
l'horloge système. |
ICSYS (Input Control System Control
Register) (Base
+ 43)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
SH37 |
SH26 |
SH15 |
SH04 |
TFMOD |
PACMX |
BUFEN |
LATQ |
Write |
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
HXY
(Non traité ici. Voir documentation complète).
TFMOD Timer
Flag Setting Mode Mode de fonctionnement
des Flags
Fonction : Permet de ne
déclencher l'apparition d'un Flag qu'après la prise en compte de 2
évenements (le premier étant stocké dans le Hold Register et le
second, dans le registre lui-même).
Lorsqu'il est activé, le bit TFMOD, si le timer en mode queue (voir
le bit LATQ) et sous réserve que les bits NOVWX soient à
'1', permet la mise à l'état actif des Flag uniquement lorsque les
deux registres (du timer et son Hold Register) contiennent des
données.
Lorsqu'il est désactivé, ou si le timer en mode normal, toute
acquisition entraîne quelque soit le contenu du Hold Register la
mise à l'état actif du Flag associé.
Etat : 0, Le Flag est
activé à la première capture. 1, Le Flag n'est activé (sous conditions) qu'à la deuxième capture
consécutive.
PACMX Pulse
Accumulator Maximum Value Limite de comptage des Pulse Accumulators
Fonction : Permet de limiter le
comptage dans les Pulse Accumulators de 8 bits.
Lorsqu'il est actif, le bit PACMX limite les Pulse Accumulators de
8 bits à la valeur 255. Tout nombre d'impulsion supérieur à 255 sera
limité à un résultat de 255. Par exemple 257 impulsions sont
visualisées dans le registre du Pulse Accumulator comme 255
impulsions.
Lorsqu'il est inactif, le bit PACMX ne limite pas les Pulse
Accumulators de 8 bits à la valeur 255. Tout nombre d'impulsion doit
donc être compris comme modulo 256. Par exemple 257 impulsions sont
visualisées dans le registre du Pulse Accumulator comme 1 impulsion.
Etat : 0, Mode modulo.
1, Mode limité.
BUFEN
Input Capture Buffer Enable Activation
des Hold Registers
Fonction : Permet d'activer ou de
désactiver l'utilisation des Hold Registers.
Etat :
0, Hold Registers désactivés.
1, Hold Registers activés.
LATQ Latch
Mode / Queue Mode Mode verrouillage ou
mode queue
Fonction : Permet de choisir
entre 2 modes de fonctionnement des timers.
Lorsqu'il est actif, le bit LATQ, sous réserve que le bit BUFEN soit
actif, place les timer en mode verrouillage. Lorsque le MDC contient
la valeur 0 (par décomptage ou par écriture), le contenu des
registres TC0 à TC3 et PAC0 à PAC3 est copié dans le Hold Registers
associé.
Lorsqu'il est inactif, le bit LATQ, sous réserve que le bit BUFEN
soit actif, place les timers en mode queue. C'est-à-dire qu'il
permet la mise en place, automatique, du contenu du registre du
timer, dans le Hold Register associé, au moment où est réalisé une
nouvelle capture.
Etat : 0, Mode Queue.
1, Mode Latch.
PBCTL (Pulse Accumulator B Control
Register) (base +
48)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
0 |
PBEN |
0 |
0 |
0 |
0 |
PBOVI |
0 |
Write |
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
PBEN Pulse
Accumulator B Enable Activation du Pulse
Accumulator B.
Fonction : Permet d'activer le
Pulse Accumulator 16 bits B.
Si actif, les Pulse Accumulators 8 bits PAC1 et PAC0 sont
automatiquement désactivés.
Si actif, le Pulse Accumulator B utilise le port 0 comme entrée.
Etat : 0, PACB désactivé.
1, PACB activé.
PBOVI Pulse
Accumulator B Overflow Interrupt Enable
Activation de
l'interruption sur Overflow du Pulse Accumulator B.
Fonction : Permet d'activer une
interruption lors du débordement du Pulse Accumulator B.
Etat : 0, Interruption
sur débordement désactivée. 1, Interruption sur débordement activée.
PBFLG (Pulse
Accumulator B Flag Register)
(Base + 49)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
0 |
0 |
0 |
0 |
0 |
0 |
PBOVF |
0 |
Write |
|
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
PBOVF Pulse Accumulator B Overflow Flag Flag d'Overflow du
Pulse Accumulator B.
Fonction : Indique un débordement
du Pulse Accumulator B.
Doit être systématiquement remis à 0 pour permettre la prise en
compte d'une nouvelle activation.
Etat : 0, débordement
détecté. 1, pas de débordement détecté.
PA3H (Pulse Accumulator 3 Hold
Register)
(Base + 50)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
PA3H7 |
PA3H6 |
PA3H5 |
PA3H4 |
PA3H3 |
PA3H2 |
PA3H1 |
PA3H0 |
Write |
|
|
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture.
Accès impossible en écriture.
PA3HX
Pulse Accumulator 3 Hold Register Registre de
maintient du Pulse Accumulators 3.
Fonction : PA3HX
contient la valeur stockée dans le registre de maintient du Pulse Accumulator 3.
Pour les registres PA2H, PA1H et PA0H
utilisez les indications du registre PA3H en modifiant les valeurs
des adresses conformément au tableau de la page XXX.
MCCNT (Modulus Down-Counter Count
Register) (base + 54)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
MCCNT15 |
MCCNT14 |
MCCNT13 |
MCCNT12 |
MCCNT11 |
MCCNT10 |
MCCNT9 |
MCCNT8 |
Write |
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
(base + 55)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
MCCNT7 |
MCCNT6 |
MCCNT5 |
MCCNT4 |
MCCNT3 |
MCCNT2 |
MCCNT1 |
MCCNT0 |
Write |
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture et en écriture.
Une lecture de ce registre doit toujours être faite en un accès sur
16 bits, pas en 2 accès de 8 bits.
MCCNTX
Modulus Down-Counter Valeur du Modulus
Down Counter.
Fonction : Permet de connaître la
valeur du Modulus Down-Counter. A lire sur 16 bits.
TC0H (Timer Input Capture / Output Compare Hold Register
0) (base + 56)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
TC0H15 |
TC0H14 |
TC0H13 |
TC0H12 |
TC0H11 |
TC0H10 |
TC0H9 |
TC0H8 |
Write |
|
|
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
(base + 57)
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Read |
TC0H7 |
TC0H6 |
TC0H5 |
TC0H4 |
TC0H3 |
TC0H2 |
TC0H1 |
TC0H0 |
Write |
|
|
|
|
|
|
|
|
Reset |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Accès : Toujours accessible
en lecture.
Accès impossible en écriture.
TC0X
Timer
0
Registre du Timer du port 0.
Fonction : Contient la valeur
stockée dans le registre de maintient du timer 0.
Pour les registres TC1H, TC2H et TC3H
utilisez les indications du registre TC0H en modifiant les valeurs
des adresses conformément au tableau de la page XXX.
|