M-PROG: Programador de PICs y AVRs
El programador M-PROG es la “Versión mejorada de PICkit 2” ya que es posible programar modelos recientes de microcontroladores PICs, dsPICs, AVRs y memorias seriales.
I. Información
Integra una base ZIF de cero esfuerzo para microcontroladores PICs™ y memorias seriales EEPROM con formato DIP (Dual In Line Package) que a diferencia de todos los adaptadores para programación convencionales ZIF, este cuenta con la gran ventaja de no tener que realizar configuraciones complejas de jumpers para realizar la programación de los diferentes modelos de CI’s, basta con colocar el Microcontrolador o memoria a programar conforme a la serigrafía marcada y este lo detectar de forma automática debido a que cuenta con un sistema electrónico de detección.
También posee un puerto de conexión de pines macho para programar microcontroladores PIC y AVR de forma externa a través de un cable con conector IDC, solo basta con realizar las conexiones conforme a la serigrafía marcada en el conector.
II. Descripción Del Hardware

1. Descripción técnica de M-PROG.
- Conector micro USB.
- Base ZIF solo para la programación de microcontroladores PIC y memorias seriales.
- Indicadores para la colocación de CIs.
- Puerto de comunicación ICSP para programación externa compatible con PICs, AVRs y memorias seriales.
- LEDs indicadores de estado.
III. Especificaciones técnicas
- Voltaje de operación: 5 V.
- Puerto micro USB.
- Software compatible: M-PROG en español, PICkit 2, MPLAB 8 IDE, MPLAB X IDE (línea de comandos).
- Compatibilidad en base ZIF:
- Familias de PICs soportados: 10F, 12F, 16F y 18F.
- Numero de pines para PICs soportados: 8, 14, 18, 20, 28 y 40.
- Familias de memorias EEPROM soportadas: 93LC, 11LC y 24LC.
- Lista de CI’s soportados en el siguiente link.
IV. Modo De Programación y Funcionamiento
Para la programación y uso del módulo M-PROG es necesario contar con el software M-PROG v1.0, si aún no lo tienes instalado puedes descargarlo en la parte inferior de este manual.

2. Ventana principal
Programador de PICs y memorias seriales
Después de marcar la casilla del apartado PICs y cumplir con los requerimientos da clic en “Iniciar”.
Requerimientos:
- Sistema operativo Windows 7™ o superior.
- Cuenta con 2 modos de uso: Puede programar microcontroladores PIC de 8 bits a través de la base ZIF integrada o a través el puerto ICSP con el cable IDC.

3. Programador-PICs
Una vez iniciado el programa aparecerá la siguiente ventana, deberás tener la conexión del microcontrolador al módulo M-PROG, hecho esto da clic en conectar y entrará a modo programador. En el momento de dar clic en conectar, automáticamente hará la detección del PIC.

4. Ventana de inicio Programador PICs.


5. Modo programador activado.
Nota: Algunos PICs no son compatibles con “Auto-Detect”, si no se detecta el PIC automáticamente entonces se tendrá que detectar manualmente. En el menú superior entramos al apartado “Modo Programación” y clic en “Selección Manual de Dispositivo”.



5-1. Detección del PIC manualmente.
Después en el apartado “Seleccionar Dispositivo” buscamos y damos clic en la familia del PIC.


5-2. Detección del PIC manualmente.
Por último buscamos y seleccionamos el PIC en la sección inferior de “Configuraciones” y en el apartado “Dispositivo”.


5-3. Detección del PIC manualmente.
Una vez detectado el microcontrolador procede a borrarlo, después carga el archivo .hex del código fuente y por último realiza la programación.


6. Microcontrolador detectado.


7. Borrando dispositivo.


8. Cargando archivo Hex.


9. Programación correcta.
Detalles de la ventana
En el menú de la parte superior izquierda, se tiene la opción de “Base ZIF”, en ella podrás ver de manera gráfica la colocación correcta de tu microcontrolador en la base ZIF dependiendo la familia o número de pines.


10. Base ZIF
En la parte superior derecha se tiene el recuadro llamado Memoria de datos EEPROM con el cual podrás observar una vista de la memoria EEPROM de tu microcontrolador. Se visualizan dos casillas donde te permite programar la memoria EEPROM y protegerla.


11. Memoria de datos EEPROM
En la parte inferior derecha se tiene el recuadro llamado Memoria Flash de programa con el cual podrás observar una vista del archivo .hex que has abierto en el software para grabar en el microcontrolador. Se visualizan dos casillas donde te permite programar o proteger. En la parte superior te muestra la dirección del archivo .hex.


12. Memoria flash
En la parte inferior izquierda se tiene el recuadro llamado Configuraciones en el cual podrás observar una vista previa de las diferentes propiedades que se tiene como el Microcontrolador, voltaje, etc.


