__________ lezioni sui MICROCONTROLLORI : INTCON _________ prof.Romei Michele __________

 

Il registro INTCON gestisce la configurazione degli interrupt hardware.
Nei pic più semplici(come il 16F84) vi è un solo registro per gestire le interruzioni, appunto l'INTCON, mentre in PIC più sofisticati, con un maggior numero di periferiche integrate, a questo registro se ne affiancano degli altri per gestire i vari eventi (registro PIE1, PIR1 ecc). Vi è una leggera differenza nel significato del bit 6 nel caso in cui sia presente il solo registro INTCON o vi siano anche gli altri. Di seguito lo schema del registro INTCON per un PIC 16F877A:






Il significato dei singoli bit è il seguente:

 

bit 7 - GIE: abilitazione generale degli interrupt
se messo a 1 gli interrupt sono abilitati.

 

bit 6 - EEIE: abilitazione interrupt a fine scrittura sulla eeprom
mettendo a 1 questo bit si verificherà un interrupt alla fine di una operazione di scrittura sulla eeprom interna del PIC.

bit 6 - PEIE: abilitazione interrupt sulle periferiche
mettendo a 1 questo bit sono abilitati gli interrupt sulle periferiche aggiuntive.

 

bit 5 - T0IE/TMR0IE: abilitazione interrupt sul timer overflow
abilita l'interrupt quando il contatore del timer raggiunge il massimo valore (255). La velocità con cui si incrementa tale contatore dipende dall'impostazione del prescaler.

 

bit 4 - INTE: abilitazione interrupt sul piedino RB0
abilita l'interrupt quando viene rilevato un impulso sul piedino 0 della porta B. L' INTE controlla se l'impulso viene rilevato sul fronte di salita o sul fronte di discesa del segnale.

 

bit 3 - RBIE: abilitazione interrupt sui piedini 4:7 della porta B
una variazione di stato su uno di questi piedini (se configurati come ingresso ovviamente) genera un interrupt.

 

bit 2 - T0IF/TMR0IF: flag per il timer interrupt
viene messo a 1 dal verificarsi dell’interrupt sul timer 0

 

bit 1 - INTF: flag per l'interrupt su RB0
viene messo a 1 dal verificarsi dell'interrupt sul piedino RB0

 

bit 0 - RBIF: flag per l'interrupt su RB4:RB7
viene messo a 1 dall'interrupt sul cambiamento di uno dei 4 pin alti della porta B.

 

I bit che hanno la funzione di flag per ciascun interrupt, se tale interrupt si verifica, vengono settati indipendentemente dallo stato del bit GIE.
Quindi anche se gli interrupt sono globalmente disabilitati (GIE=0), il valore dei singoli flag può variare.

Il verificarsi di un interrupt comporta il settaggio a 1 del flag corrispondente, ma l'azzeramento di tali flag deve essere eseguito a mano tramite un'apposita routine di interrupt handling

 

 

N.B.
Traduzione legenda:

W=bit scrivibile

R=bit leggibile

u=bit non implementato, letto come 0

-n=valore al power-on reset


ritorno home page ritorno lezioni microcontrollori apri pagina al motore di ricerca google
home page generale