Una vez explicado ciertos temas antes de comenzar con los ejemplos es momento de realizar una primera prueba o mejor dicho nuestro primer código en C18. Para esto se utilizar un PIC18F4620 con un LED y su debida resistencia conectada al pin RE0 además de un botón 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:
El circuito es el siguiente:
La configuración de los FUSES es la siguiente:
Bueno también utilizaremos la librería “delays.h” así que también se debe de incluir en el proyecto.
Lo primero que haremos es colocar una etiqueta al pin donde colocaremos el LED esto hará más fácil el acceso a él, nosotros lo llamaremos LED_STATUS. Después configuramos el oscilador interno a 4MHz e inicializamos los puertos en cero, se declaran que las entradas y salidas serán digitales, después colocamos el puerto E como salida.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* File: Config_FusesPIC.h | |
* Author: MrChunckuee | |
* Configuración de FUSES del PIC18F4620 | |
* Created on 1 de marzo de 2013, 12:57 AM | |
*/ | |
#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 //Activamos MCLRE | |
#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 */ |
El código es el siguiente:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/******************************************************************************* | |
* | |
* LED INTERMITENTE | |
* | |
******************************************************************************* | |
* FileName: main.c | |
* Processor: PIC18F4620 | |
* Complier: C18 v3.47 | |
* Author: Pedro Sánchez (MrChunckuee) | |
* Blog: http://mrchunckuee.blogspot.com/ | |
* Email: mrchunckuee.psr@gmail.com | |
* Description: Blinking a LED in RE0, MCLR on, INT OSC = 4MHz | |
******************************************************************************* | |
* Rev. Date Comment | |
* v1.00 25/FEB/2013 Creación del firmware | |
******************************************************************************/ | |
#include <p18f4620.h> | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <delays.h> | |
#include "Config_FusesPIC.h"//Configuración de FUSES | |
#define LED_STATUS PORTEbits.RE0 | |
void main(void){ | |
OSCCONbits.IRCF = 0b110; //Configura oscilador interno a 4MHz | |
ADCON1=0xFF; //Entradas y salidas digitales | |
TRISE=0x00; //Puerto E como salida | |
LATE=0; //Limpiamos el puerto E | |
while (1){ | |
LED_STATUS=1;//Encendemos el LED | |
Delay10KTCYx(100);//Retardo de 1 segundo | |
LED_STATUS=0;//Apagamos el LED | |
Delay10KTCYx(100);//Retardo de 1 segundo | |
} | |
} |
Aquí un vídeo del circuito en acción:
Descargas:
Donaciones:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.
Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.
Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.
0 Comentarios