TD6 : Temporisation avec le timer0 (TMR0)
Le Timer : c’est un compteur de 8bits, incrémenté par une horloge (interne ou
externe), Il peut assurer la fonction compteur et la fonction temporisateur.
Configuration du Timer : La mise en œuvre du timer0 s’effectue grâce au registre
OPTION, Sa configuration se fait par le registre OPTION : OPTION_REG
/BBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
Au reset : OPTION : 11111111
TOCS =0 Mode Timer, Fosc/4 Horloge interne : les cycles d’horloge
du microcontrôleur lui-même
TOCS =1Mode compteur Horloge externe : les impulsions ou les
événements appliqués à la broche RA4 /TOCKI
TOSE =0 incrémentation sur fronts montants
TOSE =1 incrémentation sur fronts descendants
Le pré-diviseur de fréquence :
PSA=0 Le pré-diviseur affecté à Timer0
PSA=1 Le pré-diviseur n’est pas affecté à Timer0
Le facteur de division de la fréquence est fixé par les bits PS2, PS1, PS0
Module : Microprocesseur & Microcontrôleur
Chargée de cours : Dr K. Chaker
Chargée de TD : Dr N.Merabti
Exemple :
La fréquence du signal d’horloge qui arrive au Timer0 sera divisée par 2 :
Donc PS2 PS1 PS0= 0 0 0
Si par 16 : PS2 PS1 PS0= 0 1 1
Temporisation par scrutation du débordement du timer : Au débordement de
Timer (passage de FF à 00 soit après 256 impulsions), le bit indicateur TOIF (Flag) du
registre INTCON passe à 1.
Registre INTCON (bank 0 et bank 1)
T0IF
Au reset : INTCON = 0000000
Module : Microprocesseur & Microcontrôleur
Chargée de cours : Dr K. Chaker
Chargée de TD : Dr N.Merabti
Ex 1: Réaliser une temporisation de 1s en utilisant le timer 0 du PIC16F84 doté
d’un quartz de 4MHZ
Ex2 : Ecrire un programme qui fait clignoter une LED connectée sur une sortie du
PORT B, la temporisation permettant d’ajuster la fréquence est obtenu par scrutation des
débordements du TMR0.
EX3 : clignotement d’une LED en utilisant une temporisation de 5 s avec le TMR0,
avec un oscillateur de 4MHZ.
Module : Microprocesseur & Microcontrôleur
Chargée de cours : Dr K. Chaker
Chargée de TD : Dr N.Merabti