Académique Documents
Professionnel Documents
Culture Documents
: Microcontrô leurs
Sé rie N°3 : Applications à base de PIC ‐ Prof : HmidiF
PRESENTATION DU REGISTRE DE CONTROLE : INTCON (INT ERRUPT CONTROL)
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
INTCON
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
Ce registre se situe à l’adresse 0BH, dans La mémoire RAM et initialement = 0.
Microcontrôleur : Applications à base de PIC – Hmidi F. Page 1
B 7 : GIE :G LOBAL I NTERRUPT E NABLE BIT : broche RB0.
=1 : autoriser toutes les interruptions d’une seule fois. B 3 : RBIE :RB PORT CHANGE I NTERRUPT E NABLE BIT :
=0 : interdire toutes les interruptions d’une seule fois. =1 : Autoriser les interruptions si on a changement de niveau sur une des
Ce bit correspond donc à notre interrupteur de validation générale. entrées RB4 à RB7.
B 6 : EEIE : E EPROM WRITE COMPLETE I NTERRUPT E NABLE BIT : =0 : Interdire les interruptions si on a changement de niveau sur une des
=1 : autoriser l’interruption de fin d’écriture en eeprom. entrées RB4 à RB7.
=0 : interdire l’interruption de fin d’écriture en eeprom. B 2 : T0IF : T MR 0 I NTERRUPT F LAG BIT :
B 5 : T0IE :T MR 0 I NTERRUPT E NABLE BIT : =1 :il signale la présence d’un débordement du TMR0
=1 : autoriser l’interruption générée par le débordement du TMR0 =0 :il signale l’absence d’un débordement du TMR0
=0 : interdire l’interruption générée par le débordement du TMR0 B 1 : INTF : INT ERRUPT PIN F LAG BIT :
B 4 : INTE : INT ERRUPT PIN E NABLE BIT : =1 : signale la présence d’une impulsion sur la broche RB0/INT
=1 : autoriser l’interruption dans le cas d’une modification de niveau de la =0 : signale l’absence d’une impulsion sur la broche RB0/INT
broche RB0.
=0 : interdire l’interruption dans le cas d’une modification de niveau de la
R EMARQUE : Le bit6 (= INTEDG) du registre OPTION_REG, détermine quel est le sens de transition (front montant ou descendant) qui provoque l’interruption.
B 0 : RBIF : P ORT I NTERRUPT F LAG BIT :
=1 : il signale la présence d’un changement d’état sur l’une des entrées RB4 à RB7.
=0 : il signale l’absence d’un changement d’état sur l’une des entrées RB4 à RB7.
Présentation du registre Option_reg
1. R EGISTRE DE CONTROLE :OPTION_REG
Le registre de contrôle de mode de fonctionnement est : OPTION_REG (voir fiche technique)
2. P RINCIPE DE FONCTIONNEMENT DU MODULE T IMER 0 :
RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0 OPTION_REG
B7 : : bit de validation de résistance de tirage vers 5V (Pull‐up) B4 : TOSE : : bit de sélection de front de source d’horloge de tmr0
Si b7=1 : Pull up désactivé. Si b4 = 1, on a comptage de tmr0, si le signal passe de 1 à 0 sur
Si B7=0 : Pull up activé. RA4/TOCKI,
* Cette fonction n’existe que pour le PORTB configuré en entrée. Si b4 = 0, on a comptage de tmr0, si le signal passe de 0 à 1 sur
B6 : INTEDG : bit de sélection de front d’interruption sur RB0/INT RA4/TOCKI,
Si b6=1 : on a une interruption si le niveau sur RB0 passe de 0 à 1 * Cette fonction est activé si b5=1
(front montant) B3 : PSA : : bit d’affectation de prédiviseur
Si b6 =0 : on a une interruption si le niveau sur RB0 passe de 1 à 0 Si b3 =1 : Le pré‐diviseur est affecté au watchdog.
(front descendant) Si b3 =0 : Le pré‐diviseur est affecté au Timer0
B5 : TOCS : bit de sélection de source d’horloge de tmr0 B2, B1,B0 : PS2,PS1,PS0
Si b5 = 1 : le timer0 compte les impulsions reçues sur la pin Le prédiviseur indique le nombre des impulsions(N) qui devront être reçus pour
RA4/TOCKI, provoquer une incrémentation. Ces trois bits déterminent la valeur de
Si b5 = 0 : le timer0 est incrémenté en fonction de l’horloge interne prédivision (N). Il y a donc 8 valeurs possibles,
(synchronisé au programme)
Application n°1 : Notion d’interruption
1‐a / configurer le registre INTCON pour autoriser une interruption INT :
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF INTCON
…. …. …. …. …. …. …. ….
1‐b/ programmer ce registre en mikropascal par deux méthodes :
1ière méthode : intcon.gie := ……… ; intcon.inte := …… ; intcon.intf := ….. ;
2ème méthode : intcon := $…………… ;
1‐c/ déduire l’état de registre juste après une impulsion sur RB0
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF INTCON
…. …. …. …. …. …. …. ….
2‐a / configurer le registre INTCON pour autoriser une interruption RBI :
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF INTCON
…. …. …. …. …. …. …. ….
Program alarme ; …………………………………….. While true do
Var ………………………………………………. end; Begin
………………………………………………… Begin ……………………………………………….
Procedure interrupt; Trisb.0:=…….; …………………………………………………
Begin Trisb.1:=……..; ………………………………………………….
…………………………………………………... Trisb.2:= …….; ……………………………………………………
……………………………………………………. Intcon:=$........; end;
…………………………………………………… end.
4‐c/ Pour augmenter la zone de sécurité on ajoute quatre capteurs PIR1, PIR2, PIR3 et PIR4 dans les quatre coins de la maison,
quelle est la modification qu’elle doit être apportée sur le programme et le schéma de câblage pour qu’elle répond aux besoins
de cahier Charge.
Les 4 capteurs doivent être reliés à ………………………………………………………………..…………………………
On ajoute une instruction de ……………………………………….…… du PORTB au procedure d’interruption RBI
On configure le registre INTCON à ……………………………………………………………………………………….……