Vous êtes sur la page 1sur 15

THEME 2

PROF : CHAOUECH.Lotfi
AU:2023-2024
A-SOURCES D’INTERRUPTION
1-Définition
Une interruption est un événement qui provoque l’arrêt d’un programme en cours d’exécution
pour aller exécuter un autre programme appelé programme d’interruption (ou routine).
A la fin du programme d’interruption, le microcontrôleur reprend le programme principal à
l’endroit où il s’est arrêté

2- Registre de configuration des interruptions (INTCON) :


Le registre INTCON (INTerrupt CONtroller) est le registre principal de contrôle et de
gestion des interruptions. Le registre INTCON est parfois différent d’un PIC à un autre il
est impératif de revenir au document constructeur
Registre INTCON pour PIC16F84A

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
3-Les Interruptions Externes
RB0/INT L’interruption est provoquée par un changement d’état
(passage de 0 à1) sur la broche RB0 du port B

1 0 0 1 0 0 0 0
90

0 0 0 1 0 0 1 0
12

1 0 0 1 0 0 0 0
90
RBI/(RB4—RB7) L’interruption est provoquée par un changement d’état sur au
moins une des entrées RB4 à RB7 du port B. Les broches
(RB4 à RB7)

1 0 0 0 1 0 0 0
88

0 0 0 0 1 0 0 1
09

1 0 0 0 1 0 0 0
88
C)TIMERS (TIMER0)
1-Présentation
TMER0 est un compteur programmable de 8 bits (de 0 à 255).
La configuration du TMER0 est assurée par le registre « OPTION_REG »
2- TIMER0 en mode temporisation ou contrôle du temps

L’entrée d'incrémentation du module TIMER0 est l'horloge interne


de fréquence (Fosc/4)

Le bit5 TOCS =0
La durée d’un cycle de comptage

La durée d’un cycle de comptage est donnée par la formule suivante


TC =[ (256*DIV)*4]/Fosc

DIV : valeur du prédiviseur / Fosc : Fréquence de l’oscillateur /Tc : Temps écoulé par un cycle
3-le diviseur de fréquence PSA (Bit 3)

Cas 1 : Si PSA = 1 (pas de prédiviseur, PS2, PS1 et PS0 n’ont au qu’un effet (état logique =0)

0 1 0 0 0
1 1

0 0 0 0 1 0 0 0

1μs (Période du signal)TC = …………………….


08 T2 =…….
Option Reg= 0x…… 256μs
[ (256*DIV)*4]/Fosc = ………………..

1μs
La période T2 du signal = ……………et 256μs
la durée du cycle de comptage ( 0 à 255) TC = …………..
Cas 2 : Si PSA = 0 (DIV = 4 : PS2=….0 0 PS0 = ……..)
PS1 =…. 1

Option Reg= 0x…… 4μs (Période du signal) TC = …………………….


01 T2 =……. 1024μs
[ (256*DIV)*4]/Fosc = ………………..
4μs
La période T2 du signal = ……………et 1024μs
la durée du cycle de comptage ( 0 à 255 ) TC = …………..
NB : Tout débordement du TMR0 (passage 255 à 0) entraine le positionnement (mise à 1 ) de TOIF
Du registre INTCON. La remise à zéro du Bit TOIF se fait par programmation
4-TIMER0 en mode comptage

L’entrée d'incrémentation du module TIMER0 est


l'horloge externe appliquée à la broche RA4/T0CKI

1 0
1

Le bit5 TOCS =1
[(Le bit4 TOSE) =1 : Pour un front descendant =0 : Pour un front montant]
Exemple
On désire réaliser un compteur modulo 32, le compteur sera incrémenter après
chaque 4 impulsions Sur l’entrée RA0 Par front montant

- Donner le contenu du registre option _Reg 21


Option Reg= 0x…………..

- Calculer la durée du cycle de comptage TC


[ (32*DIV)*4]/Fosc
TC = …………………………………………………………… 512μs
=……………………

1 0 0 0 0 1

Vous aimerez peut-être aussi