Post on 03-Feb-2016
description
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
INFORME # 1
INTEGRANTES:
Araujo Jhoe
Pumarica Darío
Tonato Mauricio
Fecha: 05 de mayo de 2015 Nivel: Sexto Automotriz “A”
A. TEMA:
Introducción a la programación en PIC 16F628A. B. OBJETIVO GENERAL
Programar y armar varios circuitos mediante la programación estudiada en clase con el uso del PIC 16F628A y de un programador de PICS (quemador Pic kit 2 V2.6).
C. OBJETIVOS ESPECÍFICOS
Analizar el funcionamiento del pic 16F628A, así como también determinar el funcionamiento de las pines que lo constituyen.
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 las diferentes aplicaciones que se las puede dar al pic mediante la programación en micro code.
Determinar los puertos de entrada y de salida del pic para realizar la conexión del circuito en un protoboard.
D. MATERIALES Y EQUIPOS.
PIC 16F628A Programador Pickit 2 V2.6 6 Leds 1 Protoboard 6 Resistencias 350 ohmios 1 decodificador 74ls47 2 Display de 7 segmentos Fuente de 5V
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.
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
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 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
Propiedad
Memoria de programa 1 Kbyte
Memoria SRAM 224 Bytes
Memoria EEPROM 128 Bytes
Pines de E/S 16
Entradas analógicas (ADC) No
Salidas PWM 2
SPI No
I2C No
USART Si
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
“DIAGRAMA DE PINES”
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.
Temporizadores de 8Bits 2
Temporizadores de 16Bits 1
Comparadores 2
Oscilador Frecuencia máxima: 20MHz Oscilador interno de 4MHz.
Número de pines 18
Encapsulado PDIP, SOIC, SSOP,QFN
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
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 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
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
F. PROCEDIMIENTO.
Instalar el software del programador de PICS en una computadora.
Al abrir el programa antes instalado nos aparecerá lo siguiente:
Fig. 3 Ventana del programador
Conectar programador a la computadora y junto con el PIC 16F628A
Ya conectado reconocerá el programador
Fig. 4 Programador de pics software
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Importamos el archivo deseado de microcode studio
Fig. 5 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.
EJERCICIOS
PROGRAMA PARA PRENDER Y APAGAR UN LED.
Abrimos el programa MicroCode Studio, realizamos el código de programa
led1 var portb.1 ‘Asignamos una variable al portb.1 inicio: ‘inicio del programa high led1 ’enciende el led en el Puerto portb.1 gosub tiempo ´subrutina de tiempo pausa low led1 ’apaga el led en el Puerto portb.1 gosub tiempo ´subrutina de tiempo pausa goto inicio ‘regresa al inicio del programa tiempo: ‘inicio de la subrutina tiempo pause 500 ‘pausa de 500 return ‘retorna la subrutina end ‘fin del programa
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
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 y led.
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.
Fig. 6 Circuito en Proteus
Fig. 7 Circuito en Proteus
Procedemos con la grabación del código en el PIC
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Colocamos el PIC en el quemador PICKIT2
Fig. 8 Quemador PICKIT2
Abrimos el programa PICKIT2, cargamos el código al PIC, configuramos los puertos y
grabamos
Armamos el circuito en el proto y verificamos su funcionamiento
Fig. 10 Circuito en Protoboard
PROGRAMA PARA PRENDER Y APAGAR DOS LEDS SIMULTÁNEAMENTE
Abrimos el programa MicroCode Studio, realizamos el código de programa inicio: ‘Inicio del programa high portb.0 ‘asigna en alto el portb.0 low portb.1 ‘asigna en bajo el portb. pause 500 ‘pausa de 500 high portb.1 ‘asigna en alto el portb.0 low portb.0 ‘asigna en bajo el portb. pause 500 ‘pausa de 500 goto inicio ‘regresa al inicio end ‘fin del programa
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 y los leds.
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
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.
Fig. 11 Circuito en Proteus
Fig. 12 Circuito en Proteus
Procedemos con la grabación del código en el PIC
Colocamos el PIC en el quemador PICKIT2
Fig. 13 Programador Pickit2
Abrimos el programa PICKIT2, cargamos el código al PIC, configuramos los puertos y
grabamos
Armamos el circuito en el protoboard y verificamos su funcionamiento
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Fig. 14 Circuito en Protoboard
PROGRAMA SEMAFORO
Abrimos el programa MicroCode Studio, realizamos el código de programa SEMAFRO1 VAR PORTA.0 “Puerto A.0 renombrado con SEMAFRO1” SEMAFAMA1 VAR PORTA.1 “Puerto A.1 renombrado con SEMAFAMA1” SEMAFVERD1 VAR PORTA.2 “Puerto A.2 renombrado con SEMAFVERD1” SEMAFRO2 VAR PORTB.0 “Puerto B.0 renombrado con SEMAFRO2” SEMAFAMA2 VAR PORTB.1 “Puerto B.1 renombrado con SEMAFAMA2” SEMAFVERD2 VAR PORTB.2 “Puerto B.2 renombrado con SEMAVERD2” INICIO: “ETIQUETA DE INICIO DEL PROGRAMA” HIGH SEMAFVERD1 “EL PIN SEMAVERD1 SE PONE EN ALTO” HIGH SEMAFRO2 “EL PIN SEMARO2 SE PONE EN ALTO” PAUSE 2000 “GENERA UNA PAUSA DE 2000ms” LOW SEMAFVERD1 “EL PIN SEMAVERD1 SE PONE EN BAJO” HIGH SEMAFAMA1 “EL PIN SEMAFAMA1 SE PONE EN ALTO” PAUSE 500 “GENERA UNA PAUSA DE 500 ms” LOW SEMAFAMA1 “EL PIN SEMAFAMA1 SE PONE EN BAJO” HIGH SEMAFRO1 “EL PIN SEMAFRO1 SE PONE EN ALTO” LOW SEMAFRO2 “EL PIN SEMAFRO2 SE PONE EN BAJO” HIGH SEMAFVERD2 “EL PIN SEMAFVERD2 SE PONE EN ALTO” PAUSE 2000 “GENERA UNA PAUSA DE 2000ms” LOW SEMAFVERD2 “EL PIN SEMAFVERD2 SE PONE EN BAJO” HIGH SEMAFAMA2 “EL PIN SEMAFAMA2 SE PONE EN ALTO” PAUSE 500 “GENERA UNA PAUSA DE 500ms” LOW SEMAFAMA2 “EL PIN SEMAFAMA2 SE PONE EN BAJO” HIGH SEMAFRO2 “EL PIN SEMAFRO2 SE PONE EN ALTO” LOW SEMAFRO1 “EL PIN SEMAFRO1 SE PONE EN BAJO” HIGH SEMAFVERD1 “EL PIN SEMAFVERD1 SE PONE EN ALTO” PAUSE 2000 “GENERA UNA PAUSA DE 2000ms” GOTO INICIO “RETORNA A LA ETIQUETA INICIO” END
Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.
Compilamos el programa.
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Abrimos el programa proteus.
Armamos el circuito con el pic y los leds.
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.
Fig. 15 Circuito en Proteus
Fig. 16 Circuito en Proteus
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Procedemos con la grabación del código en el PIC
Colocamos el PIC en el quemador PICKIT2
Fig. 17 Quemador PicKit2
Abrimos el programa PICKIT2, cargamos el código al PIC, configuramos los puertos y
grabamos
Armamos el circuito en el protoboard y verificamos su funcionamiento
PROGRAMA CONTADOR ASCENDENTE 0-9
Ingresar al programa MicroCode Studio y Realizar el código para un contador
ascendente de (0-9).
u var byte ‘Asigno variable u tipo byte
d var byte ‘Asigno variable d tipo byte
TRISB=0 ‘Puerto B como salida
INICIO: ‘Inicio del programa
for d=0 to 9 ‘inicio del ciclo de las decenas
for u=0 to 9 ‘inicio del ciclo for de las unidades
portb=d*16+u ‘asignacion del puerto portb
GOSUB Tiempo ‘inicio de la subrutina tiempo
next u ‘fin del ciclo for de las unidades
next d ‘fin del ciclo for de las decenas
GOTO INICIO ‘regresa al inicio
Tiempo: ‘inicio de la subrutina tiempo
PAUSE 500 ‘pause de 500
RETURN ‘retorno de las subrutinas
Guardamos el archivo. Verificamos que se guarde con una extensión .HEX.
Compilamos el programa.
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
Abrimos el programa proteus.
Armamos el circuito con el pic, decodificador, display.
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.
Fig. 18 Circuito en Protoboard
Procedemos con la grabación del código en el PIC
Colocamos el PIC en el quemador PICKIT2
Fig. 19 Quemador Pic Kit2
Abrimos el programa PICKIT2, cargamos el código al PIC, configuramos los puertos y
grabamos
Armamos el circuito en el protoboard y verificamos su funcionamiento
Fig. 20 Circuito en Protoboard
UNIVERSIDAD DE LAS FUERZAS ARMADAS
ESPE EXTENSION LATACUNGA MICROCONTROLADORES Y PLC
G. Conclusiones
Se pudo demostrar que la programación de PICS en esta materia es de suma importancia ya que acelera el proceso de armado de circuitos y ya no se utiliza tantos integrados como en niveles anteriores.
Un PIC y un quemador de PICS minimiza el trabajo y el número de elementos que se usa, y así facilita la detección de fallas.
El programador de Pics debe encontrarse en un buen estado para su uso, y debe ser utilizable en los sistemas operativos comunes.
Se pudo demostrar que de acuerdo a lo programado en micro code y mediante la grabación del pic se pudo demostrar el funcionamiento en la vida real.
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.
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.
I. Bibliografía:
http://proyectoaula-pic16f628a.blogspot.com/ http://www.taringa.net/posts/hazlo-tu-mismo/14017158/Programador-PIC-USB-PICKIT-2-Clone. html J. Anexos