11
Le drapeau reste à l’état haut même après le traitement de l’interruption. Par conséquent, il faut toujours le remettre à « 0 » à la fin de la routine d’interruption sinon l’interruption sera déclenchée de nouveau juste après l’instruction RETFI
Seul le PC est empilé automatiquement. Si cela est nécessaire, les registres W et STATUS doivent être sauvegardés en RAM puis restaurés à la fin de la routine pour que le microcontrôleur puisse reprendre le programme dans les mêmes conditions où il l’a laissé.
I.13.2 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. Elle est gérée par les bits :
INTE : bit de validation (1=oui, 0=non) – INTF : drapeau – INTEDG : front de déclenchement, 1=montant, 0=descendant (registre OPTION_REG)
I.13.3 L’interruption RBI (RB4 A RB7 du port B)
Cette interruption est provoquée par un changement d’état sur l’une des entrées RB4 à RB7 du
port B, Le front n’a pas d’importance. Les bits associés sont RBIE (validation) et RBIF (drapeau)
I.13.4 L’interruption T0I : Débordement du Timer TMR0
Cette interruption est provoquée par le débordement du timer TMR0. Les bits associés sont
T0IE (validation) et T0IF (drapeau)
I.13.5 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).
INTCON GIE EEIE T0IF INTE RBIE T0IF INTF RBIF
EECON1 – – – EEIF WRERR WREN WR RD
OPTION_REG RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
GIE : ce bit permet de valider ou d’interdire (globalement) toutes les interruptions
I.14 L’adressage indirect
L’adressage indirect se fait par l’intermédiaire des registres FSR et INDF. Le registre INDF n’est
pas un vrai registre mais représente la case mémoire pointée par le registre d’index FSR. Pour lire ou écrire dans une case mémoire en utilisant l’adressage indirect, on commence par placer l’adresse dans le registre FSR, ensuite on lit/écrit dans le registre INDF
I.15 Le conteur programme
Le Program Counter est un registre de 13 bits qui s’incrémente automatiquement lors de
l’exécution du programme. On peut toutefois le modifier par programme pour réaliser ce qu’on appelle un goto calculé. On y accède par les registres PCL et PCLATH