informe-interrupciones_externas

9
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC INFORME DE PRÁCTICA INTEGRANTES: Araujo Jhoe Pumarica Darío Tonato Mauricio Fecha: 15 de Junio de 2015 Nivel: Sexto Automotriz “A” A. TEMA.: Ejercicios interrupciones externas B. OBJETIVOS. Identificar que es una interrupción externa, realizar su codificación y entender cuando y como emplear. Realizar los programas establecidos en el archivo y verificar su funcionamiento Programar y armar varios circuitos mediante la programación estudiada en clase con el uso del PIC 16F628A y de un programador de PIC (quemador Pic kit 2 V2.6). Utilizar la lógica de programación aprendida con anticipación. Utilizar la lógica, 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 TEÓRICO. Interrupciones Externas Las interrupciones externas son activadas por los pines INT1 y INT0. Si son habilitadas, las interrupciones se activarán aun cuando los pines INT0/INT1 se configuren como salidas. Esta característica proporciona una manera de generar una interrupción 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 especificación para el registro de control MCU (MCUCR). Cuando la interrupción externa se habilita y se configura como activo por nivel, la interrupción se activará mientras el pin se mantenga a nivel bajo.

Upload: mauricio-tonato

Post on 06-Nov-2015

5 views

Category:

Documents


0 download

DESCRIPTION

INFORME-Interrupciones_externas

TRANSCRIPT

  • 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 'Asigna PORTB.1 a la variable LED1 LED2 VAR PORTB.2 'Asigna PORTB.2 a la variable LED2 ON INTERRUPT GOTO HandlerLuz 'Activa el sistemas de interrupciones INTCON = %10010000 'Habilita la interrupcin por RB0 OPTION_REG.6 = 0 'Censa en flanco de bajada. INICIO: 'Funcin principal INICIO HIGH LED1 'Coloca en alto LED1 PAUSE 200 'Pausa de 200ms LOW LED1 'Coloca en bajo LED1 PAUSE 200 'Pausa de 200ms GOTO INICIO 'Regresa funcin INICIO DISABLE 'Deshabilita la interrupcin HandlerLuz: HIGH LED2 'Coloca en alto LED2 PAUSE 2000 'Pausa de 2 segundos LOW LED2 'Coloca en bajo 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

    3. Cambie el programa 1 para que la interrupcin se detecte por los puertos RB4:RB7. CMCON = 7 LED1 VAR PORTB.1 'Asigna PORTB.1 a la variable LED1 LED2 VAR PORTB.2 'Asigna PORTB.2 a la variable LED2 ON INTERRUPT GOTO HandlerLuz 'Activa el sistemas de interrupciones INTCON = %10001000 'Habilita la interrupcin por RB4 RB7 INICIO: 'Funcin principal INICIO HIGH LED1 'Coloca en alto LED1 PAUSE 200 'Pausa de 200ms LOW LED1 'Coloca en bajo LED1 PAUSE 200 'Pausa de 200ms GOTO INICIO 'Regresa funcin INICIO DISABLE 'Deshabilita la interrupcin HandlerLuz: HIGH LED2 'Coloca en alto LED2 PAUSE 2000 'Pausa de 2 segundos LOW LED2 'Coloca en bajo LED2 INTCON = %10001000 'Habilita la interrupcin por RB4 RB7 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

    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_AT90S8515/Arquitectura/interrup_externas&tiempo_respu.htm.

    Recuperado el 15 de junio de 2015 de: http://www.taringa.net/posts/hazlo-tu-mismo/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/