Sunteți pe pagina 1din 13

Prctica 5

Grabacin de circuitos integrados (CIs)

Objetivo
Orientar al alumno para que sea capaz de grabar circuitos integrados con la ayuda de
un programador, ya sean memorias EEPROM o microcontroladores PIC.

Introduccin
En la creacin y diseo de un nuevo producto electrnico, la tendencia actual es tratar
de respetar los trminos descriptivos "bajos costos", "ultra-compacto" y
"multifuncional". Lograr un producto con todas estas caractersticas era sumamente
difcil. Afortunadamente, en los ltimos aos, disear un producto con esos atributos
se ha tornado ms fcil gracias al desarrollo de dispositivos programables como la
familia de microcontroladores PIC, memorias RAM y ROM, entre otros. En la actualidad
es muy fcil construir productos electrnicos con bajo costo, espacio reducido y con
caractersticas multifuncionales; de hecho, son muchos los circuitos construidos con
pequeos controladores programables integrados que contienen programas sencillos.
Programable quiere decir que se puede planificar la manera en que va a funcionar el
dispositivo, que se puede adaptar a nuestras necesidades. En otras palabras, que el
circuito integrado es capaz de modificar su comportamiento en funcin de una serie de
instrucciones que es posible comunicarle.

Para programar un chip se requiere una computadora, un compilador para desarrollar


