31
Carrera : VIII CICLO - INGENIERÍA INDUSTRIAL Curso : PROGRAMACION PARA INGENIEROS Profesor : Ing. MIGUEL LEVANO STELLA Alumnos : Lima, 20 de Diciembre del 2014 Mondelez Perú S.A.

Proyecto Final Microcontroladores

Embed Size (px)

DESCRIPTION

MIcrocontroladores

Citation preview

Page 1: Proyecto Final Microcontroladores

Carrera : VIII CICLO - INGENIERÍA INDUSTRIAL

Curso : PROGRAMACION PARA INGENIEROS

Profesor : Ing. MIGUEL LEVANO STELLA

Alumnos :

Lima, 20 de Diciembre del 2014

Mondelez Perú S.A.

Page 2: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 2

Indice

Indice

Dedicatoria

Introducción

Capítulo I. La Empresa

1. Descripción de la empresa

2. Organigrama de la empresa

Capítulo II. Identificación del Problema

1. Descripción del Problema

2. Alternativa de Solución del Problema

Capítulo III. Elaboración del Proyecto

1. Definición del Diseño del Sistema

2. Elementos del Diseño

3. Marco teórico del Microcontrolador

Capítulo IV. Aplicación e Implementación del Sistema

1. Programación o Desarrollo del Software

2. Programación del Microcontrolador (µC)

3. Presentación del Sistema o Prueba y Verificación

Conclusiones

Bibliografía

Page 3: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 3

Dedicatoria

Queremos dedicarles este trabajo a

nuestras familias, que continuamente

nos apoyan y son los pilares y la fuerza

que nos mueven a ser mejores

personas, amigos, compañeros esposos

y futuros Ingenieros Industriales.

Page 4: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 4

Introducción

El presente trabajo buscamos aplicar los conocimientos recibidos en el curso para

aplicarlos en

Page 5: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 5

Capítulo I. La Empresa

1. Descripción de la empresa en estudio y del producto

La Empresa

Mondelez Internacional es una fábrica que comercializa productos alimenticios

procesados para consumo humano, como galletas, caramelos, chocolates,

postres, gelatinas, refrescos, artículos de repostería y dulces en general.

Visión

Así como ayer, hoy y siempre ser el modelo a seguir en resultados, procesos y

gente.

Misión

Hacer galletas, bañados y wafers que encanten a nuestros consumidores, al mejor

costo, con excelente calidad, en el momento y la cantidad requerida por el

mercado.

Ubicación

La planta se encuentra ubicada en Avenida Venezuela N° 2470 Lima.

Historia

Los inicios de golosinas del Perú se remontan por el año se 1899 cuando don

Arturo Field funda la compañía Arturo Field y la estrella, empresa dedicada a la

elaboración de galletas de soda.

Page 6: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 6

En el año 1993 Nabisco, una de las grandes multinacionales de alimentos, compra

la compañía de Arturo Field. Siete años después, en el 2000, Kraft Foods

Internacional compra mundialmente a Nabisco, convirtiéndose así en la segunda

empresa mundial de alimentos.

Actualmente Mondedez Internacional tiene operaciones en 150 países del mundo

y aproximadamente 159 plantas industriales, situándose en el Perú la planta de

galletas que abastece la Región Andina y países de Centro América y el Caribe.

Productos que comercializa

La compañía de alimentos Mondelez Internacional posee algunas de las marcas

más queridas por los consumidores peruanos. Produce localmente marcas como

las galletas Soda Field, Oreo, Club Social, Ritz, Charada, Coronita, Doña Pepa,

Cua Cua, entre otras. Asimismo, comercializa el queso Philadelphia, la mayonesa

Kraft, los postres instantáneos y gelatina Royal, los refrescos Clight y Tang, entre

otros.

Page 7: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 7

2. Organigrama de la empresa

GERENCIA GENERAL

GERENTE PRODUCCION

MANUFACTURA INGENIERIA

MANTENIMIENTO

PROYECTOS

ASEGURAMIENTO DE CALIDAD

PLANEAMIENTO

GERENTE DE VENTAS

MARKETING VENTAS

GERENTE DE FINANZAS

CONTRALORIA CONTABILIDAD

Gerente de planta

Gerente Sección 1

Jefe de Línea 1

Jefe de Línea 2

Supervisor

Facilitador Facilitador Facilitador

Jefe de Chocolate

Gerente Sección 2

Jefe de Línea 3

Jefe de Línea 4

Supervisor

Facilitador Facilitador Facilitador

Jefe de Línea 5

Page 8: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 8

Capítulo II. Identificación del Problema

1. Descripción del Problema

