You are on page 1of 13

Elaborado por: Prez-Garca, V.L.

COMUNICACIONES ANALGICAS Y
DIGITALES
INTERRUPCIN EXTERNA INT
ACTIVACIN DE LA TERMINAL RB0/INT

INTERRUPCIN EXTERNA INT


Una interrupcin consiste en un mecanismo por el
cual un evento interno o externo puede interrumpir la
ejecucin de un programa en cualquier momento.
Lectura mediante una interrupcin.

PROGRAMA
PRINCIPAL

X1

Proceso X
(Subrutina de
atencin a la
interrupcin)

INTERRUPCIN EXTERNA INT


Las interrupciones son un
mtodo ms eficaz que la

Parte del
PROGRAMA
PRINCIPAL

tcnica polling, ya que el


microcontrolador
perder

el

no

Entrada
activa?
Proceso X

tiempo

preguntando a la lnea de
entrada
estado.

para

leer

el

Continuacin del
PROGRAMA
PRINCIPAL

Tcnica polling.

INTERRUPCIN EXTERNA INT


Cuando se produce la interrupcin, el PIC ejecuta un
salto a la rutina de atencin.
Cuando se termina de ejecutar la rutina, el PIC
retorna al programa principal en la misma posicin
de la memoria del programa donde se produjo la
interrupcin.
El PIC16F84A tienen 4 fuentes de interrupciones y
la familia PIC16F87X tiene entre 13 y 14.

INTERRUPCIN EXTERNA INT


Los

registros

implicados

en

el

manejo

de

interrupciones son:
OPTION_REG, INTCON, PIE1, PIE2, PIR1 y PIR2.
La interrupcin externa INT est implementada en la
terminal RB0.
La interrupcin externa se habilita activando el bit
INTE y el GIE del registro INTCON.
La interrupcin se configura para que se genere por
flanco de subida o por flanco de bajada.

INTERRUPCIN EXTERNA INT


Habilitacin de la interrupcin
Para habilitar la interrupcin externa se pone a uno
los bits GIE e INTE del registro INTCON.
INTCON REGISTER
GIE

PEIE

TMR0IE

INTE

RBIE

TMR0IF

INTF

RBIF

En CCS se usan

enable_interrupts(INT_EXT);

las instrucciones:

enable_interrupts(GLOBAL);

INTERRUPCIN EXTERNA INT


Configuracin por flanco de subida o bajada
Para programar la interrupcin por flanco de
bajada/subida se pone a cero/uno el bit INTEDG
del registro OPTION_REG.
OPTION_REG
INTEDG

T0CS

T0SE

PSA

PS2

PS1

PS0

ext_int_edge(H_TO_L);

En CCS se usa la
instruccin:

O bien
ext_int_edge(L_TO_H);

INTERRUPCIN EXTERNA INT EN CCS


En CCS se utiliza el
asistente

PIC

Wizard.
Luego se crea una
carpeta para guardar
el

archivo

extensin .pjt

con

INTERRUPCIN EXTERNA INT EN CCS

INTERRUPCIN EXTERNA INT EN CCS


Se abre una ventana,
elegir:
o PIC: PIC16F84A.
o Frecuencia

del

oscilador: 4MHz.
o Fuses:

Crystal

osc<=4MHz.

INTERRUPCIN EXTERNA INT EN CCS

INTERRUPCIN EXTERNA INT EN CCS


En la pestaa de Interrups marcar la casilla de
External interrups.

INTERRUPCIN EXTERNA INT EN CCS


En la pestaa Code se observa el cdigo que se
aadir a nuestro programa.

You might also like