Vous êtes sur la page 1sur 5

c c


    
 


En la entrega anterior de este tutorial vimos como construir un programa que, una vez
cargado en el microcontrolador, hacia que un LED conectado a un pin del PORTB
encendiese y apagase con una frecuencia de 500 milisegundos. Hoy aprovecharemos ese
mismo ejemplo para ver como compilar el programa BASIC y como utilizar el
WinPIC800 para enviarlo al microcontrolador.

Una vez que hemos escrito el programa en la ventana ³BASIC Compiler´ del PIC
SIMULATOR IDE, debemos compilarlo. Este proceso se encarga de transformar el
código que hemos escrito (un fichero ³.BAS´) en un lenguaje muy parecido al ingles a
una serie de bytes que hace lo mismo pero en un idioma comprensible por el
microcontrolador. Este nuevo fichero tendrá como extensión ³.HEX´.

Para compilar, simplemente utilizamos la opción ³Tools´ --> ³Compile &Assemble´


(F8). Si además queremos que el fichero resultante se cargue en el simulador para poder
estudiarlo sin necesidad de grabarlo en un PIC real, usamos la opción siguiente: ³Tools´
--> ³Compile &Assemble& Load´ (F9). En entregas posteriores del tutorial veremos
como simular nuestros programas.

Si no hemos cometido errores de sintaxis, el compilador creará el fichero .HEX y nos


mostrará el mensaje de la figura 2:

Figura 1: el programa en la ventana Figura 2: el compilador creará el .HEX y


³BASIC Compiler´ nos mostrará este mensaje.

Este mensaje es muy importante, así que explicaremos línea a línea su contenido.

La primera línea solamente nos informa que la compilación tuvo éxito.

La segunda nos dice que tamaño tiene el fichero generado, medido en cantidad de
³palabras´ (words). En el caso de los PICs de la serie 16F cada palabra tiene 14 bits de
largo.

En el tercer renglón tenemos el tamaño total de la memoria del PIC que estemos
utilizando también expresado en ³words´. Esta información, junto con la de la línea
anterior, es útil durante el desarrollo de un programa ya que nos da una idea de
cuantoespacio nos queda disponible para nuestro programa.

La cuarta linea nos informa de la carpeta en donde se guardo el archivo .ASM y el


nombre que tiene, que es el mismo que el del fichero .BAS pero con diferente
extensión. Este fichero es un ³paso intermedio´ que realiza el compilador, pasando
nuestro programa BASIC a ASM, antes de crear el HEX. Los más curiosos pueden
utilizar el contenido del fichero ASM para aprender algo sobre la programación en ese
lenguaje.

En quinto lugar tenemos la carpeta y nombre del fichero LST generado.

La sexta línea nos informa de la ubicación del fichero HEX. Es importante tomar nota
de su nombre y ubicación, ya que es el que deberemos abrir desde WinPIC800 para
enviarlo al PIC. La carpeta en que esta este fichero es la misma en la que estaba
guardado el fichero .BAS que escribimos en primer lugar.

Ya estamos listos para el segundo paso: utilizar WinPIC800 para enviar el programa al
microcontrolador. Vamos a asumir que tanto este programa como el driver del GTP-
USB+ (o el programador que vayamos a utilizar) están correctamente instalados, y que
el programador esta conectado y listo para funcionar.

Lo primero es asegurarnos de que el WinPIC800 este correctamente configurado. Para


ello dispone en el menú principal de la opción ³Configuración´. En ³Hardware´ nos
aseguraremos que el programador elegido sea el nuestro (figura 3). En ³Software´ hay
una serie de solapas y opciones (figura 4) que básicamente configuran los mensajes que
recibiremos (o no) al utilizar el programa. En general, las opciones por defecto
funcionarán correctamente para todos.

Figura 3: Seleccionamos nuestro Figura 4: las opciones por defecto


programador. funcionarán correctamente para todos.

La figura 5 ilustra el paso siguiente: desde las listas que están a la derecha de la ventana
principal del WinPIC800 seleccionamos la familia y modelo del microcontrolador que
vamos a utilizar. Este debe coincidir con el que seleccionamos en el PIC SIMULATOR
IDE, ya que el programa que se generó está especialmente concebido para ese modelo
en particular. Como familia seleccionamos ³PIC 16F´ y como modelo ³16F628A´.
Una vez que hemos hecho esto, WinPIC800 ³sabe´ como deberá enviar los datos al
programador. Otro punto a tener en cuenta en esta etapa del proceso es la posición que
debe ocupar el PIC en el zócalo ZIF del programador. Si tenemos dudas, podemos
utilizar la ayuda incorporada en el programa, mediante la opción marcada con un círculo
rojo en la figura 6. Luego, debemos ir al menú ³Archivo´ --> ³Abrir´ y cargar el fichero
HEX que generamos con el PIC SIMULATOR IDE.