Actualmente las máquinas de empaque de la empresa Mondelez tienen micro

paros que no son registrados por los maquinistas debido a la carga de trabajo que

tienen en su día a día esto a su vez origina que no tengan un control real de

cuanta pérdida de eficiencia les está generando estos micro paros por este motivo

no se tiene una data de los micro paros más ocurrentes así mismo el no tener esta

data no se puede realizar un análisis causa raíz de estos problemas para

encontrar una solución definitiva para disminuir la carga de trabajo de los

maquinistas y mejorar la eficiencia de la línea la cual redundara en una reducción

de los costos de la fabricación de sus productos permitiéndolos volverse más

competitivos.

2. Alternativa de Solución del Problema

Instalar un software mediante microcontroladores anexados a la Máquina que

registre en tiempo real los paros y micro paros ocasionados en las máquinas de

empaque de tal manera que nos permita tener data en tiempo real y de manera

visual mediante una pantalla LCD de las pérdidas de eficiencia que nos están

originando.

Objetivo General

Incrementar el OEE de la planta de 80% a 85%

Objetivos Específicos

Eliminar pérdidas de eficiencia de la planta originada por paros y micro

paros en la maquinaria de planta que no tienen una solución definitiva por

falta de data.

Llevar un control visual de la productividad en tiempo real de tal manera

que se tome acción inmediata en caso de desviaciones negativas.

Instalar pantallas LCD anexada a microcontroladores para llevar un control

visual de la producción.

Page 9: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 9

Disminuir la carga de trabajo de los Maquinistas de planta

Justificación

El OEE o eficiencia general de equipos de la planta te mide la cantidad de

paros no planificados o no deseados que ocurren dentro de la planta de

producción.

La planta actualmente tiene un OEE de 80% cada punto de OEE de la

planta tiene un valor de 122000 dólares el incremento en 5% de este

indicador permitirá un ahorro significativo y un aumento de productividad

así como disminución de horas extras para la empresa dándole un plus

de competitividad a sus productos.

Capítulo III. Elaboración del Proyecto

1. Definición del Diseño del Sistema

Para la elaboración del proyecto diseñaremos un sistema de control de puertos

de entrada/salida basados en las características del PIC16F877A, utilizando

lenguaje de programación C y software de simulación Proteus-ISIS con precisión.

El Objetivo de nuestro proyecto es aplicar todos los conocimientos adquiridos para

programar una tarjeta de circuito impreso y enviar mensajes a través de una

pantalla LCD.

2. Elementos del Diseño

Placa de Circuito Impreso: La placa de un circuito impreso es la base para el

montaje del mismo, es el soporte que sujetará los componentes y a la vez los

interconectará mediante una serie de pistas de cobre.

Una placa de circuito impreso está formada por un soporte, que puede ser de

baquelita o de fibra de vidrio y una capa de cobre depositada sobre el soporte.

Page 10: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 10

Pantalla LCD: La definición más clara de un LCD es una pantalla de cristal líquido

que visualiza unos ciertos caracteres. Para poder hacer funcionar un LCD, debe

de estar conectado a un circuito impreso en el que estén integrados los

controladores del display y los pines para la conexión del display. Sobre el circuito

impreso se encuentra el LCD en sí, rodeado por una estructura metálica que lo

protege. En total se pueden visualizar 2 líneas de 16 caracteres cada una, es

decir, 2x16=32 caracteres. A pesar de que el display sólo puede visualizar 16

caracteres por línea, puede almacenar en total 40 por línea. Es el usuario el que

especifica qué 16 caracteres son los que se van a visualizar.

Microcontrolador PIC 16F877A: Es un microcontrolador con memoria de

programa tipo FLASH, lo que representa gran facilidad en el desarrollo de

prototipos y en su aprendizaje ya que no se requiere borrarlo con luz ultravioleta

como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser

borrado con anterioridad.

Page 11: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 11

Grabador PIC: Esta herramienta permite grabar o programar todo tipo de

Microcontroladores de Microchip (pics).

3. Marco teórico del Microcontrolador PIC 16F877A

Los microcontroladores son computadores digitales integrados en un chip que

cuentan con un microprocesador o unidad de procesamiento central (CPU), una

memoria para almacenar el programa, una memoria para almacenar datos y

puertos de entrada salida. A diferencia de los microprocesadores de propósito

general, como los que se usan en los computadores PC, los microcontroladores

son unidades autosuficientes y más económicas.

El funcionamiento de los microcontroladores está determinado por el programa

almacenado en su memoria. Este puede escribirse en distintos leguajes de

programación. Además, la mayoría de los microcontroladores actuales pueden

