1 les microcontrôleurs pic de microchip le 16f84


7

I.7 Le port d’ E/S PORTB

Le port port B désigné par PORTB est un port bidirectionnel de 8 bits (RB0 à RB7). Toutes les

broches sont compatibles TTL. La configuration de direction se fait à l’aide du registre TRISB. (Voir PORTA / TRISA) En entrée, la ligne RB0 appelée aussi INT peut déclencher l’interruption externe INT. En entrée, une quelconque des lignes RB4 à RB7 peut déclencher l’interruption RBI. Nous reviendrons là-dessus dans le paragraphe réservé aux interruptions.

I.8 Le Timer TMR0

C’est un compteur 8 bits ayant les caractéristiques suivantes :

• Il est incrémenté en permanence soit par l’horloge interne Fosc/4 (mode timer) soit par une horloge externe appliquée à la broche RA4 du port A (mode compteur). Le chois de l’horloge se fait à l’aide du bit T0CS du registre OPTION_REG o TOCS = 0 horloge interne

o TOCS = 1 horloge externe appliquée à RA4

• Dans le cas de l’horloge externe, on peut choisir le front sur lequel le TIMER s’incrémente. o TOSE = 0 incrémentation sur fronts montants

o TOSE = 1 incrémentation sur fronts descendants

• Quelque soit l’horloge choisie, on peut la passer dans un diviseur de fréquence programmable ( prescaler) dont le rapport est fixés par les bits PS0, PS1 et PS2 du registre OPTION_REG (tableau ci-contre). L’affectation ou non du prédiviseur se fait à l’aide du bit PSA du registre OPTION_REG o PSA = 0 on utilise le prédiviseur

o PSA = 1 pas de prédiviseur (affecté au chien de garde)

• Le contenu du timer TMR0 est accessible par le registre qui porte le même nom. Il peut être lu ou écrit à n’importe quel moment. Après une écriture, l’incrémentation est inhibée pendant deux cycles instruction

PS2 PS1 PS0Div

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

• Au débordement de TMR0 (FF 00), le drapeau T0IF est placé à 1. Ceci peut déclencher

l’interruption T0I si celle-ci est validée

Registre OPTION_REG RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

Fosc/4

TMR0

Prédiviseur

programmable

PS0 PS1 PS2

Horloge Système

Fosc

÷ 4

RA4

T0CS

0 0

1 1

T0SE

PSA

T0IF

Laisser un commentaire