el programa de operacin y un grabador para trasladar el programa de operacin al
chip. El costo de un dispositivo de estas caractersticas suele ser relativamente alto,
razn por la cual el ingeniero le "huye" al diseo de sistemas electrnicos con estos
componentes. Obviamente, el programador presentado en esta prctica resulta una
solucin ideal para quienes poseen computadora o puedan emplear alguna.
En el desarrollo de la prctica slo nos enfocaremos en el procedimiento para
programar un microcontrolador PIC, dejando para prcticas posteriores la parte de la
codificacin de programas que realicen alguna funcin requerida, por ejemplo, la
transmisin de datos digitales o el control de motores a pasos. Para poder programar
nuestro PIC usaremos el programador PIC MASTER que utiliza el software
PicKit 2 v2.61.
PIC MASTER es un Programador USB de Microcontroladores para todas las familias de
Microcontroladores PIC, dsPIC, PIC32 y memorias EEPROM. Es una
poderosa herramienta para programar estos dispositivos, compatible para cualquier
computadora y con soporte para Windows 7 y Windows 8. Entre las Ventajas de este
programador estn: la auto programacin (automticamente cargas el programa en el
PIC al momento de compilar utilizando cualquier compilador como MPLAB),
alta compatibilidad, proteccin contra
corto
circuito, soporte para
mltiples
encapsulados (el zcalo del programador soporta PICs de 8, 14, 18, 28 y 40 pines.
Tambin cuenta con la posibilidad de programar chips mediante su puerto ICSP+ (In
Circuit Serial Programming o Programacin Serial en Circuito).
ICSP+ es una tecnologa incluida en todos los microcontroladores PIC de Microchip ms
recientes y posibilita la reprogramacin de los mismos sin que sea necesario
removerlos de su circuito de aplicacin. Esta caracterstica es extremadamente til no
solamente en la etapa de desarrollo debido a que ahorra tiempo y trabajo, sino que su
utilidad se extiende a la etapa de mantenimiento y actualizacin de los sistemas,
dando la posibilidad de reprogramar los chips en sus respectivas placas ya soldadas, ya
sea para corregir errores de software o para la mejora del sistema con la
implementacin de nuevas funciones.
Este mtodo de programacin (lectura, escritura y verificacin) no es exclusivo de los
microcontroladores Microchip, ya que otras marcas como Atmel, Parallax y otros usan
tambin mtodos similares conocidos de manera genrica como ISP (In System
Programming).
Todos los programadores modernos de PIC utilizan este mtodo para programarlos,
aunque esto no sea evidente en los programadores que cuentan con una base ZIF
(Zero Insertion Force o Cero Fuerza de Insercin), como el PIC MASTER.

La base ZIF es un tipo de zcalo que permite insertar y quitar componentes sin hacer
fuerza y de una forma fcil, ya que lleva una palanca que impulsa todos los pines con la
misma presin, por lo que tambin evita que se daen.
En el caso de los programadores con base ZIF, el mtodo de programacin sigue siendo
ICSP (Programacin Serial En Circuito), slo que en este caso todas las seales ICSP
estn cableadas a la base ZIF, sin embargo, debido a que el PIC debe ser removido del
circuito para ubicarlo en la base, se contradice el propsito inicial de la idea, la cual es
justamente no remover el PIC de su circuito. Para los principiantes el uso de la base ZIF
es ms conveniente, sin embargo, para quien debe realizar un trabajo de largo aliento,
con muchas iteraciones de re-programacin, programar el PIC sin tener que removerlo
cada vez de su circuito es mucho ms conveniente.
El programador PIC MASTER fue diseado para brindar un ptimo desempeo y
versatilidad de uso con el puerto USB, su controlador interno emplea tecnologa CMOS
y por lo tanto deben tomarse ciertas precauciones al utilizarse, entre las cuales estn
las siguientes:
1. Sujetar el programador de preferencia por sus esquinas y cuando no est en
uso, guardarlo en su bolsa antiesttica o en su defecto en papel aluminio
(no olvidar retirarlo antes de conectar a la computadora).
2. No frotar la placa del programador contra el pelo o la ropa (especialmente
si es sinttica, como nylon, lycra, polister, etc.).
3. Si bien el puerto USB permite la conexin / desconexin de dispositivos sin
apagar la computadora, se debe evitar que el programador sea conectado
y/o desconectado rpidamente, se deben dejar pasar unos 10 segundos
entre desconexiones para dejar que el sistema operativo reconozca al
dispositivo y no se produzcan errores o daos al circuito.
4. Evitar conectar el PIC MASTER a la computadora cuando tenga un PIC de
bajo
voltaje
(familias
PIC18FxxJxx,
dsPIC33xxx,
PIC24Fxxxx,
dsPIC30xxxx SMPS o EEPROM) insertado en las bases ZIF o conectado en el
puerto ICSP, pues puede daarse, lo recomendable es conectar primero el
programador a la computadora, seleccionar la familia de PIC o EEPROM que
se va a programar y despus insertar el chip en la base ZIF correspondiente.
5. El PIC MASTER est preparado para poder intercambiar los PICs sin la
necesidad de ser desconectado del puerto USB, sin embargo, si el chasis de
tu computadora carece de una buena conexin a tierra, podra producirse
un dao permanente al PIC y/o al programador, por lo tanto se recomienda

tocar alguna parte metlica del chasis de tu computadora (para descargar la


electricidad esttica) cada que cambies de PIC (lo ideal es usar pulsera
antiesttica).
6. Se debe tener cuidado con la forma en que se coloca el chip en las bases
ZIF. A continuacin se muestra la forma correcta de colocar un chip, de
acuerdo al nmero de pines que tenga o a la familia a la que pertenezca.

NOTA: La familia 10Fxxx tiene encapsulado de 8 pines, pero es incompatible con las
conexiones de la base ZIF (diseada para las familias 12Fxxx y 16Fxxx), por lo cual se
debe usar otro tipo de conexin (Puerto ICSP+). Lo mismo ocurre con los dsPICs de 40,
28 y 18 pines, que por sus caractersticas elctricas, deben conectarse tambin con el
puerto ICSP+.

Material y equipo

Programador universal PIC MASTER


Computadora personal con software PicKit2 v2.61 y MPLAB IDE v8.92
Protoboard
PIC16F887
1 LED de cualquier color
2 Resistencias de 220 330
1 Display de 7 segmentos de ctodo comn

Trabajo de casa
1. Mencione algunos tipos de programadores que existe en el mercado, as como sus
ventajas y desventajas.
2. Investigue toda la gama de dispositivos que es posible programar con cada tipo de
programador.

Trabajo de laboratorio
1. El primer paso es entrar al entorno PicKit 2 v2.61 que se muestra en la siguiente
imagen.

2. El segundo paso es conectar el programador PIC MASTER, despus ir al men


Tools y seleccionar la opcin Check Communication. Deber mostrarse el siguiente
mensaje.

3. Ahora colocamos el PIC16F887 en la base ZIF y bajamos la palanca correspondiente


para asegurar el chip a la base. En el men Device Family en la opcin Midrange
seleccionamos Standard. Deber mostrarnos la siguiente informacin.

4. Para verificar que nuestro chip no est daado seleccionamos la opcin Read. Si
no hay ningn problema se mostrar el siguiente mensaje.

5. Ya que no hay ningn problema con nuestro chip que programaremos, vamos al
software MPLAB IDE sin cerrar el entorno PicKit2 y veremos la siguiente ventana de
inicio.

6. En la pestaa File damos click en New para crear un nuevo archivo.

7. Dentro de la ventana Untitled que se abri despus de hacer el paso anterior


escribiremos nuestro cdigo en ensamblador.
8. El siguiente cdigo hace parpadear un LED cada cierto intervalo de tiempo.

list p=16f887
#include <P16F887.INC>
__CONFIG _CONFIG1, _WDT_OFF & _CP_OFF & _PWRTE_OFF & _MCLRE_ON &
_INTOSC & _CPD_OFF & _LVP_OFF & _BOREN_OFF
__CONFIG _CONFIG2, _WRT_OFF
org 0x00
BCF STATUS,RP1
BSF STATUS,RP0
MOVLW b'00000001'
MOVWF TRISA
CONTA1 equ 0x0C
CONTA2 equ 0x0D
CONTA3 equ 0x0E
INICIO
BCF PORTA,0
CALL RETARDO
BSF PORTA,0
CALL RETARDO
GOTO INICIO
RETARDO
MOVLW .200
MOVWF CONTA1
MOVLW .167
MOVWF CONTA2
MOVLW .200
MOVWF CONTA3
DECFSZ CONTA3
GOTO $-1
DECFSZ CONTA2
GOTO $-5
DECFSZ CONTA1
GOTO $-9
RETURN
end

9. Al finalizar de escribir nuestro cdigo tendremos que guardarlo dentro de la pestaa


File dando click a Save As. Buscamos la direccin en la que se desee guardar
(Preferible crear una carpeta slo para este archivo). Anexamos la extensin .asm al
nombre del archivo y guardamos.
10. Despus de guardar nuestro archivo vamos a la pestaa Project y damos click en
New. Saldr la siguiente ventana:

11. En Project Name damos un nombre al proyecto (Preferible el mismo que nuestro
archivo .asm) y en Project Directory buscamos la carpeta en donde guardamos
nuestro archivo. Damos click en OK.
12. El siguiente paso es ir a la pestaa Project y dar click en Add Files to Project.
Buscamos y seleccionamos nuestro archivo .asm y damos click en Abrir.
13. Ahora procedemos a elegir nuestro dispositivo, para esto vamos a la pestaa
Configure y damos click en Select Device. En Device escribimos PIC16F887 y
damos click en OK.
14. Ahora vamos a la pestaa Project y seleccionamos Build All. Elegimos la opcin
Relocatable. Debera aparecer una ventana como la siguiente que diga Build
succeeded.

15. En caso de que exista algn error la ventana dir Build failed. Si este es el caso
deberemos revisar nuevamente nuestro cdigo detenidamente e identificar el error.
Despus de corregirlo repetimos el paso 14.

16. Ya que logramos una compilacin exitosa cerramos nuestro proyecto y


procederemos a realizar la programacin de nuestro PIC.
17. De regreso en el entorno PicKit 2, en el men File seleccionamos Import Hex y
buscamos en la carpeta que creamos con anterioridad el archivo con la extensin .hex.
Seleccionamos el archivo .hex y seleccionamos la opcin Abrir. Nos mostrar un
mensaje como el siguiente.

18. Ya que nuestro archivo .hex se carg correctamente seleccionamos la opcin


Write para programar nuestro PIC. Se mostrar el siguiente mensaje cuando se
termine de cargar nuestro archivo en el chip.

19. Para asegurarnos que se program correctamente nuestro PIC, ahora


seleccionamos la opcin Verify. Al terminar este proceso se mostrar el siguiente
mensaje.

20. Si se mostr el mensaje anterior significar que nuestro chip ha sido programado
correctamente.
21. Ahora podemos probar nuestro PIC para comprobar que su funcionamiento es el
adecuado.
22. Procedemos a conectar en nuestra protoboard nuestros componentes. En el pin 2
del PIC16F887 conectaremos nuestro LED y resistencia en serie hacia tierra. Los pines
11 y 32 los conectaremos a Vcc y los pines 12 y 31 a tierra. Estos 4 pines corresponden
a la polarizacin del PIC. A continuacin se muestra el circuito con las conexiones
correspondientes.

10

22. Nuestro LED deber encender y apagar cada cierto tiempo, lo que indicar que el
chip fue programado adecuadamente.
23. Ahora escribiremos el siguiente cdigo en nuestro compilador MPLAB. Este cdigo
muestra las palabras FES ARAGON en un display de 7 segmentos de ctodo comn,
mostrando caracter por caracter cada cierto tiempo.
list p=16f887
#include <P16F887.INC>
__CONFIG _CONFIG1, _WDT_OFF & _CP_OFF & _PWRTE_OFF & _MCLRE_ON &
_INTOSC & _CPD_OFF & _LVP_OFF & _BOREN_OFF
__CONFIG _CONFIG2, _WRT_OFF
org 0x00
BCF STATUS,RP1
BSF STATUS,RP0
CLRF TRISB
CONTA1 equ 0x0C
CONTA2 equ 0x0D
CONTA3 equ 0x0E
INICIO
MOVLW b'00001110'
MOVWF PORTB
CALL RETARDO
MOVLW b'00000110'
MOVWF PORTB

11

CALL RETARDO
MOVLW b'00010010'
MOVWF PORTB
CALL RETARDO
MOVLW b'00001000'
MOVWF PORTB
CALL RETARDO
MOVLW b'00101111'
MOVWF PORTB
CALL RETARDO
MOVLW b'00001000'
MOVWF PORTB
CALL RETARDO
MOVLW b'00000010'
MOVWF PORTB
CALL RETARDO
MOVLW b'01000000'
MOVWF PORTB
CALL RETARDO
MOVLW b'00101011'
MOVWF PORTB
CALL RETARDO
GOTO INICIO
RETARDO
MOVLW .200
MOVWF CONTA1
MOVLW .200
MOVWF CONTA2
MOVLW .255
MOVWF CONTA3
DECFSZ CONTA3
GOTO $-1
DECFSZ CONTA2
GOTO $-5

12

DECFSZ CONTA1
GOTO $-9
RETURN
end
24. Despus de escribir y compilar correctamente nuestro cdigo ahora realizamos las
siguientes conexiones, sin olvidar conectar los pines de polarizacin del PIC16F887 y
conectando el segmento a del display al pin 33 del PIC, el segmento b al pin 34, y
as sucesivamente hasta llegar al segmento g en el pin 39.

25. Despus de realizar las conexiones nuestro circuito deber funcionar


correctamente.

13

S-ar putea să vă placă și