Para programar microcontroladores necesitamos un hardware y un software que pueda programar nuestro modelo de microcontrolador. Explicaremos primero el diseño del hardware con el circuito programador de PICs que describimos en ésta página, y después aprenderemos a utilizar un software especial de programación de microcontroladores que funciona a la perfección con el programador que os proponemos.
Aquí hemos hecho el diseño del esquema eléctrico y la placa de circuito impreso con el programa de diseño "Eagle", los puedes descargar y adaptar a tu gusto.
Con este circuito se pueden programar pics de 8, 14, 18, 28 y 40 pines. Y también Eeproms tipo 24C.. y 24LC.. En su segunda revisión, se han ampliado las prestaciones del programador ampliando los modelos de microcontroladores a programar.
La relación calidad precio es inmejorable, ya que por muy poco dinero podemos programar una gran cantidad de modelos de microcontroladores.
El programador se conecta al puerto serie de ordenador, más adelante veremos el modelo exacto que seleccionaremos en el software para programar los microcontroladores con nuestro circuito.
En la siguiente tabla podemos ver los modelos de microcontroladores que podemos programar. En todos los modelos de PICs, el programador funciona tanto con las distintas versiones de cada modelo (-P, -A, -B, -JW), como con las versiones de bajo consumo (16LF y 18LF). Estos modelos al ser redundante no están incluidos en la tabla.
El esquema eléctrico es de lo más sencillo.
Si vais a utilizar muy a menudo el programador, os resultará útil colocar un zócalo ZIF (zócalo de fuerza de inserción nula) en los zócalos destinados a la colocación del PIC, de esta manera podemos colocar el microcontrolador sin ningún esfuerzo y sin que sufran las conexiones del programador ni tampoco los pines del PIC.
Zócalos ZIF, zócalo de fuerza de inserción nula.
El diseño de la placa del circuito impreso. En la parte superior está la conexión del puerto RS-232, para conectarlo al ordenador.
El esquema eléctrico y el diseño de la placa del circuito impreso han de estar en la misma carpeta y llamarse igual, sólo cambia la extensión .sch para el esquema y .brd para la placa, de esta manera son reconocidos y asociados por el Eagle.
Una foto de nuestro programador de PICs.
El programador con un zócalo ZIF de 40 pines.
El programador con un zócalo ZIF de 28 pines.
En la siguiente tabla podemos ver las distintas posiciones en las que debemos colocar el PIC dependiendo del número de pines.
Ahora pasamos a describir el software necesario para programar los microcontroladores.
Después de probar varios programas de grabación de microcontroladores, el software que más nos ha convencido ha sido el "WinPic800".
Es un software libre, muy sencillo de manejar, soporta muchos programadores, está traducido a muchos idiomas, y lo mejor de todo, no falla.
Lo descargamos en esta página y elegimos la última versión. Hacemos doble clic sobre el ejecutable y elegimos el idioma, damos a "Siguiente".
Nos advierte donde se instalará el programa, si queremos cambiar la ruta podemos hacerlo, lo vamos a dejar donde está, clic en "Iniciar".
Si se instaló correctamente aparecerá la siguiente pantalla, pinchamos en "Aceptar".
La siguiente ventana nos indica si queremos que los accesos directos se copien en el escritorio, si queremos que se copien aceptamos, de lo contrario desmarcamos la casilla y aceptamos.
Lo siguiente que hará el programa será la instalación de los drivers, le damos a "Siguiente".
La instalación se completó correctamente, y aparecen marcadas las casillas de los iconos de la parte superior izquierda.
Damos al "OK" y termina la instalación. Si buscamos en nuestro PC el administrador de dispositivos, vemos que se han instalado dos nuevos, Hardware WinPic800 (Ports IO Service) y Jungo (WinDriver).
Ahora abrimos el programa y lo primero es seleccionar el hardware adecuado, para ello nos vamos a "Configuración, hardware".
Elegimos JDM Programmer, que es el hardware que tenemos que seleccionar para que podamos programar microcontroladores con nuestro circuito, clic en "Confirmar cambios".
Vamos a comprobar si la comunicación de nuestro circuito con el software es correcta, para ello nos vamos a "Dispositivo, Test de hardware".
Si todo está correcto nos aparece la siguiente ventana confirmando que está todo OK: "Abriendo COM1, Hardware OK". Clic en "Conforme".
Antes de abrir el .hex debemos seleccionar el Pic, nos vamos a las ventanitas de selección del Pic, situadas en la parte superior derecha, y en la primera elegimos 16F, y en la segunda el modelo de 16F, concretamente el 16F873A.
Ahora el modelo.
Ahora cargamos el programa .hex, para ello clic en la carpeta abrir.
Elegimos el código .hex, en este caso "reloj_calendario_alarma_termometro.hex", y el código se abre en la ventana principal del programa. Una vez colocado el Pic en su sitio correspondiente en el zócalo del programador, pinchamos en "programar todo".
En la siguiente ventana veremos una barra en rojo con el progreso de la programación. Si todo va bien, al final del todo la barra roja pasará a ser verde, lo que nos indica que la programación ha sido correcta. Clic en conforme, sacamos el pic del programador y... ¡Listo para funcionar!
El programa tiene multitud de opciones de configuración en las que no vamos a entrar.