Está en la página 1de 9

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGA


MICROCONTROLADORES Y PLC

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.

Identificar que es una interrupcin externa, realizar su codificacin y entender cuando


y como emplear.
Realizar los programas establecidos en el archivo y verificar su funcionamiento
Programar y armar varios circuitos mediante la programacin estudiada en clase con el
uso del PIC 16F628A y de un programador de PIC (quemador Pic kit 2 V2.6).
Utilizar la lgica de programacin aprendida con anticipacin.
Utilizar la lgica, es decir usar diagramas de bloques para realizar los programas en el
caso que sea necesario

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.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
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.

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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
pines del pic16f628a son compatibles con el pic16f84a, as se podran actualizar proyectos que
hemos utilizado con el pic16f84a.
DIAGRAMA DE PINES

Fig. 1 distribucin de pines PIC16F628A


Como podemos ver, los pines 1, 2, 3, 4, 15, 16, 17 y 18 tienen el nombre de RAx. Esos pines
conforman el puerto A, PORTA de ahora en ms. Los pines 6 al 13 forman parte del puerto B
(PORTB). El pin 5 es el que se conectara al negativo de la fuente de alimentacin. El 14 ir
conectado a 5V.
Como habrn notado, muchos de los pines tienen ms de una descripcin. Esto se debe a que
pueden utilizarse de varias maneras diferentes, seleccionables por programa. Por ejemplo, el
pin 4 sirve como parte del PORTA, como RESET (MCLR = Mster Clear) y como tensin de
programacin (Vpp)

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.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig. 2 Programador de pics

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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
2. Cambie el programa 1 para que la interrupcin se detecte en flanco descendente.
CMCON = 7
LED1 VAR PORTB.1
LED2 VAR PORTB.2
ON INTERRUPT GOTO HandlerLuz
INTCON = %10010000
OPTION_REG.6 = 0

'Asigna PORTB.1 a la variable LED1


'Asigna PORTB.2 a la variable LED2
'Activa el sistemas de interrupciones
'Habilita la interrupcin por RB0
'Censa en flanco de bajada.

INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO

'Funcin principal INICIO


'Coloca en alto LED1
'Pausa de 200ms
'Coloca en bajo LED1
'Pausa de 200ms
'Regresa funcin INICIO

DISABLE

'Deshabilita la interrupcin

HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON = %10010000
RESUME
ENABLE
END

'Coloca en alto LED2


'Pausa de 2 segundos
'Coloca en bajo LED2
'Habilita la interrupcin por RB0
'Retorna a la siguiente instruccin del programa desde donde
'fue llamada la interrupcin
'Habilita nuevamente a la interrupcin

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
3. Cambie el programa 1 para que la interrupcin se detecte por los puertos RB4:RB7.
CMCON = 7
LED1 VAR PORTB.1
LED2 VAR PORTB.2
ON INTERRUPT GOTO HandlerLuz
INTCON = %10001000

'Asigna PORTB.1 a la variable LED1


'Asigna PORTB.2 a la variable LED2
'Activa el sistemas de interrupciones
'Habilita la interrupcin por RB4 RB7

INICIO:
HIGH LED1
PAUSE 200
LOW LED1
PAUSE 200
GOTO INICIO

'Funcin principal INICIO


'Coloca en alto LED1
'Pausa de 200ms
'Coloca en bajo LED1
'Pausa de 200ms
'Regresa funcin INICIO

DISABLE

'Deshabilita la interrupcin

HandlerLuz:
HIGH LED2
PAUSE 2000
LOW LED2
INTCON = %10001000
RESUME
ENABLE
END

'Coloca en alto LED2


'Pausa de 2 segundos
'Coloca en bajo LED2
'Habilita la interrupcin por RB4 RB7
'Retorna a la siguiente instruccin del programa desde
'donde fue llamada la interrupcin
'Habilita nuevamente a la interrupcin

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
4. Realice un diagrama de bloques que indique el funcionamiento del programa 2.

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.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
G. Recomendaciones

Antes de realizar cualquier practica en esta materia es de suma importancia recurrir al


datasheet de los elementos en especial del PIC 16F628A para tener una correcta
distribucin de pines.
Tener mucha precaucin al terminar el proceso con el Grabador de PICS, ya que toca
retirar sin desconectar el programador de la computadora.
Los proyectos realizados en MICROCODE STUDIO guardarlos en una carpeta especfica
para evitar confusiones al momento de armar.

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/

También podría gustarte