Sie sind auf Seite 1von 9

ESPE

UNIVERSIDAD DE LAS FUERZAS ARMADAS

EXTENSION LATACUNGA

INGENIERIA ELECTROMECNICA

SISTEMAS DIGITALES Y MICROCONTROLADORES

Interrupciones Externas

INTEGRANTES:

Luis Ola

Santiago Solrzano

Latacunga, 28/01/2016
1. TEMA

Manejo de Interrupciones externas

2. OBJETIVO GENERAL

Implementar la activacin de interrupciones externas mediante el


accionamiento de pulsadores.

3. OBJETIVOS ESPECIFICOS

Analizar los programas de interrupciones que se van a simular en proteus.

Armar en la protoboard los diferentes circuitos de acuerdo al programa a


usar.

Realizar el flujograma de cada programa handler luz.

4. MARCO TEORICO

Interrupciones externas

Las interrupciones externas son activadas por los pines INT1 y INT0. Si son
habilitadas, las interrupciones se activarn aun cuando los pines INT0/INT1 se
configuren como salidas.

Esta caracterstica proporciona una manera de generar una interrupcin por


software. Las interrupciones externas pueden ser activadas por un flanco de
bajada, subida o por un nivel bajo. Esto es establecido como se indica en la
especificacin para el registro de control MCU (MCUCR). Cuando la
interrupcin externa se habilita y se configura como activo por nivel, la
interrupcin se activar mientras el pin se mantenga a nivel bajo.

Las interrupciones externas se establecen como se describe en la


especificacin para el registro de control MCU (MCUCR).

Tiempo de respuesta de interrupcin

La respuesta de ejecucin de interrupcin para todas las interrupciones de


AVR habilitadas es de cuatro ciclos de clock como mnimo. Cuatro ciclos de
clock despus de que el flag de interrupcin se ponga a set, se ejecuta la
direccin del vector de programa para la rutina de manejo de la interrupcin.
Durante este 4 periodo de ciclo de clock, el Contador de Programa (2 bytes)
es introducido en la pila y el puntero de pila es decrementado en 2. El vector es
normalmente un salto relativo a la rutina de interrupcin y este salto toma dos
ciclos de clock. Si ocurre una interrupcin durante la ejecucin de una
instruccin multi-ciclo, antes de que la interrupcin sea servida, se completa
esta instruccin.

Un retorno de una rutina de manejo de interrupcin (el mismo que una rutina de
llamada a subrutina) toma cuatro ciclos de clock. Durante estos cuatro ciclos de
clock, el Contador de Programa (2 bytes) se extrae de la pila, el puntero de pila
es incrementado en 2 y el flag I en SREG est a set. Cuando el AVR termina
una interrupcin, siempre volver al programa principal y ejecutar una
instruccin ms antes de que cualquier interrupcin pendiente se sirva.

Aplicacin de las interrupciones

1. Cada vez que se presione un pulsador conectado a RB0 se incrementar


un registro y se visualizan en el mdulo LCD.
2. Un programa que compruebe el funcionamiento de la interrupcin por
cambio de estado en un pin del puerto B, incrementando un registro.
3. Un programa para un reloj digital, las temporizaciones necesarias se
lograrn a travs de interrupciones por desbordamiento del TMR0 cada
50ms
4. Un programa donde a la salida del puerto B pin 3 se generar una seal
cuadrada de 10 k Hz, esto mediante el desbordamiento del TMR0
5. Un lector entrada digna del puerto B de salida se enciende cada 500 ms y
apaga cada 500ms, utilizando el desbordamiento del TMR0

Registro Option
Registro INTCON

5. MATERIALES

1 PIC 16F628.
1 Programador de PIC.
Fuente de alimentacin 5 v.
1 Protoboard.
2 Resistencias 330.
1 Resistencia de 4.7k .
2 Leds.
1 Pulsador.

6. PROCEDIMIENTO

Ejercicio 1.1

