Académique Documents
Professionnel Documents
Culture Documents
A-Mise en situation:
Exemple:
H = 0,5Hz
Le compteur
B-Étude du TMR0 :
1-Définition: Le timer TMR0 est un module intégré dans les microcontrôleurs de type PIC. Il
assure la fonction d’un compteur (d’événement ou du temps) à 8 bits qui peut être chargé
avec une valeur initiale quelconque. Il s’incrémente à chaque front d’horloge (interne ou
externe) jusqu’à ce que le débordement (passage de FF à 00) ait lieu (TOIF = 1 ).
1/7
RBPU:Mode Pull up Ce bit est utilisé sauf si le PortB est configuré en entrée (trisB:=$FF)
RBPU=1:Le mode est désactivé (PortB fonctionne avec la logique positive:1)
RBPU=0:Le mode est activé (PortB fonctionne avec la logique négative:0)
INTEDG:Choisir le type du front de RBO/INT pour provoquer une interruption
INTEDG=1:Front montant sur RB0
INTEDG=0:Front descendant sur RB0
TOCS:Choisir la source d’horloge du TMR0 (ou le mode de fonctionnement)
TOCS=1:L’horloge externe (RA4) « mode compteur »
TOCS=0:L’horloge interne « mode temporisateur »
TOSE:Choisir le type du front de RA4 en mode compteur
TOSE=1:Le TMR0 s’incrémente à chaque front descendant sur RA4
TOSE=0:Le TMR0 s’incrémente à chaque front monta nt sur RA4
PSA:Affecter le Pré-diviseur
PSA=1:Le pré-diviseur est affecté au watchdog
PSA=0:Le pré-diviseur est affecté au TMR0
PS2, PS1 et PS0:Choisir le pré-diviseur selon le tableau suivant
=B’...................’
=H’..................’
2/7
TrisB=D’.........................’ TrisB=B’.........................’ TrisB=H’.........................’
Exemple2:
On désire rélaiser un compteur modulo M=32 à l’aide du TMRO son incrémentation est assuré
par la source d’horloge externe RA4/T0CK1, sensible à chaque front descendant.
=B’...................’
=H’..................’
3/7
TrisB=D’.........................’ TrisB=B’.........................’ TrisB=H’.........................’
*Compléter le programme ci-dessous.
4/7
Exemple3:
On désire rélaiser un compteur modulo M=300 à l’aide du TMRO son incrémentation est
assuré par la source d’horloge externe RA4/T0CK1, sensible à chaque ………. fronts
montants.
RPBU INTEDG T0CS T0SE PSA PS2 PS1 PS0
X X
Option_Reg
=D’..................’
=B’...................’
=H’..................’
5/7
A l’aide de l’éditeur graphique Logipic.
*Etablir l’organigramme décrivant le fonctionn-
ement d’un compteur modulo300.
*Compiler
*Réaliser le schéma sur ISIS.
*Simuler le fonctionnement.
2-Mode temporisateur :
Exemple:
On désire clignoter une lED, branchée sur RB0 du 16F84A, avec une fréquence de 1Hz
Sachant que la fréquence du quartz est 4Mhz
=B’...................’
=H’..................’
Solution:
6/7
16 17
A l’aide de l’éditeur graphique Logipic. 15
OSC1/CLKIN
OSC2/CLKOUT
RA0
RA1
18
1
*Etablir l’organigramme décrivant le 4
RA2
2
MCLR RA3
fonctionnement du LED clignotante. RA4/T0CKI
3
*Compiler RB0/INT
6
7
*Réaliser le schéma sur ISIS. RB1
RB2
8
7/7