Informe Pulsadores e Interrupciones

20
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC INFORME INTEGRANTES: Pilataxi Oscar Salazar Daniel Valencia Stephen Fecha: 14 de mayo de 2015 Nivel: Sexto Automotriz “A” A. TEMA: PROGRAMACIÓN DE PULSADORES E INTERRUPCIONES B. OBJETIVO GENERAL Programar y armar varios circuitos mediante la programación requerida para el uso de pulsadores e interrupciones con la utilización del PIC 16F628A. C. OBJETIVOS ESPECÍFICOS Determinar la programación adecuada en software microcode, para la utilización de pulsadores e interrupciones con ayuda del PIC 16f628A. Realizar la programación requerida y guardar en el pickit 2 el programa realizado en micro code y así el pic 16f628A tenga un desempeño en específico. Analizar los diferentes métodos de programación para la utilización de pulsadores e interrupciones. Identificar que es una interrupción externa, realizar su codificación y entender cuando y como emplear. Determinar los puertos de entrada y de salida del pic para realizar la conexión del circuito en un protoboard. Realizar los ejercicios simulados, en la práctica con la utilización del protoboard y los diferentes materiales para determinar su correcto funcionamiento. D. MATERIALES Y EQUIPOS. PIC 16F628A

description

uso de pulsadores e interurpciones

Transcript of Informe Pulsadores e Interrupciones

Page 1: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

INFORME INTEGRANTES:

Pilataxi Oscar Salazar Daniel Valencia Stephen

Fecha: 14 de mayo de 2015Nivel: Sexto Automotriz “A”

A. TEMA:

PROGRAMACIÓN DE PULSADORES E INTERRUPCIONES

B. OBJETIVO GENERAL

Programar y armar varios circuitos mediante la programación requerida para el uso de pulsadores e interrupciones con la utilización del PIC 16F628A.

C. OBJETIVOS ESPECÍFICOS Determinar la programación adecuada en software microcode,

para la utilización de pulsadores e interrupciones con ayuda del PIC 16f628A.

Realizar la programación requerida y guardar en el pickit 2 el programa realizado en micro code y así el pic 16f628A tenga un desempeño en específico.

Analizar los diferentes métodos de programación para la utilización de pulsadores e interrupciones.

Identificar que es una interrupción externa, realizar su codificación y entender cuando y como emplear.

Determinar los puertos de entrada y de salida del pic para realizar la conexión del circuito en un protoboard.

Realizar los ejercicios simulados, en la práctica con la utilización del protoboard y los diferentes materiales para determinar su correcto funcionamiento.

D. MATERIALES Y EQUIPOS.

PIC 16F628A Programador Pickit 2 V2.6 4 Leds 1 Protoboard 6 Resistencias 350 ohmios 4 pulsadores 4 resistencias de 4K7 Fuente de 5V Alambre para protoboard.

Page 2: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

E. MARCO TEÓRICO.

La electrónica ha evolucionado mucho. Casi todo lo que hasta hace unos años se realizaba mediante un grupo (a veces muy numeroso) de circuitos integrados conectados entre sí, hoy se puede realizar utilizando un microcontrolador y unos pocos componentes adicionales.

Microcontrolador

o Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

o Un microcontrolador es como un ordenador en pequeño: dispone de una memoria donde se guardan los programas, una memoria para almacenar datos, dispone de puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232), conversores analógico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas más. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED para mostrar información.

Los  microcontroladores más utilizados hoy en día, son los del fabricante MICROCHIP, por la amplia variedad de microcontroladores que nos ofrece, y la información de cada uno de los microcontroladores que nos proporciona sin ningún costo alguno.

El lenguaje nativo de estos microcontroladores es el ASM, y en el caso de la familia “16F” solo posee 35 instrucciones. Pero el ASM es un lenguaje que está mucho más cerca del hardware que del programador, y gracias a la miniaturización que permite incorporar cada vez más memoria dentro de un microcontrolador sin aumentar

Page 3: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

prácticamente su costo, han surgido compiladores de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C.

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 pines del pic16f628a son compatibles con el pic16f84a, así se podrían actualizar proyectos que hemos utilizado con el pic16f84a.

CARACTERISTICAS DEL PIC 16F628A

Tabla 1. Características PIC 16F628A

“DIAGRAMA DE PINES”

    PropiedadMemoria de programa 1 KbyteMemoria SRAM 224 BytesMemoria EEPROM 128 BytesPines de E/S 16Entradas analógicas (ADC) NoSalidas PWM 2SPI NoI2C NoUSART SiTemporizadores de 8Bits 2Temporizadores de 16Bits 1Comparadores 2Oscilador Frecuencia máxima: 20MHz