reprogramarse repetidas veces.

Por las características mencionadas y su alta flexibilidad, los microcontroladores

son ampliamente utilizados como el cerebro de una gran variedad de sistemas

embebidos que controlan máquinas, componentes de sistemas complejos, como

aplicaciones industriales de automatización y robótica, domótica, equipos

médicos, sistemas aeroespaciales, e incluso dispositivos de la vida diaria como

automóviles, hornos de microondas, teléfonos y televisores.

Frecuentemente se emplea la notación µC o las siglas MCU (por microcontroller

unit) para referirse a los microcontroladores.

Page 12: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 12

Características: Las principales características de los µC son:

Unidad de Procesamiento Central (CPU): Típicamente de 8 bits, pero

también las hay de 4, 32 y hasta 64 bits con arquitectura Harvard, con

memoria/bus de datos separada de la memoria/bus de instrucciones de

programa, o arquitectura de von Neumann, también llamada arquitectura

Princeton, con memoria/bus de datos y memoria/bus de programa

compartidas.

Memoria de Programa: Es una memoria ROM (Read-Only Memory),

EPROM (Electrically Programable ROM), EEPROM (Electrically

Erasable/Programable ROM) o Flash que almacena el código del programa

que típicamente puede ser de 1 kilobyte a varios megabytes.

Memoria de Datos: Es una memoria RAM (Random Access Memory) que

típicamente puede ser de 1, 2 4, 8, 16, 32 kilobytes.

Generador del Reloj: Usualmente un cristal de cuarzo de frecuencias que

genera una señal oscilatoria de entre 1 a 40 MHz, o también resonadores

o circuitos RC.

Interfaz de Entrada/Salida: Puertos paralelos, seriales (UARTs, Universal

Asynchronous Receiver/Transmitter), I2C (Inter-Integrated Circuit),

Interfaces de Periféricos Seriales (SPIs, Serial Peripheral Interfaces), Red

de Área de Controladores (CAN, Controller Area Network), USB (Universal

Serial Bus).

Otras opciones:

– Conversores Análogo-Digitales (A/D, analog-to-digital) para convertir un

nivel de voltaje en un cierto pin a un valor digital manipulable por el

programa del microcontrolador.

– Moduladores por Ancho de Pulso (PWM, Pulse-Width Modulation) para

generar ondas cuadradas de frecuencia fija pero con ancho de pulso

modificable.

La alta integración de subsistemas que componen un µC reduce el número de

chips, la cantidad de pistas y espacio que se requeriría en un circuito impreso si

se implementase un sistema equivalente usando chips separados.

Page 13: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 13

Descripción de los PINES:

Page 14: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 14

Page 15: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 15

Descripción de los Puertos:

Puerto A:

Puerto de e/s de 6 pines

RA0 è RA0 y AN0

RA1 è RA1 y AN1

RA2 è RA2, AN2 y Vref-

RA3 è RA3, AN3 y Vref+

RA4 è RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo

Timer0) RA5 è RA5, AN4 y SS (Selección esclavo para el puerto serie

síncrono)

Puerto B:

Puerto e/s 8 pines

Resistencias pull-up programables

RB0 è Interrupción externa

RB4-7 èInterrupcion por cambio de flanco

RB5-RB7 y RB3 è programacion y debugger in circuit

Puerto C:

Puerto e/s de 8 pines

Page 16: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 16

RC0 è RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del

modulo Timer1).

RC1-RC2 è PWM/COMP/CAPT

RC1 è T1OSI (entrada osc timer1)

RC3-4 è IIC

RC3-5 è SPI

RC6-7 è USART

Puerto D:

Puerto e/s de 8 pines

Bus de datos en PPS (Puerto paralelo esclavo)

Puerto E:

Puerto de e/s de 3 pines

RE0 è RE0 y AN5 y Read de PPS

RE1 è RE1 y AN6 y Write de PPS

RE2 è RE2 y AN7 y CS de PPS

Proceso de Desarrollo:

El proceso de desarrollo de una aplicación basada en microcontroladores se

compone de las siguientes etapas principales:

Desarrollo de software: Esta etapa corresponde a la escritura y

compilación/ensamblaje del programa que regirá las acciones del µC y los

sistemas periféricos conectados a este.

Programación del µC: En esta etapa el código de máquina

correspondiente al programa desarrollado en la etapa anterior se descarga

en la memoria del µC.

Prueba y verificación: Por último, el µC debe conectarse al circuito base

y someterse a pruebas para verificar el funcionamiento correcto del

programa.

Page 17: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 17

Capítulo IV. Aplicación e Implementación del Sistema

