You are on page 1of 4

MPLAB X Y C18 LED INTERMITENTE

Una vez explicado ciertos temas antes de comenzar con los ejemplos es momento de realizar una primera prueba o mejor dicho nuestro primer cdigo en C18. Para esto se utilizar un PIC18F4620 con un LED y su debida resistencia conectada al pin RE0 adems de un botn de Reset conectado en el Master Clear del PIC. Para este y otros ejemplos trabajaremos con el oscilador interno des microcontrolador. Recordar que el circuito se alimenta a 5 volts. El circuito es el siguiente:

Recordar que se tiene el archivo Config_FusesPIc.h en donde est la configuracin de los fusibles del PIC y es necesario agregarlo a nuestro proyecto, algo importante de esto es que se debe de configurar el uso del oscilador interno para ello se tiene lo siguiente #pragma config OSC = INTIO67 y tambin el uso del Master Clear con #pragma config MCLRE = ON.

1 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

La configuracin de los FUSES es la siguiente: Config_FusesPIC.h


#ifndef CONFIG_FUSESPIC_H #define CONFIG_FUSESPIC_H #pragma config OSC = INTIO67 //Uso del oscilador interno #pragma config FCMEN = ON #pragma config IESO = OFF #pragma config PWRT = ON #pragma config BOREN = OFF #pragma config WDT = OFF #pragma config MCLRE = ON #pragma config LVP = OFF #pragma config XINST = OFF #pragma config DEBUG = OFF #pragma config CP0 = OFF #pragma config CP1 = OFF #pragma config CP2 = OFF #pragma config CP3 = OFF #pragma config CPB = OFF #pragma config CPD = OFF #pragma config WRT0 = OFF #pragma config WRT1 = OFF #pragma config WRT3 = OFF #pragma config WRTC = OFF #pragma config WRTB = OFF #pragma config WRTD = OFF #pragma config EBTR0 = OFF #pragma config EBTR1 = OFF #pragma config EBTR2 = OFF #pragma config EBTR3 = OFF #pragma config EBTRB = OFF #endif /* CONFIG_FUSESPIC_H */

Bueno tambin utilizaremos la librera delays.h as que tambin se debe de incluir en el proyecto. Lo primero que haremos es colocar una etiqueta al pin donde colocaremos el LED esto har ms fcil el acceso a l, nosotros lo llamaremos LED_STATUS. Despus configuramos el

2 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

oscilador interno a 4MHz e inicializamos los puertos en cero, se declaran que las entradas y salidas sern digitales, despus colocamos el puerto E como salida. El cdigo es el siguiente: main.c
#include <p18f4620.h> #include <stdio.h> #include <stdlib.h> #include <delays.h> #include "Config_FusesPIC.h"//Configuracin de FUSES #define LED_STATUS PORTEbits.RE0// void main(void){ //Configura oscilador interno a 4MHz OSCCONbits.IRCF2=1; OSCCONbits.IRCF1=1; OSCCONbits.IRCF0=0; //Se inicializn los puertos en cero LATA=0; LATB=0; LATC=0; LATD=0; LATE=0; //Entradas y salidas digitales ADCON1=0xFF; //Configuracin de Entradas/Salida TRISE=0x00; while (1){ LED_STATUS=1; Delay10KTCYx(100);//Retardo de 1 segundo LED_STATUS=0; Delay10KTCYx(100);//Retardo de 1 segundo } }

3 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

Despus de configurar e inicializar el PIC tenemos un bucle while y lo que este dentro se ejecutara de manera indefinida. Dentro del bucle lo que hacemos es poner a uno el pin RE0 una demora de un segundo y despus ponerlo a cero vuelve a esperar un segundo y se repite esto hasta que el PIC entre a un Reset o se le quite el voltaje de alimentacin. Recordar que el archivo hexadecimal para gravar al PIC se encuentra en la carpeta del proyecto > dist >default >production.

4 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/