Oscilador interno de 4MHz.Número de pines 18Encapsulado PDIP, SOIC, SSOP,QFN

Page 4: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 1 distribución 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 más. 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 alimentación. El 14 irá conectado a 5V.

Como habrán notado, muchos de los pines tienen más de una descripción. 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 = Máster Clear) y como tensión de programación (Vpp)

Programador de PICS

Muchos de los clásicos programadores de pic y memorias eeprom realizan su comunicación con la pc, a través 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 más difícil conseguir algunos de estos puertos en un pc, más difícil o imposible en una portátil sumado a los problemas que se pueden tener al necesitar fuente externas o que las tensiones del puerto serie no sean correctas para la programación. Es por esto que surge la necesidad de tener un programador USB.

Un clásico entre los programadores USB es el PICKIT 2, y más aun los clones de este. Muy famosos por ser de Microchip, y por encontrarse a disposición de cualquier tanto el circuito esquemático como el como el código fuente del firmware. Lo que posibilita que muchos usuarios realicen modificaciones y puedan crear su propio programador. El clone que realice yo está basado en el realizado por Felixls, en si el esquema es exactamente el mismo, solo me tome la molestia de realizar el PCB, dado que no me gustaba el tener pistas tan finas, por el tiempo que iba a tardar en el ácido y

Page 5: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

principalmente porque al realizar la transferencia al cobre son más complicadas las pistas finas, y el cobre ya lo tenía no lo iba a desperdiciar.

El PICKIT 2 es reconocido como un dispositivo HID, por lo que no es necesario drivers extras, los sistemas operativos modernos cuentan ya con los driver necesarios. Se puede usar tanto en Linux, Mac como Windows. En la página de Microchip se encuentran programas específicos como ser la interfaz de programación, analizador lógico, además con los IDE MPLAB X y MPLAB se lo pude utilizar como debugger. Cabe destacar que el Clon, también tiene disponibles todas estas funciones. Lo único que no puede programar son los micros de 3.3V, pero podrían ser programados si se adaptan las tensiones de este programador.

Fig. 2 Programador de pics

PULSADORES

Un botón o pulsador es un dispositivo utilizado para realizar cierta función. Los botones son de

diversas formas y tamaño y se encuentran en todo tipo de dispositivos, aunque principalmente en

aparatos eléctricos y electrónicos.

Los botones son por lo general activados, al ser pulsados con un dedo. Permiten el flujo de

corriente mientras son accionados. Cuando ya no se presiona sobre él vuelve a su posición de

reposo.

Page 6: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 3 Pulsadores

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.

Las interrupciones externas se establecen como se describe en la especificación para el registro de control MCU (MCUCR).

Tiempo de respuesta de interrupción

La respuesta de ejecución de interrupción para todas las interrupciones de AVR habilitadas es de cuatro ciclos de clock como mínimo. Cuatro ciclos de clock después de que el flag de interrupción se ponga a set, se ejecutan la dirección del vector de programa para la rutina de manejo de la interrupción. 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 interrupción y este salto toma dos ciclos de clock. Si ocurre una interrupción durante la ejecución de una instrucción multi-ciclo, antes de que la interrupción sea servida, se completa esta instrucción.

INSTRUCCIONES

Page 7: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

ON INTERRUPT GOTO handler; Activa la interrupción y salta a ejecutar el programa de la interrupción handler. Se puede dar cualquier nombre de etiqueta a este programa. Seguido de esta instrucción se debe definir la fuente de interrupción mediante el registro INTCON.

• INTCON = %10010000; habilita la interrupción por el puerto B.0 en flanco positivo.

• INTCON = %10001000; habilita la interrupción 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 interrupción, o sea, indica hasta que punto el programa atiende la interrupción.

RESUME; Retorna a la línea del programa en donde ocurrió la interrupción.

RESUME etiqueta; El programa continua en la subrutina o handler indicado por el nombre de la etiqueta.

ENABLE; Habilita nuevamente la interrupción.

F. PROCEDIMIENTO.

Realizar la respectiva programación para cada ejercicio propuesto, en el software Microcode.

Fig 4. Programación.

Page 8: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Verificar su funcionamiento mediante el uso del simulador Proteus.

Una vez verificado que funcione en el simulador proceder a instalar el software del programador de PICS en una computadora.

