Bueno como os dije en la entrada anterior, hoy vamos a hacer nuestro primer programa para un microcontrolador. Puesto que el compilador que vamos a utilizar es C18, el programa va a estar diseñado para un microcontrolador de la gama 18F. El compilador lo podeis descargar gratuitamente desde la página oficial de Microchip. Es importante deciros que el C18 no es un programa por si mismo, sino que es un complemento a MPLAB, que también podéis descargar gratuitamente desde la web de Microchip. Para que no os d eproblemas de instalacion, primero debeis instalar MPLAB y posteriormente C18.
Una vez instalados los dos programas, podemos iniciar MPLAB, y nos saldra una ventana como esta:
Ventana Principal MPLAB v8.41 |
Una vez ahi, le damos a Project > Project Wizard, y vamos siguiendo los pasos. Los más importantes son la elección del microcontrolador y la eleccion del lenguaje de programación que será MPLAB C18. Los otros pasos son los de poner nombre al proyecto y seleccionar su ubicación. Una vez hecho esto debemos decirle al prohgrama en que lugar puede encontrar las librerias, el linker y los includes. Para ello vamos Project > Build Project > Options. Ahi en el desplegable de arriba en primer lugar seleccionamos Include Search Path, le damos a new, y seleccionamos la carpeta C:\MCC18\h. Volviendo al desplegable seleccionamos Library search path, y ahi seleccionamos la carpeta C:\MCC18\lib. Por ultimo volviendo al desplegable seleccionamos la opcion Linker-script search path y ahi la ruta cambia a esta C:\MCC18\bin\LKR. Una vez hecho esto ya estamos proparados para empezar a hacer nuestro "Hola Mundo".
Para ello creamos un nuevo archivo desde File > New, y lo guardamos con el nombre Hola Mundo.c. A continuación escribimos el codigo necesario para el programa. he de deciros que se da por supuesto que vosotros sabeis programar en C, que entendeis la estructura del programa, y que no soys nuevos en los microcontroladores, de todas formas los programas estaran bastante comentados para que sean fáciles de entender. En cuanto a instrucciones especiales de C18 os las iré explicando. El código para nuestro Hola mundo es el siguiente.
-----------------------------------------------------------------
#include <p18f2550.h>
#include <delays.h>
//#####Declaramos las configuraciones del PIC
#pragma config WDT=OFF //WatchDog desactivado
#pragma config FOSC=HS //Oscilador de alta velocidad
#pragma config DEBUG=OFF //Depurador desactivado
#pragma config LVP=OFF //Bajo voltaje de programacion desactivado
#pragma config MCLRE=OFF //Master Clear Reset Desactivado
void main (void){
char b; //variable que hace las funciones de memoria
TRISA=0x00; //Declaramos el puerto A como salida
PORTA=0x01; //Inicializamos el puerto A a 0x01
b=0; //Inicializamos la variable b a 0
while(1){ //bicle infinito
if (b==0){
PORTA=0x01; //si b es igual a 0, el puerto a es igual a 1
b=1; //cambiamos el valor de la b
}
else{
PORTA=0x02; //si b es igual a 1, el puerto es igual a 2
b=0; //cambiamos el valor de b
}
Delay10KTCYx(250); //hacemos un retardo de 2500000 ciclos de reloj
}
}
-----------------------------------------------------------------
Como podéis ver el código que hemos creado es bastante sencillo, y su funcionamiento también lo es. El resultado que obtendremos si programamos un microcontrolador con este código sera que cada medio segundo se irán alternando 2 leds conectados a los pines 0 y 1 del puerto A. La temporización del medio segundo la hacemos con la librería delays.h que explicaré en otra ocasion.
Como ayuda a la programación en C18 que voy a ir explicando poco a poco, existe un libro escrito por suky que trata sobre este compilador, y sus explicaciones comienzan casi desde 0. El libro lo podeis descargar desde aquí. De todas formas en internet podéis descargar bastantes (no demasiados) manuales sobre C18. Otra fuente de saber importante es, desde hace poco, el foro de Neoteo, donde se esta empezando a tratar el tema de C18. Espero que os guste el primer programa que os he preparado.
Un saludo
No hay comentarios:
Publicar un comentario