Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN
El presente documento tutorial pretende explicarle a los aprendices cmo crear un proyecto
utilizando el entorno de programacin MPLAB X y el compilador XC8 como herramienta de
programacin en lenguaje C para los microcontroladores PIC18F4550, utilizando el bootloader
CDC, el cual se encuentra preinstalado en los microcontroladores.
En la primera parte de este documento se describen los pasos para crear un proyecto, continua
con la modificacin del vector de programa para el bootloader, sigue con la explicacin de la
compilacin y termina con el procedimiento para descargar el programa al microcontrolador.
En este documento se presenta un ejemplo de un programa que es un contador binario
ascendente y descendente utilizando el puerto D como salida y el RA0 como entrada.
Previamente se debe haber instalado el driver y el programa CCS en el computador para continuar
con el proceso.
Al iniciar se lanza el siguiente pantallazo
En la siguiente ventana se van a escoger las opciones Microchip Embedded / Standalone Project,
pulsando luego la tecla NEXT como se muestra a continuacin:
Paso 1
Paso 2
Paso 3
Paso 4
Paso 5
Paso 7
Paso 8
Paso 9
Paso 10
Paso 11
En ese momento se crean las carpetas que se van a utilizar en el proyecto, en la parte izquierda se
observa Projects, que es el rbol de carpetas del proyecto; hay que crear un archivo donde se va a
guardar el programa que se va digitar, para hacerlo se debe dar clic derecho sobre la carpeta
SOURCE FILES / NEW / C SOURCE FILE...
Paso 12
Paso 13
Paso 14
Paso 16
Se abre una pgina en blanco. Para realizar un programa de prueba, se va a digitar el siguiente
cdigo:
//declaracin de libreras
#include <xc.h>
//Bits de configuracin de fusibles
#pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2
#pragma config FOSC = HS, FCMEN = OFF, IESO = OFF
#pragma config PWRT = OFF, BOR = OFF, VREGEN = OFF
#pragma config WDT = OFF, WDTPS = 32768
#pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = OFF
#pragma config STVREN = ON, LVP = OFF, ICPRT = OFF, XINST = OFF
#define _XTAL_FREQ 20000000 // Configuracin del cristal: 20Mhz
//Declaracin de variables globales
int contador;
//declaracin de funciones
void retardo(int tiempo);
//Programa
void retardo (int tiempo)
{//Funcin que realiza el retardo en milisegundos. Esta funcin para todo el programa
//Declaracin de variables locales:
int i;
//Ciclo de repeticin for, donde se realiza retardos de 1 ms tantas veces como
//la variable tiempo diga.
for(i=1;i<=tiempo;i++)
{
__delay_ms(1);
}
}
void main()
{
int j;
//Funcin principal, siempre se ejecuta al iniciar el programa.
//Configuracin del microcontrolador.
//Se utiliza 0 para configurar como salida y 1 como entrada.
TRISA=0;
ADCON1 =0X0F;
TRISD=0X00; // Configura el puerto B como salida
contador=0; //Se inicializa la variable contador en 0
/*
* El while es un ciclo de repeticin que ejecuta las instrucciones que estan entre { }
* mientras que la condicin sea verdadera, que en este caso
* En este caso, el while est como un bucle infinito, porque tiene una condicin que siempre va a
* ser verdadera
*/
while(1)
{
//Pregunta si la entrada est activa para incrementar la variable contador
if(PORTAbits.RA0==1)
{
contador++; //incrementa en 1 la variable contador
}
//Pregunta si la entrada est inactiva para decrementar la variable contador
if(PORTAbits.RA0==0)
{
contador--; //decrementa en 1 la variable contador
}
LATD=contador; //enva al puerto D el valor de la variable contador.
retardo(200); //realiza retardo en milisegundos
}
}
Para poder utilizar el Bootloader es necesario cambiar el vector de inicio del programa como se
muestra a continuacin:
Paso 17:
Abrir
propiedades del
proyecto
Se abrir una ventana en la que se puede configurar algunas caractersticas del proyecto, en este
caso se debe ir a la opcin XC8 linker / Additional Options /Codeoffset e ingresar el dato 0x1800.
Paso 18:
Opcin
Additional
options
Selecciona la
opcin XC8 linker
Paso 20:
Se coloca el valor
0x1800
Paso 21
Compilacin
La compilacin consiste en la traduccin del cdigo digitado por el programador a cdigo de
mquina, similiar a este:
:04000000C9EF3FF015
:107F9200076A066A0001CEEF3FF0000E956E000EF2
:107FA200076E000E066E80A002D0064A072A80B035
:107FB20003D00606D8A0070606C08CFF000E026E8C
:107FC200C80E016EE6EC3FF0EED7000E056E010E14
:107FD200046E0AD0070E036E7D0EE82EFED7032E26
:107FE200FCD700F0044A052A0250800A036E0450AE
:0E7FF200015C0550800A0358D8A01200EBD79E
:020000040020DA
:08000000FFFFFFFFFFFFFFFF00
:020000040030CA
:0E000000240C191EFF0181FF0FC00FE00F40FE
:00000001FF
Para este curso, se utilizar el compilador XC8, el cual est disponible en la pgina oficial de
microhip.
Para compilar un proyecto se debe pulsar el botn:
Simulacin de un programa:
Para la simulacin y pruebas de un programa en MPLAB X se debe tener en cuenta que cuenta con
unas herramientas que sirven para realizar diagnstico, tales como monitoreo de variables.
Watches: Sirve para verificar el estado de variables en tiempo real. Para abrir esta ventana se
puede acceder en el men: Window / Debugging / Watches
Se abrir una ventana en la parte inferior, en donde se podrn ingresar los nombres de las
variables:
En el campo <Enter new watch>, se da doble clic y en este caso se va a digitar "contador", como se
muestra a continuacin:
Si se desea agregar campos de visualizacin de datos, basta con dar clic derecho sobre la barra de
categoras y seleccionar las opciones:
Paso 1
Paso 4
El botn UPLOAD FIRMWARE pasa a ser color verde, ah cargamos el archivo .hex compilado:
Paso 5
Paso 6
Paso 7
Paso 7