13. Configuraciones
Arriba del recuadro configuraciones se tiene un recuadro con el cual podrás observar una vista del proceso que se se lleva a cabo para la programación del microcontrolador.












14. Etapas de programación
En la parte superior izquierda se tiene un conjunto de botones que te ayudan con el proceso de programación del microcontrolador. Puedes realizar la conexión para el reconocimiento del dispositivo, abrir el archivo .hex, borrar la programación anteriormente cargada y realizar la programación.


15. Botones de programación
Funciones:
- Conectar – Realiza la conexión con el microcontrolador para detectar el dispositivo a programar.
- Abrir hex – Importa una archivo .hex para programar el dispositivo.
- Programar – Realiza la escritura en la memoria del microcontrolador.
- Borrar – Realiza un borrado del programa anteriormente programado en el microcontrolador.
- Leer – Realiza al lectura de la memoria EEPROM.
- Guardar hex – Exporta un archivo .hex del programa que se encuentra en el microcontrolador.
- Verificar – Realiza la comparación del programa que se encuentra cargado en el microcontrolador con el de la aplicación.
- Verificar Borrado – Realiza la verificación del borrado en el microcontrolador.
Memorias Seriales
Podemos encontrar las diferentes familias de memorias seriales en el apartado de “Seleccionar Dispositivo”.


16. Memorias seriales
Después buscamos el modelo de la memoria a programar, el procedimiento de programación es de la misma forma mencionada en la programación de PICs.


17. Selección de memoria serial
También podemos ver la forma correcta de conectarla en el apartado “Colocación Base ZIF”.


18. Colocación de memoria serial en base ZIF
Programador de AVRs
Después de marcar la casilla del apartado AVRs y cumplir con los requerimientos da clic en “Iniciar”.
Requerimientos:
- Sistema operativo Windows 7™ o superior.
- Conectar el microcontrolador AVR a programar a través del puerto de comunicación para programador externo con el cable IDC.


19. Programador-AVRs
Una vez iniciado el programa aparecerá la siguiente ventana, deberás tener la conexión del microcontrolador al módulo M-PROG, hecho esto selecciona el microcontrolador AVR a programar, también puedes dar sólo clic en detectar.


20. Detectar AVR.
Después de eso en la parte inferior aparecerá el microcontrolador detectado, por último solo carga el archivo y da clic en programar.


21. AVR detectado y listo para programar.
Detalles de la ventana
En la parte superior derecha se tiene el recuadro llamado MCU (-p), en el recuadro se encuentra una pestaña donde podrás seleccionar el microcontrolador, también se encuentra el botón Detectar, que te ayuda a detectar automáticamente el microcontrolador, a un lado del botón se muestra los valores de la memoria EEPROM y Flash.


22. Selección de microcontrolador a programar
En la parte media del lado derecho se tiene el recuadro llamado Fusibles de configuración, en el encontrarás botones para realizar la lectura de los fusible, además cuenta con casillas que te ayudan para activar los fusibles del microcontrolador. Puedes hacer la configuración de los fusibles introduciendo el valor correspondiente a la configuración de tu microcontrolador.


23. Fusibles de configuración
En la parte superior izquierda se tiene el recuadro llamado FLASH, en el recuadro se encuentra una pestaña que te ayuda a realizar la búsqueda del archivo .hex, también en el recuadro podemos encontrar diferentes opciones para realizar con la memoria Flash como: grabar o leer ó verificar después de dar clic en el botón aceptar.


24. Memoria flash de programa
En la parte media del lado izquierdo se tiene el recuadro llamado EEPROM, en el recuadro se encuentra una pestaña que te ayuda a realizar la búsqueda del archivo .epp, también en el recuadro se encuentran diferentes opciones para realizar con la memoria EEPROM como: grabar o leer ó verificar después da clic en el botón aceptar.


25. Memoria EEPROM de datos
En la parte media del lado izquierdo se tiene el recuadro llamado Opciones, en el recuadro se encuentran varias casillas que te ayudan a realizar diferentes opciones como: Forzar, Deshabilitar verificar, Deshabilitar borrado de flash, Borrar flash y EEPROM y No Grabar.


26. Opciones
Funciones:
- Forzar – Forzar al microcontrolador.
- Deshabilitar verificar – Realiza la deshabilitación para verificar el microcontrolador.
- Deshabilitar borrado de flash – Realiza la deshabilitación del borrado de la memoria flash del microcontrolador.
- Borrar Flash y EEPROM – Realiza un borrado del programa anteriormente programado en las memorias del microcontrolador.
- No Grabar – No permite grabar el microcontrolador.
En la parte inferior del lado izquierdo se tiene un recuadro, el cual nos muestra los diferentes comandos que son necesarios para la programación del microcontrolador.

