19/11/2016
MPLAB XC8 es un compilador C de Microchip optimizado para microcontroladores PIC de 8 bits. Integra perfectamente con el entorno de desarrollo integrado (IDE) MPLAB X, ofreciendo una solución completa para el desarrollo de firmware. Este artículo te guiará paso a paso en el proceso de configuración, compilación y programación utilizando estas herramientas, enfocándonos en las consultas más habituales.

- Instalación y Configuración de MPLAB X e XC8
- Creación de un Nuevo Proyecto en MPLAB X
- Configuración del Enlazador para Bootloader (Importante)
- Creación y Edición del Archivo Fuente (main.c)
- Compilación del Código
- Solución de Problemas y Consultas Habituales
- Recursos Adicionales
- Tabla Comparativa de Herramientas de Desarrollo
- Consultas Habituales sobre Librería xc.h
Instalación y Configuración de MPLAB X e XC8
Antes de empezar, necesitarás descargar e instalar las últimas versiones de MPLAB X IDE y XC8. Ambos están disponibles gratuitamente desde la página web de Microchip. El proceso de instalación es bastante intuitivo y suele ser similar en Windows, macOS y Linux. Una vez instalados, abre MPLAB X IDE.
Creación de un Nuevo Proyecto en MPLAB X
- En el menú Archivo , selecciona Nuevo Proyecto .
- En el asistente de nuevo proyecto, selecciona la categoría Microchip Embedded y luego Standalone Project . Haz clic en Siguiente .
- Selecciona el microcontrolador correcto. Por ejemplo, PIC18F25K50 o PIC18F45K50 . Haz clic en Siguiente .
- En la pantalla Seleccionar herramienta , puedes elegir PICkit 3 u otra herramienta de programación. Sin embargo, en este tutorial no utilizaremos MPLAB X para cargar el programa directamente en la placa. Selecciona XC8 como compilador.
- Asigna un nombre a tu proyecto (ej: p-star1 ) y selecciona la carpeta de destino. Haz clic en Finalizar .
Configuración del Enlazador para Bootloader (Importante)
Para utilizar correctamente un bootloader, es crucial configurar las opciones del enlazador. El bootloader suele ocupar una parte de la memoria flash. En este caso, se asume que ocupa los primeros 8KB.
- En el menú Archivo , selecciona Propiedades del Proyecto .
- Navega a la categoría Enlazador XC8 y selecciona la subcategoría Opciones adicionales .
- En el cuadro Codeoffset , introduce 0x2000 (81024 en hexadecimal). Esto indica que el código debe comenzar a partir de la dirección 0x2000.
- Haz clic en Aceptar .
Creación y Edición del Archivo Fuente (main.c)
- Localiza el panel Proyectos (si no está visible, ve a Ventana y selecciona Proyectos ).
- Haz clic en el signo + junto a Archivos Fuente para expandirlo.
- Haz clic con el botón derecho en Archivos Fuente , selecciona Nuevo y luego Archivo Fuente C...
- Nombra el archivo (ej: main.c ) y haz clic en Finalizar .
Ahora, copia y pega el siguiente código en main.c :
#include <xc.h>#define _XTAL_FREQ 48000000#define LED_GREEN(v) { TRISB7 = !(v); }#define LED_YELLOW(v) { TRISB6 = !(v); }#define LED_RED(v) { TRISC6 = !(v); }void main() { // Set up the LEDs LATB7 = 1; LATB6 = 1; LATC6 = 0; / Enable Timer 0 as a 16-bit timer with 1:256 prescaler: since the instruction speed is 12 MHz, this overflows about every 4 seconds. / T0CON = 0b10000111; while(1) { TMR0L; // trigger an update of TMR0H // Blink the green LED with a period of 4 s LED_GREEN(TMR0H >> 7 & 1); // Blink the yellow LED with a period of 0.7 s LED_YELLOW(TMR0H >> 6 & 1); // Blink the red LED with a period of 0.35 s LED_RED(TMR0H >> 5 & 1); }}Compilación del Código
Para compilar el código, ve al menú Producción y selecciona Construir Proyecto Principal. El panel de Salida mostrará el resultado de la compilación. Es normal ver advertencias como "warning: (1311) missing configuration setting for config word 0x300000, using default". Esto se debe a que los bits de configuración del microcontrolador suelen estar predefinidos en fábrica. La línea "Loading code from" indica la ruta del archivo HEX generado, necesario para cargar el programa en el microcontrolador.
Solución de Problemas y Consultas Habituales
Errores de Compilación
Los errores de compilación suelen indicar problemas en el código fuente. Revisar cuidadosamente la sintaxis, las definiciones de variables y las funciones utilizadas. El panel de salida de MPLAB X proporciona información detallada sobre el tipo y la ubicación del error.
Advertencias del Compilador
Las advertencias, a diferencia de los errores, no impiden la compilación, pero pueden señalar problemas potenciales en el código. Se recomienda prestar atención a estas advertencias y corregirlas en la medida de lo posible para mejorar la calidad y la estabilidad del programa.

Problemas de Programación
Si el programa no se carga correctamente o no funciona como se espera, verifica la configuración del programador, la conexión con el microcontrolador y las configuraciones del proyecto en MPLAB X. Consultar la documentación de MPLAB X y XC8 puede ser de gran ayuda.
Recursos Adicionales
- Hoja de datos del PIC18F25K50/PIC18F45K50: Contiene información detallada sobre los periféricos y registros del microcontrolador.
- Documentación de MPLAB X: Se encuentra en el menú Ayuda de MPLAB X y en el directorio "docs" de la instalación.
- Documentación de XC8: Se encuentra en el directorio "docs" de la instalación de XC8 .
- Foros de Microchip y Pololu: Comunidades online donde puedes encontrar ayuda y compartir experiencias con otros usuarios.
Tabla Comparativa de Herramientas de Desarrollo
Si bien este tutorial se centra en MPLAB XC8 y MPLAB X, existen otras herramientas para desarrollar firmware para PIC microcontroladores. A continuación, una tabla comparativa:
| Herramienta | Compilador | IDE | Sistema Operativo | Costo |
|---|---|---|---|---|
| MPLAB XC8 | XC8 | MPLAB X | Windows, macOS, Linux | Gratuito |
| (Otra herramienta 1) | (Compilador) | (IDE) | (SO) | (Costo) |
| (Otra herramienta 2) | (Compilador) | (IDE) | (SO) | (Costo) |
Recuerda que esta tabla es una muestra y puede ser ampliada con otras herramientas disponibles.
Consultas Habituales sobre Librería xc.h
La librería xc.h es crucial para el desarrollo en XC8. Proporciona definiciones y macros para acceder a los registros del microcontrolador. Algunas consultas habituales incluyen:

- ¿Qué contiene la librería xc.h? Define registros, bits y constantes específicas para el microcontrolador seleccionado en el proyecto.
- ¿Cómo incluir la librería xc.h? Se incluye con la directiva
#include <xc.h>al comienzo del archivo fuente. - ¿Qué pasa si no incluyo xc.h? No podrás acceder a los registros del microcontrolador, haciendo imposible el control de sus periféricos.
- ¿Existe una librería xc.h para cada microcontrolador? Sí, la librería xc.h es específica para el microcontrolador que se define en la configuración del proyecto.
Este artículo proporciona una base sólida para comenzar a trabajar con MPLAB XC8. Recuerda consultar la documentación oficial y los foros para obtener información más detallada y resolver dudas específicas.
Si quieres conocer otros artículos parecidos a Mplab xc8 para principiantes puedes visitar la categoría Libros y Librerías.