1. Programación o Desarrollo del Software

En esta etapa consiste en escribir y compilar/ensamblar el programa que

determinara las acciones del µC y su funcionamiento. Existen distintas maneras

de desarrollar el programa, dependiendo del lenguaje inicial que se utiliza para

escribir el programa:

Lenguaje Assembly - Lenguaje de Máquina/Código Objeto

(.asm) → ensamblador → (.hex, .o, .bin, .coff)

Lenguaje de Alto Nivel - Lenguaje Assembly - Lenguaje de

Máquina/Código Objeto

(.c, .cpp) → compilador → (.asm) → ensamblador → (.hex, .o, .bin, .coff)

Escribir el Programa en PIC C COMPILER:

Page 18: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 18

#include <16f877a.h>

#fuses xt,nolvp,nowdt,put,cpd,protect //configura los fusibles

#use delay(clock=4Mhz) //OSCILADOR <=4MHZ

#include <lcd_portb.h>

void main(void)

{

lcdInicializa();

lcdPosicionXY(2,1);

lcdEnviaMensaje("INTEGRANTES:");

delay_ms(1000);

while(true)

{

lcdPosicionXY(0,2);

lcdEnviaMensaje(" JOSE EFFIO ");

delay_ms(2000); //introduce un retardo de 2000ms

lcdPosicionXY(0,2);

lcdEnviaMensaje("MILTON BOCANEGRA");

delay_ms(2000); //introduce un retardo de 2000ms

lcdPosicionXY(0,2);

Page 19: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 19

lcdEnviaMensaje(" ROLANDO NAVARRO");

delay_ms(2000); //introduce un retardo de 2000ms

lcdPosicionXY(0,2);

lcdEnviaMensaje(" NICOLA CALVO ");

delay_ms(2000); //introduce un retardo de 2000ms

lcdPosicionXY(0,2);

lcdEnviaMensaje(" PAMELA PECHE ");

delay_ms(2000); //introduce un retardo de 2000ms

lcdPosicionXY(0,2);

lcdEnviaMensaje(" UPN ");

delay_ms(2000); //introduce un retardo de 2000ms

}

}

Compilar el Programa:

Page 20: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 20

Programación de Puerto LCD:

Page 21: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 21

#ifndef PUERTO_LCD

#byte TRIS_LCD = getenv("SFR:TRISB") //indica que el puerto b será de

salida

#bit Lcd_D4 = getenv("SFR:PORTB").0

#bit Lcd_D5 = getenv("SFR:PORTB").1

#bit Lcd_D6 = getenv("SFR:PORTB").2

#bit Lcd_D7 = getenv("SFR:PORTB").3

#bit Lcd_EN = getenv("SFR:PORTB").4

#bit Lcd_RS = getenv("SFR:PORTB").5

///////////// Funciones Internas //////////////

void lcdControlComando(void);

void lcdEnviaData(unsigned int);

//////////// Funciones Externas //////////////

void lcdInicializa(void);

void lcdEnviaMensaje(unsigned int);

void lcdPosicionXY(unsigned int, unsigned int);

void lcdRotaDerechaLCD(unsigned int,unsigned long );

void lcdRotaIzquierdaLCD(unsigned int,unsigned long);

void lcdBorraPantalla(void);

void lcdCursorPropiedades(short, short);

void lcdApagaPantalla(void);

void lcdBlinkPantalla(unsigned int contador,unsigned long tiempo);

void lcdPrendePantalla(void);

#define HIGH 1

#define LOW 0

void lcdInicializa(void)

Page 22: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 22

{

TRIS_LCD &= ~(1<<0)&~(1<<1)&~(1<<2)&~(1<<3)&~(1<<4)&~(1<<5);

delay_ms(15);

/////// Configuracion Inicial segun Fabricante ///////////////

output_b(0x0C);

lcdControlComando();

output_b(0x0C);

lcdControlComando();

output_b(0x0C);

lcdControlComando();

output_b(0x04);

lcdControlComando();

/////////// Modo transferencia 4 Bits, 2 Lineas, tamaño de Caracter 5x7 /////////////

lcdEnviaData(0x28);

/////////// Modo Funcionamiento: Incrementa Cursor, Modo Normal ///////////

lcdEnviaData(0x06);

/////////// Control ONN/OFF : Display ON, Cursor OF, Intermitente OF ////////////

lcdEnviaData(0x0C);

/////////// Borra Pantalla ////////////////////

lcdEnviaData(0x01);

}

void lcdEnviaData(unsigned int Data)

