Está en la página 1de 18

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:

PROGRAMACIN DE PULSADORES E INTERRUPCIONES

B. OBJETIVO GENERAL

Programar y armar varios circuitos mediante la programacin


requerida para el uso de pulsadores e interrupciones con la
utilizacin del PIC 16F628A.

C. OBJETIVOS ESPECFICOS
Determinar la programacin adecuada en software microcode,
para la utilizacin de pulsadores e interrupciones con ayuda del
PIC 16f628A.
Realizar la programacin requerida y guardar en el pickit 2 el
programa realizado en micro code y as el pic 16f628A tenga un
desempeo en especfico.
Analizar los diferentes mtodos de programacin para la
utilizacin de pulsadores e interrupciones.

Identificar que es una interrupcin externa, realizar su codificacin y


entender cuando y como emplear.

Determinar los puertos de entrada y de salida del pic para


realizar la conexin del circuito en un protoboard.
Realizar los ejercicios simulados, en la prctica con la utilizacin
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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
Fuente de 5V
Alambre para protoboard.

E. MARCO TERICO.
La electrnica ha evolucionado mucho. Casi todo lo que hasta hace
unos aos 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 especfica. Un microcontrolador
incluye en su interior las tres principales unidades funcionales
de una computadora: unidad central de procesamiento,
memoria y perifricos de entrada/salida.
o Un microcontrolador es como un ordenador en pequeo:
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 analgico/digital, generadores de pulsos PWM para
el control de motores, bus I2C, y muchas cosas ms. Por
supuesto, no tienen ni teclado ni monitor, aunque podemos ver
el estado de teclas individuales o utilizar pantallas LCD o LED
para mostrar informacin.
Los microcontroladores ms utilizados hoy en da, son los del
fabricante MICROCHIP, por la amplia variedad de microcontroladores
que nos ofrece, y la informacin de cada uno de los
microcontroladores que nos proporciona sin ningn 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 ms cerca del hardware que del

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
programador, y gracias a la miniaturizacin que permite incorporar
cada vez ms memoria dentro de un microcontrolador sin aumentar
prcticamente 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 podran
actualizar proyectos que hemos utilizado con el pic16f84a.
CARACTERISTICAS DEL PIC 16F628A
Propiedad
1 Kbyte
224 Bytes
128 Bytes
16
No
2
No
No
Si
2
1
2
Frecuencia mxima: 20MHz
Oscilador interno de 4MHz.
Nmero de pines
18
Encapsulado
PDIP, SOIC, SSOP,QFN
Tabla 1. Caractersticas PIC 16F628A
Memoria de programa
Memoria SRAM
Memoria EEPROM
Pines de E/S
Entradas analgicas (ADC)
Salidas PWM
SPI
I2C
USART
Temporizadores de 8Bits
Temporizadores de 16Bits
Comparadores
Oscilador

DIAGRAMA DE PINES

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

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.
Un clsico entre los programadores USB es el PICKIT 2, y ms aun los
clones de este. Muy famosos por ser de Microchip, y por encontrarse
a disposicin de cualquier tanto el circuito esquemtico como el como
el cdigo fuente del firmware. Lo que posibilita que muchos usuarios
realicen modificaciones y puedan crear su propio programador.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
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 principalmente porque al
realizar la transferencia al cobre son ms complicadas las pistas finas,
y el cobre ya lo tena 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
pgina
de Microchip se
encuentran programas especficos como ser la interfaz de
programacin, analizador lgico, adems con los IDE MPLAB X y
MPLAB se lo pude utilizar como debugger. Cabe destacar que el Clon,
tambin tiene disponibles todas estas funciones. Lo nico que no
puede programar son los micros de 3.3V, pero podran ser
programados si se adaptan las tensiones de este programador.

Fig. 2 Programador de pics


PULSADORES
Un botn o pulsador es un dispositivo utilizado para realizar cierta funcin.
Los botones son de diversas formas y tamao y se encuentran en todo tipo de
dispositivos, aunque principalmente en aparatos elctricos y electrnicos.
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 posicin de reposo.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig. 3 Pulsadores

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 ejecutan 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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


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

F. PROCEDIMIENTO.

Realizar la respectiva programacin


propuesto, en el software Microcode.

Fig 4. Programacin.

para

cada

ejercicio

UNIVERSIDAD DE LAS FUERZAS ARMADAS


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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig. 7 Programador de pics software

Presionamos el botn
microcode studio

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

El procedimiento mencionado repetir con cada uno de los


ejercicios propuestos.

write

para

escribir

el archivo

de

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

Abrimos el programa MicroCode Studio, realizamos el cdigo de


programa

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig.8 Programacin prender y apagar un led con el mismo


pulsador- con rebote

Guardamos el archivo. Verificamos que se guarde con una


extensin .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.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES 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 cdigo de


programa

Fig.11 Programacin

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
Guardamos el archivo. Verificamos que se guarde con una
extensin .HEX.
Compilamos el programa.

Fig. 12 Compilacin 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 cdigo.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig. 15 Programacin

Guardamos el archivo. Verificamos que se guarde con una


extensin .HEX.
Compilamos el programa.

Abrimos el programa proteus.


Armamos el circuito con el pic, led, pulsadores.
Insertamos el cdigo al PIC poniendo clic derecho sobre el pic,
opciones y agregamos el archivo programa .HEX.
Damos PLAY al programa y verificamos que funcione
correctamente.

UNIVERSIDAD DE LAS FUERZAS ARMADAS


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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

Fig. 18 Programacin

Guardamos el archivo. Verificamos que se guarde con una


extensin .HEX.
Compilamos el programa.

Abrimos el programa proteus.


Armamos el circuito con el pic, led, pulsadores.
Damos PLAY al programa y verificamos
correctamente.

que

funcione

Fig. 19 Circuito en Protoboard

Armamos el circuito en el protoboard y verificamos su


funcionamiento

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

G. Conclusiones

Con la ayuda del Microcode pudimos realizar la programacin


correcta y con esto realizamos la adecuada utilizacin de
pulsadores e interrupciones.
Se pudo verificar y analizar los diferentes mtodos de
programacin para la utilizacin de pulsadores e interrupciones.
Comprendimos el funcionamiento e identificar que es una
interrupcin externa, adems
realizamos su codificacin 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
conexin del circuito en un protoboard.
Existen diferentes aplicaciones en el cual utilizamos pulsadores
para controlar un LED o varios LEDs.
Aplicamos diferentes mtodos para cumplir con la lgica 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 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.
Optimizar los circuitos encontrando la mejor manera de realizar
las conexiones

I. Bibliografa:

[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

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC
http://www.circuitoselectronicos.org/2011/03/manejo-deinterrupciones-en-los.html

J. Bases Digitales

UNIVERSIDAD DE LAS FUERZAS ARMADAS


ESPE EXTENSION LATACUNGA
MICROCONTROLADORES Y PLC

K. Anexos