Timer

 

Description:

C'est un compteur 8 bits accessible par le registre TMR0 (01h)

Fonctionnant en R/W

Il peut être utilisé avec un prescaler 8 bits programmable

Avec une source horloge interne et externe (Timer mode) (Counter mode)

Déclenchement sur front montant ou descendant en source externe

Il peut provoquer des interruptions par dépassement de FFh à 00h, cela positionne le bit 2 T0IF du registre INTCON (h'0B')

Le Timer ne fonctionne pas en période SLEEP

 

Timer mode:

Dans ce mode, le compteur incrémente à chaque cycle d'instruction (sans prescaler)

Ce mode est sélectionné en mettant le bit 5 (T0CS) du registre OPTION_REG (81h) à 0

On peut le positionner à une valeur choisie en écrivant dans le registre TMR0 (01h)

Si on écrit dans le registre TMR0, l'incrément est bloqué pendant les deux cycles qui suivent, il faut en tenir compte dans la valeur à écrire.

 

Counter mode:

Dans ce mode, le compteur incrémente à chaque impulsion appliquée sur RA4/T0CKI

Ce mode est sélectionné en mettant le bit 5 (T0CS) du registre OPTION_REG à 1

Il incrémente sur le front montant ou descendant selon le bit 4 (T0SE) du registre OPTION_REG

Avec un signal symétrique, la fréquence du signal appliqué sur RA4/T0CKI doit être inférieure à 50 MHz et à 1/4 de la fréquence horloge, multiplié éventuellement par le taux de division du prescaler.

Le Timer Counter

Prescaler:

C'est un compteur 8 bits programmable

Il n'est ni lisible ni inscriptible

Seul son taux de division est programmable par les bits 0 1 et 2 (PS0) (PS1) et (PS2) du registre OPTION_REG (81h)

Le taux de division peut être modifié en cours de programme

Il est utilisé devant le module Timer lorsque le bit 3 PSA du registre OPTION_REG (81h) est à 0

Les instructions qui écrivent dans le registre TMR0 (01h) le remettent à zéro

Taux de division du Prescaler avec le module Timer (PSA=0)
PS2 PS1 PS0 Division
0 0 0 2
0 0 1 4
0 1 0 8
0 1 1 16
1 0 0 32
1 0 1 64
1 1 0 128
1 1 1 256

 

Le prescaler fonctionne pour le module TIMER ou pour le WATCHDOG, mais pas pour les deux simultanément

 

Retour au sommaire

© 1999-2009 A. Ducros F5AD