{

Lcd_D7=bit_test(Data,4);

Lcd_D6=bit_test(Data,5);

Lcd_D5=bit_test(Data,6);

Lcd_D4=bit_test(Data,7);

lcdControlComando();

Lcd_D7=bit_test(Data,0);

Lcd_D6=bit_test(Data,1);

Lcd_D5=bit_test(Data,2);

Page 23: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 23

Lcd_D4=bit_test(Data,3);

lcdControlComando();

}

void lcdControlComando(void)

{

Lcd_EN=HIGH;

delay_us(40);

Lcd_EN=LOW;

if(Lcd_RS) delay_us(120);

else delay_ms(5);

}

void lcdEnviaMensaje(unsigned int caracter)

{

Lcd_RS=HIGH;

lcdEnviaData(caracter);

Lcd_RS=LOW;

}

void lcdPosicionXY(unsigned int posColumna,unsigned int posFila)

{

unsigned int Linea=0;

if (posFila==4) Linea=0xD4;

else if (posFila==3) Linea=0x94;

else if (posFila==2) Linea=0xC0;

else if (posFila==1) Linea=0x80;

Linea=Linea+posColumna;

lcdEnviaData(Linea);

Page 24: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 24

}

void lcdRotaDerechaLCD(unsigned int Movimientos, unsigned long tiempo)

{

unsigned int contador=0;

for(contador=0;contador<Movimientos;contador++)

{

lcdEnviaData(0b00011000);

delay_ms(tiempo);

}

}

void lcdRotaIzquierdaLCD(unsigned int Movimientos,unsigned long Tiempo)

{

unsigned int contador=0;

for(contador=0;contador<Movimientos;contador++)

{

lcdEnviaData(0b00011100);

delay_ms(Tiempo);

}

}

void lcdBorraPantalla(void)

{

lcdEnviaData(0x01);

}

void lcdCursorPropiedades(short ONOFCursor, short ONOFBlink)

{

lcdEnviaData(0x0C|(ONOFCursor<<1)|(ONOFBlink<<0));

}

void lcdBlinkPantalla(unsigned int contador,unsigned long tiempo)

{

Page 25: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 25

unsigned int i=0;

for(i=0;i<contador;i++)

{

lcdEnviaData(0x08);

delay_ms(tiempo);

lcdEnviaData(0x0C);

delay_ms(tiempo);

}

}

void lcdApagaPantalla(void)

{

lcdEnviaData(0x08);

}

void lcdPrendePantalla(void)

{

lcdEnviaData(0x0C);

}

#endif

2. Programación del Microcontrolador (µC)

Este proceso corresponde a utilizar un programa en el PC que toma el código

ensamblado (.hex, .o, .bin, .coff) para el µC específico, y lo envía mediante algún

puerto (serial, paralelo, USB, etc.) a un dispositivo que lo escribe en la memoria

del µC. Se acostumbra denominar programador tanto al software como al

hardware involucrado para este propósito, lo cual puede prestarse a confusión. El

software programador a veces recibe también el nombre de downloader, ya que

su propósito es descargar o transferir desde el PC al µC el código ensamblado.

Page 26: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 26

Es importante mencionar que no deben confundirse los términos desarrollo

o programación del software y programación del µC, el primero se refiere a

escribir el programa, mientras que el segundo se refiere transferir el código

de máquina a la memoria del µC.

Interconexión del PIC con el LCD: (ISIS-Proteus)

Page 27: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 27

Cargar archivo .hex en el circuito:

Page 28: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 28

Ejecutar el circuito:

3. Presentación del Sistema o Prueba y Verificación

Una vez programado el µC, con el grabador de PIC trasladaremos el programa

creado para verificar el funcionamiento y presentar el proyecto.

Page 29: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 29

Page 30: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 30

Conclusiones

AGREGAR

Page 31: Proyecto Final Microcontroladores

Programación para Ingenieros

Ingeniería Industrial Página 31

Bibliografía

https://www.youtube.com/watch?v=azpvO_duaXI

https://www.youtube.com/watch?v=bUwx_Gb78p4

https://www.youtube.com/watch?v=E8zKV5BBMoA

https://www.youtube.com/watch?v=6SCx0Q4o-14

http://www.utp.edu.co/~eduque/arquitec/PIC16F877.pdf

http://www.mikroe.com/chapters/view/80/capitulo-2-programacion-de-los-

microcontroladores/

http://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic.shtml

https://www.google.com.pe/search?q=grabador+de+pic16f877a&biw=1440&bih=

766&source=lnms&tbm=isch&sa=X&ei=zJ2VVIC_FsWmNqPlg-

AF&sqi=2&ved=0CAYQ_AUoAQ#tbm=isch&q=pic16f877a&imgdii=_