Interrupciones Externas
Interrupciones Externas
Interrupciones Externas
INFORME DE PRCTICA
INTEGRANTES:
Araujo Jhoe
Pumarica Daro
Tonato Mauricio
Fecha: 15 de Junio de 2015
Nivel: Sexto Automotriz A
A. TEMA.:
Ejercicios interrupciones externas
B. OBJETIVOS.
C. MATERIALES Y EQUIPOS.
PIC 16F628A
Programador Pickit 2 V2.6
1 Protoboard
Resistencias 300 y 4k7 ohmios
Fuente de 5V
Leds
Pulsadores
D. MARCO TERICO.
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.
INSTRUCCIONES
ON INTERRUPT GOTO handler; Activa la interrupcin y salta a ejecutar el programa de la
interrupcin handler. Se puede dar cualquier nombre de etiqueta a este programa. Seguido de
esta instruccin se debe definir la fuente de interrupcin mediante el registro INTCON.
INTCON = %10010000; habilita la interrupcin por el puerto B.0 en flanco positivo.
INTCON = %10001000; habilita la interrupcin por el puerto B.4---B.7 en flanco positivo. Por
defecto, la bandera INTDEG es 1 del registro OPTION por lo que el cambio ser detectado en
flanco de subida. Para cambiar a flanco de bajada se debe cambiar la bandera INTDEG a 0, la
siguiente forma:
OPTION_REG.6 = 0; censa en flanco de bajada.
OPTION_REG.6 = 1; censa en flanco de subida.
DISABLE; deshabilita la interrupcin, o sea, indica hasta que punto el programa atiende la
interrupcin.
RESUME; Retorna a la lnea del programa en donde ocurri la interrupcin.
RESUME etiqueta; El programa continua en la subrutina o handler indicado por el nombre de la
etiqueta.
ENABLE; Habilita nuevamente la interrupcin.
PIC 16F628A
El Pic es un microcontrolador de 8 bit, posee una arquitectura RISC avanzada as como un juego
reducido de 35 instrucciones. Este microcontrolador es el remplazo del obsoleto pic16f84a, los
Programador de PICS
Muchos de los clsicos programadores de pic y memorias eeprom realizan su comunicacin
con la pc, a travs del puerto serie, o algunos por el puerto paralelo, son circuitos
muy sencillos de unos pocos componentes, pero hay un problema y es que cada vez se hace
ms difcil conseguir algunos de estos puertos en un pc, ms difcil o imposible en una porttil
sumado a los problemas que se pueden tener al necesitar fuente externas o que las tensiones
del puerto serie no sean correctas para la programacin. Es por esto que surge la necesidad de
tener un programador USB.
E. PROCEDIMIENTO
Realizar todos los ejercicios planteados en clase en los software necesarios.
Copiar la programacin del documento y finalmente verificar su funcionamiento.
Armar el circuito en el simulador Proteus.
Finalmente armar el circuito en un Protoboard.
EJERCICIOS:
1. Comprobar el funcionamiento de los programas.
Programa 1
CMCON = 7
LED1 VAR PORTB.1
LED2 VAR PORTB.2
ON INTERRUPT GOTO HandlerLuz Activa el sistemas de interrupciones
INTCON = %10010000 'Habilita la interrupcin por RB0
INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO
DISABLE ' Desabilita la interrupcin
HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON = %10010000 'Habilita la interrupcin por RB0
RESUME 'Retorna a la siguiente instruccin del programa desde donde fue llamada la
interrupcin
ENABLE 'Habilita nuevamente a la interrupcin
END
Programa 2:
LED1 VAR PORTB.1
LED2 VAR PORTB.2
ON INTERRUPT GOTO LUZ
INTCON= %10010000
INICIO:
HIGH LED1
PAUSE 500
LOW LED1
PAUSE 500
GOTO INICIO
DISABLE
LUZ:
HIGH LED2
PAUSE 5000
LOW LED2
INTCON = %10010000
ON INTERRUPT GOTO FIN
RESUME LUZ2
ENABLE
LUZ2:
HIGH LED2
PAUSE 500
LOW LED2
PAUSE 500
GOTO LUZ2
DISABLE
FIN:
HIGH LED1: HIGH LED2
PAUSE 5000
LOW LED1: LOW LED2
INTCON = %10010000
RESUME INICIO
ENABLE
END
INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO
DISABLE
'Deshabilita la interrupcin
HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON = %10010000
RESUME
ENABLE
END
INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO
DISABLE
'Deshabilita la interrupcin
HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON = %10001000
RESUME
ENABLE
END
F. Conclusiones
Una interrupcin es una mtodo muy utilizado para ,realizar otra accin muy diferente
al cdigo principal , para saltar de o interrumpir el cdigo principal y proseguir a la una
accin que se da en caso impredecible por alguna accin de urgencia.
Mediante el anlisis de los ejercicios y la simulacin de los mismos se pudo observar que
hay diferentes cdigos para activar los puertos por ejemplo INTCON = %10010000 este
es el cdigo que activa B.0 en flanco positivo, INTCON = %10001000 habilita la
interrupcin por el puerto B.4---B.7 en flanco positivo.
Para cambiar de flanco ascendente a flanco descendente es el cdigo OPTION_REG.6 =
0.
Mediante la utilizacin del pic 16f628A posee 2 fuentes de interrupciones externas que
son detectadas por el cambio de estado del:Puerto B.0. y Puertos B.4, B.5, B.6, B.7. En
este caso cualquier cambio produce la misma interrupcin.
Para activar una interrupcin se utiliza la misma programacin por la utilizacin de un
pulsador.
H. Referencias Bibliogrfica.
Recuperado 15 de junio de 2015 de:
http://www.sc.ehu.es/sbweb/webcentro/automatica/web_avr/archivos/Manual_AT9
0S8515/Arquitectura/interrup_externas&tiempo_respu.htm.
Recuperado el 15 de junio de 2015 de: http://www.taringa.net/posts/hazlo-tumismo/14017158/Programador-PIC-USB-PICKIT-2-Clone.html
Recuperado 15 de JUNIO de 2015 de: http://www.ecured.cu/index.php/2n3906
Recuperado el 14 de JUNIO de 2015 de : http://proyectoaula-pic16f628a.blogspot.com/