El led bicolor del GTP-USB+ estará en verde si todo esta correctamente instalado, por
lo que podemos proceder a enviar el fichero. Para ello, presionamos el icono ³Grabar
Todo´ que se ve en la figura 7, y en un par de segundos tenemos nuestro PIC grabado.
El mensaje que veremos será el de la figura 8.

Figura 5: seleccionamos la familia y Figura 6: Posición del PIC en el zócalo ZIF.


modelo del microcontrolador.

Figura 7: el icono ³Grabar Todo´. Figura 8: ya tenemos nuestro PIC grabado.


Para probar que todo funciona, tenemos que armar el circuito y alimentarlo con 5V de
corriente continua. Veremos (si todo esta bien) el LED encendiendo y apagando cada
medio segundo. Esto es así por que la corriente que circula por el proviene del pin 9 del
PIC (a través de la resistencia de 220 ohms), y cada vez que el pin se pone en estado
bajo deja de circular por el, apagándolo.
Seguramente la parte mas compleja y que mas tiempo nos ha llevado en esta practica es
la de armar el circuito. El programa se escribe fácilmente, y si hay errores, se puede
corregir sin complicaciones. La etapa de generación del fichero HEX y la grabación del
mismo en el microcontrolador también es muy simple. Seria muy bueno podernos evitar
el trabajo de tener que armar un circuito físico diferente cada vez que realizamos una
práctica, ya que a lo largo de este tutorial realizamos muchas.

La solución a este problema viene de la mano de las denominadas ³placas


entrenadoras´. Estas placas tienen, por lo general, un zócalo para colocar el
microcontrolador, y proveen una serie de ³periféricos´ listos para usar, tales como
pulsadores, LEDs, pantallas LCD, algún buzzer, reles, salidas RS-232, USB y casi todo
lo que podamos imaginar. Por lo general, su precio aumenta junto con sus prestaciones,
y su valor comienza en unos 30 o 40 euros para las simples, hasta varios cientos por las
más completas. Por supuesto, se trata de una buena inversión por que nos ahora tiempo
y dinero empleado en crear prototipos cada vez.

Afortunadamente, los lectores de NeoTeo pueden armar su propia placa entrenadora. De


hecho, hemos publicado dos: una para PICs de 18 pines, y otra para los más grandes, de
40 pines. Estas placas son muy básicas, solo tienen el PIC y 3 o 4 pulsadores y LEDs.
Pero tienen un par de ventajas importantes: su costo es muy bajo, y son totalmente
ampliables mediante módulos, por lo que podemos ir construyéndolos a medida que los
necesitamos, y nos quedan para las prácticas siguientes.

Las prácticas de los capítulos siguientes estarán pensadas como para ser realizadas sobre
estas placas entrenadoras, para ahorrar tiempo. Por supuesto, como también
brindaremos el circuito eléctrico en cada caso, no habrá problemas si quieren seguir
trabajando como hasta ahora.

A continuación, y para terminar por hoy, les muestro como modificar el ejemplo de la
entrega anterior para que funcione sobre la placa entrenadora de 18 pines. La única cosa
que hay que cambiar es el pin utilizado para conectar el LED. En el ejemplo original
usamos un pin del PORTB, pero en la placa entrenadora (si no tenemos ningún modulo
adicional de E/S) solo tenemos LEDs conectados a los pines 4, 5, 6 y 7 del PORTA. Así
que el programa debería utilizar alguno de ellos. Supongamos que nos decidimos por
usar el pin 7 del PORTA (de ahora en más, PORTA.7. El programa modificado
quedaría así:

|  


|  

  


| 
 
|  
 
 

Los cambios efectuados también incluyen la línea 3 (


|   ) ya que
tenemos que indicar que el PORTA.7 se utilizara como salida. La figura 10 muestra
como tenemos que configurar la sección ³Options´ -->³Configuration Bits´ para que el
microcontrolador funcione correctamente en la placa entrenadora. Lo mas importante es
que le estamos indicando que no usaremos cristal para el oscilador, y que esos dos pines
(PORTA.6 y PORTA.7) estarán disponibles como entrada/salida.

La figura 11 muestra el trainer funcionado, con el LED rojo que indica que esta
alimentado, y el verde encendido. El círculo rojo indica la posición que tiene que tener
el jumper en PORTA.7 para que se comporte como salida. Si tienen alguna duda sobre
el entrenador, pueden releer el artículo correspondiente. En el video se ve claramente
como destella el LED.

Con esto damos por terminada la segunda entrega. Les recuerdo que en los foros pueden
plantear sus dudas. Hasta la próxima semana.

Figura 9: El entrenador para PICs de 18 Figura 10: "Configuration bits" en PIC


pines. SIMULATOR IDE.

Figura 11: el trainer funcionado.




Vous aimerez peut-être aussi