1. Realizar la programacin para habilitar una interrupcin al instante de


accionar un pulsador, de tal manera que al hacerlo se encienda el LED2 por
2 segundos, luego vuelva a encenderse el LED1 por lapsos de 0.2
segundos.
2. Armar el circuito de la figura en la protoboard.

3. Quemar el programa en el Pic e implementarlo en el circuito antes armado.

Ejercicio 1.2

1. Realizar la programacin para tener dos interrupciones sucesivas al


instante de accionar el pulsador, de tal manera que se encienda el led 2 por
5 seg, a continuacin se habilitara otra interrupcin en la cual el led se
encender en lapsos de 0.5 segundos. Luego se acciona nuevamente el
pulsador y se activaran los dos leds por 5 segundos y regresara al estado
nomal que es el encendido del led1 por 0.5seg

2. Armar el circuito de la figura en la protoboard


3. Quemar el programa en el PIC e implementarlo en el circuito antes armado.

Ejercicio 2

1. Realizar la programacin para detectar la interrupcin en el flanco de


bajada.
2. Armar el circuito de la figura en la protoboard

3. Quemar el programa en el PIC e implementarlo en el circuito antes armado.

Ejercicio 3

1. Realizar la programacin para que la interrupcin sea detectada por RB4


RB7
2. Quemar el programa en el PIC e implementarlo en el circuito antes armado.
Ejercicio 4

1. Realizar la programacin para tener un contador ascendente de 0 a 9. Debe


haber un pulsador de inicio-continuar, otro para detener y otro para encerar,
que ser realizado mediante una interrupcin.
2. Armar el circuito de la figura en la protoboard

3. Quemar el programa en el PIC e implementarlo en el circuito antes armado.

7. CONCLUSIONES

Se pudo comprobar el correcto funcionamiento de los 2 programas


ejemplo.
Las interrupciones se ejecutan cada vez que se presiona el pulsador, en
el caso de interrupciones sucesivas, se van a ejecutar dos
interrupciones, una a continuacin de otra, y, continuara con el
programa original hasta que se accione nuevamente el pulsador.

8. RECOMENDACIONES

Al momento de montar los componentes se debe estar seguro que se


sigui el diagrama correctamente, pues estos circuitos integrados son
muy delicados y pueden llegar a daarse
Asegurarse que el programa a quemar en el PIC este correcto para
poder implementar, y que el funcionamiento del circuito sea el correcto.
Configurar el quemador de PICS de acuerdo al nmero de pines que
posea el PIC a usar.

9. BIBLIOGRAFIA

Flores, H. (2010). Diseo Lgico: Fundamentos de Electrnica Digital.


Espaa: Ediciones de la U.
Tokheim, R. (2008). electrnica Digital: Principios y aplicaciones.
Espaa: McGraw-Hill.
10. ANEXOS

Programa 2

LED1 VAR PORTB.1


LED2 VAR PORTB.2

ON INTERRUpT GOTO HandlerLuz


INTCON=%10010000
OPTION_REG=%00000000
INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO
DISABLE
HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON=%10010000
OPTION_REG=%00000000
RESUME
ENABLE
END

Programa 3

LED1 VAR PORTB.1


LED2 VAR PORTB.2
ON INTERRUpT GOTO HandlerLuz
INTCON=%10001000
INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO
DISABLE
HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON=%10001000
RESUME
ENABLE
END
Programa 4

OSCCON= %01100111
ANSEL=0
TRISB=0
PULSADOR2 VAR PORTB.4
ON INTERRUPT GOTO RESETEO
N VAR BYTE
INICIO
FOR N=0 TO 9 STEP 1
PORTB=N
PAUSE 500
NEXT N
GOTO INICIO
DISABLE
RESETEO:
IF PULSADOR2=0 THEN N=0
PORTB=N
INTCON=%10010000
ENABLE
END

Das könnte Ihnen auch gefallen