Al abrir el programa antes instalado nos aparecerá lo siguiente:

Fig. 5 Ventana del programador

Conectar programador a la computadora y junto con el PIC 16F628A

Ya conectado reconocerá el programador

Fig. 6 Programador de pics software

Importamos el archivo deseado de microcode studio

Page 9: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 7 Programador de pics software

Presionamos el botón write para escribir el archivo de microcode studio

Una vez terminada la correspondiente configuración desconectar el PIC 16F628A del Programador y colocarlo en el circuito.

El procedimiento mencionado repetir con cada uno de los ejercicios propuestos.

EJERCICIOS

1.1 PRENDER Y APAGAR UN LED CON EL MISMO PULSADOR CON REBOTE

Abrimos el programa MicroCode Studio, realizamos el código de programa

Page 10: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig.8 Programación prender y apagar un led con el mismo pulsador- con rebote

Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.

Compilamos el programa. Verificamos el circuito en Proteus. Damos PLAY al programa y verificamos que funcione

correctamente.

Fig. 9 Circuito en Proteus

Posteriormente armar el circuito en un Protoboard y verificar.

Page 11: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 10 Circuito en Protoboard

1.2 PRENDER Y APAGAR UN LED CON EL MISMO PULSADOR

ELIMINAR REBOTE

Abrimos el programa MicroCode Studio, realizamos el código de programa

Fig.11 Programación

Page 12: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.

Compilamos el programa.

Fig. 12 Compilación del programa

Abrimos el programa proteus.

Fig. 13 Circuito en Proteus

Armamos el circuito en el protoboard y verificamos su funcionamiento

Fig. 14 Circuito en Protoboard

2. PRENDER Y APAGAR UN LED CON DOS PULSADORES (funcionamiento como conmutador)

Ingresar al programa microcode studio y realizar el código.

Page 13: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 15 Programación

Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.

Compilamos el programa.

Abrimos el programa proteus. Armamos el circuito con el pic, led, pulsadores. Insertamos el código al PIC poniendo clic derecho sobre el pic,

opciones y agregamos el archivo programa .HEX. Damos PLAY al programa y verificamos que funcione

correctamente.

Page 14: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Fig. 16 Circuito en Proteus Armamos el circuito en el protoboard y verificamos su

funcionamiento

Fig. 17 Circuito en Protoboard

3. INTERRUPCIONES SUCESIVAS

Ingresar al programa microcode studio y realizar el código.

Fig. 18 Programación

Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.

Compilamos el programa.

Abrimos el programa proteus. Armamos el circuito con el pic, led, pulsadores.

Page 15: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Damos PLAY al programa y verificamos que funcione correctamente.

Fig. 19 Circuito en Protoboard

Armamos el circuito en el protoboard y verificamos su funcionamiento

G. Conclusiones

Con la ayuda del Microcode pudimos realizar la programación correcta y con esto realizamos la adecuada utilización de pulsadores e interrupciones.

Se pudo verificar y analizar los diferentes métodos de programación para la utilización de pulsadores e interrupciones.

Comprendimos el funcionamiento e identificar que es una interrupción externa, además realizamos su codificación y entendimos cuando y como emplear.

Con la ayuda de la data shet del pic determinamos los puertos de entrada y de salida y así de esta manera realizamos la conexión del circuito en un protoboard.

Existen diferentes aplicaciones en el cual utilizamos pulsadores para controlar un LED o varios LEDs.

Aplicamos diferentes métodos para cumplir con la lógica que nos permite que el circuito actué como se requiere.

H. 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 distribución de pines.

Page 16: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

Tener mucha precaución 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 específica para evitar confusiones al momento de armar.

Optimizar los circuitos encontrando la mejor manera de realizar las conexiones

I. Bibliografía:

[1] Sixto Reinoso V, Pulsadores, Archivo pdf Diciembre 7, 2015.

[2] Sixto Reinoso V, Interrupciones, Archivo pdf, Diciembre 7, 2015

[3] Coparoman, Botones Pulsadores, 7 de marzo 2011, tomado de http://coparoman.blogspot.com/2011/03/botones-pulsadores.html

[4] Circuitos Electronicos, Manejo de interrupciones, 03 del 2011, tomado de

http://www.circuitoselectronicos.org/2011/03/manejo-de-interrupciones-en-los.html

J. Bases Digitales

Page 17: Informe Pulsadores e Interrupciones

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSION LATACUNGAMICROCONTROLADORES Y PLC

K. Anexos