Vous êtes sur la page 1sur 2

LQTMY-Tanger

M.SALMANI

Le C PIC 16F84 : 5me partie

1. Interruption
Une interruption est un vnement inattendu qui provoque larrt du programme principal pour aller
excuter une procdure d'interruption. A la fin de cette procdure, le C reprend le programme lendroit
o il stait arrt.
Le C 16F84 possde 4 sources d'interruption. A chaque interruption sont associs deux bits :
Un bit de validation : permet d'autoriser ou non l'interruption.
Un bit de signalisation ou drapeau (flag) : permet au C de savoir de quelle interruption il s'agit.
Tous ces bits sont logs dans le registre INTCON part le drapeau EEIF de l'interruption EEI qui se
trouve dans le registre EECON1.
Registre INTCON

GIE EEIE T0IE INTE RBIE T0IF INTF RBIF

GIE : ce bit autorise ou interdit globalement toutes les interruptions.


GIE=1 toutes les interruptions sont autorises.
EEIE : ce bit permet de valider linterruption de fin dcriture en EEPROM.
EEIE=1 interruption valide.
T0IE : ce bit valide linterruption gnre par le dbordement du timer TMR0.
T0IE=1 interruption valide.
INTE : ce bit valide linterruption sur la broche RB0.
INTE=1 interruption valide.
RBIE : ce bit valide linterruption sur lune des broches RB4 RB7.
RBIE=1 interruption valide.
T0IF : ce bit signale le dbordement du timer TMR0.
T0IF=1 dbordement du timer TMR0.
INTF : ce bit signale quune interruption a t provoque par la broche RB0.
INTF=1 interruption gnre.
RBIF : ce bit signale quune interruption a t provoque par lune des broches RB4 RB7.
RBIF=1 interruption gnre.
Registre EECON1

EEIF WRERR WREN WR RD

EEIF : ce bit signale le dclenchement dune interruption de fin dcriture en EEPROM.


EEIF=1 interruption gnre.

Sciences et technologies lectriques

Niveau 2me

Sciences de lingnieur

Unit ATC

31

LQTMY-Tanger

M.SALMANI

Le C PIC 16F84 : 5me partie

2. Droulement dune interruption


Lorsque l'vnement dclencheur d'une interruption intervient, alors son drapeau est positionn 1. Si de
plus l'interruption correspondante a t valide, elle est alors dclenche : le C arrte ce qu'il est en train
de faire et va excuter la procdure d'interruption qui se trouve l'adresse 4 en excutant les tapes
suivantes :
Ladresse contenue dans le PC (Program Counter) est sauvegarde dans la pile, puis remplace par la
valeur 4 qui correspond ladresse de la routine d'interruption.
Le bit GIE est positionn 0 pour inhiber toutes les interruptions afin que le C ne soit pas drang
pendant l'excution de la procdure d'interruption.
A la fin de la procdure d'interruption (instruction RETFIE) :
Le bit GIE est repositionn 1 en autorisant ainsi un autre vnement.
Le contenu du PC est recharg partir de la pile ce qui permet au programme de reprendre l o il
s'est arrt.
Remarques :
Le drapeau reste 1 mme aprs le traitement de linterruption. Par consquent, il faut toujours le
remettre 0 la fin de la routine d'interruption sinon l'interruption sera dclenche de nouveau juste
aprs l'instruction RETFIE.
Seul le PC est empil automatiquement. Si cela est ncessaire, les registres W et STATUS doivent
tre sauvegards temporairement en RAM utilisateur puis restaurs la fin de la routine dinterruption
pour que le C puisse reprendre le programme dans les mmes conditions o il l'a laiss.

3. Sources dinterruption
31. Interruption INT : Entre RB0 du PORTB
Cette interruption est provoque par un changement d'tat sur l'entre RB0 du PORTB quand elle est
programme en entre. Elle est gre par les bits :
INTE et INTF du registre INTCON.
INTEDG du registre OPTION : ce bit permet de choisir le front du dclenchement de linterruption.
INTEDG=1 front montant et INTEDG=0 front descendant.
Registre OPTION

RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

32. Interruption RBI : Entres RB4 RB7 du PORTB


Cette interruption est provoque par un changement d'tat sur l'une des entres RB4 RB7 du PORTB.
Le front n'a pas d'importance.
Les bits associs sont RBIE et RBIF du registre INTCON.

33. Interruption T0I : Dbordement du Timer TMR0


Cette interruption est provoque par le dbordement du timer TMR0.
Les bits associs sont T0IE et T0IF du registre INTCON.

34. Interruption EEI : Fin d'criture dans l'EEPROM


Cette interruption est dclenche la fin d'une criture russie dans l'EEPROM de donnes.
Les bits associs sont EEIE du registre INTCON et EEIF du registre EECON1.

Sciences et technologies lectriques

Niveau 2me

Sciences de lingnieur

Unit ATC

32