Académique Documents
Professionnel Documents
Culture Documents
Les interruptions :
Une interruption provoque l’arrêt du programme principal pour aller exécuter une procédure d'interruption.
A la fin de cette procédure, le microcontrôleur reprend le programme à l’endroit où il s’était arrêté. Le PIC16F84
possède 4 sources d'interruption. A chaque interruption sont associés deux bits: un bit de validation et un
drapeau(Flag). Le premier permet d'autoriser ou non l'interruption, le second permet au programmeur de
savoir de quelle interruption il s'agit. Tous ces bits sont dans le registre INTCON à part le drapeau EEIF de
l'interruption EEI qui se trouve dans le registre EECON1.
De plus, lorsqu'il y a une interruption, le processeur va à l'adresse 0004H.
INTCON(page0 et page1):
GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
Au reset : INTCON = 0000000X
GIE : (Global Interrupt Enable) : autorisation global d’interruption.
1. L'interruption INT (Entrée RB0 du port B) :Cette interruption est provoquée par un
changement d'état sur l'entrée RB0 du port B quand elle est programmée en entrée.Les bits
associés sontINTE(validation),INTF (drapeau) et INTEDG (front de déclenchement voir
registre OPTION).
2. L'i nterruption RBI (RB4 à RB7 du port B) : Cette interruption est provoquée par un
changement d'état sur l'une des entréesRB4 à RB7 du port B, Le front n'a pas d'importance. Les
bits associés sont RBIE (validation) et RBIF (drapeau).
3. L'interruption T0I ( Débordement du Timer TMR0) : Cette interruption est provoquée par le
débordement du timer TMR0(FFH→ 00H). Les bits associés sont T0IE (validation) et T0IF
(drapeau).
4. L'interruption EEI ( Fin d'écriture dans l'EEPROM) :Cette interruption est déclenchée à la fin
d'une écriture réussie dans l'EEPROM. Les bits associés sont EEIE (validation) et EEIF
(drapeau)
Les flags doivent être remis à zéro par programme après interruption.
Registre OPTION(page1) :
INTEDG (Interrupt Edge) sélection du front actif de l’interruption sur RB0/INT (1 pour front montant
et 0 pour front descendant).
2/3 2 ème STE CHAINE D’INFORMATION : TRAITER AZNAG
EXERCICE 1: Déterminer ce que fait ce programme simple.
ORG H’0000’
GOTO debut
interp ORGH’0004’
BCF INTCON,INTF ; INTF ← 0
NOP ;Pas d’operation.
RETRIE ;Retour après interruption vers le programme
principal
Correction:
Le programme principal autorise l’interruption INT et réalise une boucle ifini en attente d’un front
montant sur RB0 ( ↑).
Le sous programme d’interruption enlève le flag (INTF ← 0) et ne réalise aucune opération.
EXERCICE 2: Proposer un programme qui modifié l’état d’une LED branchée sur RA0 à chaque front
montant vu sur RB0. (Utilisation des interruptions).
Correction :
Algorigrammes :
Debut
Sous programme
d’interruption
Configurer RA0 en
sortie , RB0 en entrée et
autoriser l’interruption INTF ← 0
INT(RB0 ↑)
RA0 ← RA0
Attente de l’interruption
Retour
Fin
3/3 2 ème STE CHAINE D’INFORMATION : TRAITER AZNAG
Programme :
ORG H’0000’
GOTO debut
interp ORGH’0004’
BCF INTCON,INTF ; INTF ← 0
COM PORTA,f ;PORTA ← PORTA (complémenter RA0)
RETRIE ;Retour après interruption vers le programme
principal