Académique Documents
Professionnel Documents
Culture Documents
1. Objetivos
2. Marco teórico
Los PIC son una familia de microcontroladores tipo RISC (Reduced Instruction Set Computer, en
español Computador con Conjunto de Instrucciones Reducidas) fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de
microelectrónica de General Instrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque
generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general
una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en
1975 para mejorar el rendimiento del sistema quitando peso de entrada/salida a la CPU. El PIC
utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no
se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos
del oscilador.
En 1985 la división de microelectrónica de General Instrument se separa como compañía
independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a
Microchip Technology y en 1989 es adquirida por un grupo de inversores) y el nuevo propietario
canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin
embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día
multitud de PIC vienen con varios periféricos incluidos (módulos de comunicación serie, UART,
núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32 000 palabras (una
palabra corresponde a una instrucción en lenguaje ensamblador, y puede ser de 12, 14, 16 o 32 bits,
dependiendo de la familia específica de PICmicro).
1
2.2. Características de los microcontroladores
Bancos de memoria
3. Material y equipos
4
Placa Arduino UNO (usada solo como
alimentación)
5
4. Circuitos y esquemas
4.1. Esquema para la conexión del circuito de secuencia de leds con PIC i6f628A.
C1
U1
33pF 16 17
RA7/OSC1/CLKIN RA0/AN0
X1 15
RA6/OSC2/CLKOUT RA1/AN1
18
CRYSTAL 1
C2 4
RA2/AN2/VREF
2
RA5/MCLR RA3/AN3/CMP1
3
RA4/T0CKI/CMP2
33pF 6
RB0/INT
7
RB1/RX/DT
8
RB2/TX/CK
9
RB3/CCP1
10
RB4
11
RB5
12
RB6/T1OSO/T1CKI
13
RB7/T1OSI
PIC16F628A D1 D2 D3 D4
LED-RED LED-RED LED-RED LED-RED
R2 R3 R4 R1
220 220 220 220
4.2. Circuito para probar la secuencia de encendido y apagado de leds con PIC 16f628 A.
5. Marco práctico
- Antes de iniciar con el circuito del laboratorio correspondiente al manejo de PIC se instalaron
dos programas para empezar con el uso de microcontroladores. El primero fue MikroC Pro for
PIC, este es un programa que cuenta con un entorno integrado de desarrollo para escribir,
compilar, ejecutar y depurar código. Este programa requería ser parchado para que se ejecute
normalmente. El segundo programa necesario era el que permitía grabar el programa en el
microcontrolador haciendo uso del archivo hexadecimal que genera el MikroC Pro for PIC; el
programa necesario para grabar se llama PICkit 3 versión 3.10, el cual es parte del grabador de
microcontroladores fabricado por Microchip.
- Ya con los programas listos para ser ejecutados, primero se procede a abrir el MikroC Pro for
PIC, en el cual se empieza a escribir el código en lenguaje C. Ya con el programa escrito, se
procedió a compilarlo, MikroC Pro genera varios archivos con diferentes extensiones, el archivo
de interés es el que tiene la extensión .hex, que es un archivo escrito en hexadecimal, el cual se
utiliza para simular el programa en Proteus y para grabar en el microcontrolador.
El microcontrolador tiene la siguiente distribución de pines, es por ello que había que tener cuidado
de conectar correctamente los pines para evitar que este se queme.
Partiendo de la flecha que el quemador tiene como referencia los pines están en el siguiente orden:
El código escrito es sencillo, dentro del programa principal se inicializa el puerto B con el comando
TRISB que inicializa el puerto en cero. Después, se crea un bucle artificial con while(1) y dentro
del bucle se designa el puerto que se va a utilizar. En este caso, se utiliza todo el puerto B, de dicho
puerto solamente se utilizarán 4 pines.
B6 B5 B4 B3 B2 B1 B0
64 32 16 8 4 2 1
64
32
16
8
16
32
64
La sentencia PORTB=64, se debe a que el puerto B tiene una salida decimal de 64, lo cual hace que
el pin B6 se ponga en estado alto y el led conectado se encienda. Aplicando la misma lógica, se
consigue la secuencia deseada donde los leds se encienden uno a uno de derecha a izquierda de
manera indefinida.
7. Conclusiones
Se realizó la introducción al manejo de la tecnología PIC utilizando un pic de gama media 16f628
A, en el cual se grabó una secuencia de encendido y apagado de leds utilizando el puerto B como
puerto de salida digital.
Se instalaron los programas MikroC Pro for PIC, que es un compilador para escribir el código que
se quiere grabar en el microcontrolador y también se instaló el programa PICkit 3 versión 3.10, con
el cual se graba el archivo hexadecimal en el micro.
Se codificó en lenguaje C el programa deseado y se observaron la diferencia con la programación
Arduino, se llegó a la conclusión de que ambos lenguajes son parecidos y que tienen sentencias
equivalentes entre ambos.
Se grabó un programa en el microcontrolador y se verifico el correcto funcionamiento en el circuito
físico y en la simulación.
Se probaron los programas grabados en el microcontrolador en los circuitos físicos y se verificó que
el procedimiento arroja el resultado deseado.
8. Bibliografía
[1] https://es.wikipedia.org/wiki/Microcontrolador_PIC
[2] https://www.ecured.cu/Microcontroladores_PIC
[3] https://www.microchip.com/Developmenttools/ProductDetails/PG164130
[4]https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-
ejemplos/mikroc-pro-for-pic