Fuentes de interrupcion.
pape wc En =]
Perpctimemt raays!
#D—D—ay
teats — i
°
Teen rey Gatn
sore ee onensn
baat Perec eres
arpa ke 8s —f
|
En un microcontrolador hay varias fuentes de interrupcidn, por ejemplo los flancos de subida o de bajada de las
terminales externas del microcontrolador, cl artibo de datos seriales, el desbordamiento de algiin timer, hasta
contabilizar 20 fuentes de interrupeién para cl microcontrolador PICISF4550, por simplicidad las
interrupciones se clasifican en internas y externas,
* Las interrupciones internas tienen su ot
n en los médulos de entrada y salida del microcontrolador, la
memoria o la CPU. Los temporizadores y otros médulos de entrada y salida son fuentes de
interrupeién comunes.
+ Las interrupciones externas se originan en un periférico y I
terminales.
n al microcontrolador por alguna de sus
Direccién de los vectores de interrupcion.
Pag. 59 de PICI8F4550-39632e ‘
La direccién del vector de RESET es 0x0000, la direccién del vector de interrupcién de alta prioridad esté en
0x0008, por tiltimo, la direccién del vector de interrupcién de baja prioridad esta en 0x0018.
Generacion de interrupciones en el PIC18F4550
Pag, 99 de PICISF4550-39632¢
1. Habilitacién del sistema global de interrupciones. Los microcontroladores disponen de un bit para el
control global del sistema de interupcién, con este bit se permite o impide el paso de cualquier
interrupeién hacia la CPU, lo que equivale a habilitar o inhabilitar globalmente el sistema de
interrupci6n. Si colocamos en “1” el bit7 GIE/GIEH del registro INTCON entonces habilitaremos
todas las interrupciones “enmascarables”, pero si este bit se pone en “O” entonces las interrupciones
“enmascarables” sern deshabilitadas.4 Interrupciones enmascarables y no enmascarabiles. ; ;
4B) it de conte! GHEAGHE utihizades pare permit ono ef pase de Las sobcvtudes the
Aitcrrupenin hacia la CPU se denumina miscaru: de ahi que las interrapekecs Que st
Pocden habilitar o inhabslitar por programa se Hamen interrage wines enemies: arabes (ME
oe ABLES) y Has inter NUpLNes guc Ne se pueden imhabeltar px
__enonnnan interrupesomes no enmaccarubles (NMI Now Maskabte ite
2 Habilitacin de ws de prvridades. St cokocames cn 17 eb bet TIPEN del registry ROON se
k Miitard te priocidlad ide Las interrupevanes y se clasuhican come de alta o baja protdad
4. Las inter rupeiones de alta priaridad salian al youtor he vnterrups en ON0OO8
we ag Lay inferrupeiones de aja prinridad saltan al vector de unterruperin x00
abilitacion del modo de compatihilidad. Si colocamas en 1 et her IPEN bel vopystre REON se
deshabritara ta prionidad de jay iter upaiunes y ef mcr se encuentra cn et Moxie de ceompusribiticedt com
los dispositives PCmicto de tango mediano biter
a. Fe nag monk de compatibilidad, eatonces et bit 6 PETE, seri ef encargade de 2
leshaviiiar todas las fuentes de snterruperon pentenicas
Los bits 7 (GTE/GIEN) y bit 6 (PELE -ddel registr INTCON ‘se usan junto com ct bit 7 (HPEN) det
registro RCON para product algun de low sigurentes caver.
PEN T a a
Ta wali dn eerie poe
ats wads
4 | innrrumpe 0 ln be bays prone
— Uo aerapcames deat prea sara at
1 coms sen Ah | vector de intcrrapcvn NOON y la de haps |
Watwinta today las nae a [priori saltarin a! vector dhe ater xn
HterTUpC Hones eet re meen on001e
i crn nabes de ag SPST pref =
‘Habilitacion pandad @s doce 1
prided dels | out qer tcc r> | Sabi
itesrupciones cr vw bet de preondad | sierupcwece penfércan | Soko tenemos interrupcrones eremancarsbles de
| Cumascarables de baja | alta prondad que saiiaraa al vot dhe
| pond cv dec
{ | mutlias que wenn T°
| —_,-
Daeshatita Hoda as
___ amtcrraperone
@ De Ta tabla anterior se deine que » eat
tender una intcrrupcisa de baya prrocidad cs cuande la coafiguracén global del wstema de snterrupcwnes co WEN « ¢
GIZGIEN 1 PEIZGIEL = 1. adends de qu ta bandera de unemupsiny todos fon tty de abit wie le voter a |
asoctados deberat ser
‘es habilitada la pruondad de interrupciones el sistema atenderd anu inerapciie de alta perornbad cuando to
configuracidin global del sisma de interrupcsones ¢s IPE = |, GIEVGIEH = 1, ademés de que la banders de emternapesin y
todos los brs de habulitacion de wnterrupson asociados deberan set“L a. ‘
APEN GIL PED, COMENTARIOS
Wiabilitcide de las wecrrupa nes ‘Tonka 96
! 1
ita tod tes cbse dal ew Baie ene emente
0 ae 2 vn ci Det de pec i Lae
Deshabittacién de | MINIT — en | terropsisoes To a craps star
prioridad de las ements |= Je enero. 50 PAO pe
Amtertupcwones 6 opciones sataran at sock de
MODO DE ! 0 imtcrrpcwie OXOOOS yusragr txts soe oe aa
COMPATIBILIDAD | Habilita todas las ‘Deshablita todas las >} prnonidad. pero se ceshabebtaron tas
‘eon Jos dispositive | tterrapcrones | imcrrupciooes interrupsnoncs pernferm as, es deci, tee qe
PICmicro de medio | enmascarables. penténcas bee 93 bt eel ech scrrgpc
rango, Al vegresar de coun de bry registios PIER y PIED
RESET IPEN = 0 TE but set sterma global de rnterrupeanes:
GIRIGIEM 65 cero, por exe 90 hay
tmterrapcrones
&nterrapaibnpertgrica, a confguiscicn |
3 Toda prided de eropcionesy pars qe sate ainda
Se NPEN =, GHNGHEA] 1, PEUEAGIEL =I; ademas dee a bandera de nterupn
ilobal del sistem de interrupe
|
[ « Sil sistema debe atender uni interrupeién no periférica, la configuracion global del sistema es: [PEN = 0, GIE/GIEH = 1
aademiis de qu la handera de interrupeidn y todos ls bits de habiitaciGn de interrupeidn asociados dcheran ser “1 )
Interrupciones de Alta Prioridad vs. Interrupciones de Baja Prioridad.
* Cuando of microcontrolador atiende una interrupeién de baja prioridad, borra automaticamente et bit
PEIF/GIEL, con lo que se previene al sistema para que no reconozea otra interrupeién de baja
prioridad que puedi presentarse durante la ejecticién de la Rutina del Servicio de Interrupein (SR
Interrupt Service Routine), pero sabemos que una interrupcidn de alta prioridad ST PUEDE
interrumpir a una ISR de baja prioridad.
# Al regresar de RESET, la prioridad por default de todas las interrupeiones es
Alta Prioridad, observe la tabla de registros y sus respectivas banderas
Pags. 53 - 57 de PICI8F4550-39632¢
es decir, todas son de
TABLE 4-4; _ INITIALIZATION CONDITIONS FOR ALL REGISTERS nite ]
MCLR Resets,
womw | seevemenmnone | Bameenier | wort | Yalruae ner
Stack Resets
INTCON 4550| 009 pooo 9)
INTCON: 4550 qa ib 1-1
INTCON2 450 Lisa 11-0 0-0
IPRI asso. ain 11th ar Wit wee unua |
PIR2 4550 9000 2000 goog DacO wa cou
PIED {4ss0] 0000 000s ose 000s" aise ian |
IRI w50| iat Bae Hit Hai wuwa wuUE
4550 $e tna | au come |
PIRI 4550 oon. 0000 9000
4650 9000 ~~ =900 6000 7
PIET 4550 2 0090 p09 B0G0
4560) 000 noo: 9000 E
Bits que controlan las fuentes de interrupcion.
Cada fuente de interrupcién, excepto INTO, tiene tres bits para controlar su operacién. Las funciones de estos
bits son:
*F (Flag) Bit de bandera de interrupeién, Su funcién es meramente informativa, es un indicador que
se activa por el dispositivo que solicita la interrupcién,
*E (Enable) Bit de habilitaci6n de interrupcién. Su funci6n es permitir si esta habilitado, el paso de la
solicitud de interrupcién hacia la CPU con lo que permite que la ejecucién del programa
“salte” a la direcci6n del vector de interrupeién.
*P (Priority) Bit de prioridad, Con éste bit se selecciona la prioridad de la interrupcisn (alta 0 baja).
OJO: Al regresar de un reset, el microcontrolador asigna prioridad alta a todas las
interrupciones
Registros que controlan las interrupciones.
El microcontrolador 18F4550 tiene diez registros para controlar el funcionamiento de las interrupciones:
Pag. 99 de PICI8F4550-39632e