MPLAB X & C18: Encender y apagar un LED con un botón en el PIC18F4620

Seguimos con las publicaciones en C18, en ejemplos anteriores hemos visto la manera de manipular un puerto como salida ahora toca el turno de ver como se manipula un pin como salida, para ello tenemos un botón conecto al pin RE0 con su resistencia de pull-down también se ha colocado un LED con su debida resistencia en el pin RE1 y se agrego una resistencia a +5V en el pin MCLR par que el circuito funcione correctamente, así queda el circuito que utilizaremos:


Lo que hará el circuito será encender o apagar el LED cada que se presione el botón. Para el código tenemos dos archivos el “Config_FusesPIC.h” y el “main.c”, como ya sabemos en el primero tenemos la configuración de todos los FUSES del PIC, el segundo es el archivo donde esta todo el código para que el circuito trabaje adecuadamente. Es importante recordar que se ocupara el oscilador interno configurado a 4MHz.

La configuración de los FUSES queda de la siguiente manera:
Ahora nuestro código en el archivo “main.c” nos queda de la siguiente forma:
Parte del código ya se conoce por que se ha utilizado en ejemplos anteriores lo nuevo en este ejemplo es el uso de etiquetas. Tanto para referirse a un PORT como a un TRIS, el uso de etiquetas facilita el acceso a dichos pines y el código se ve mucho mejor. Para referirse a los pines Reo y RE1 se tiene lo siguiente:

#define BUTTON PORTEbits.RE0
#define BUTTON_TRIS TRISEbits.RE0
#define LED_STATUS PORTEbits.RE1
#define LED_STATUS_TRIS TRISEbits.RE1

Después se configura el oscilador interno, se dice que van a ser entradas digitales y se inicializan los puertos usando las etiquetas. Ahora dentro del while tenemos un simple ejemplo en donde se revisa el estado del pulsador, agregamos un pequeño retardo para evitar rebotes mecánicos de los pulsadores, después tenemos la instrucción LED_STATUS^=1; lo que hace es intercambiar el estado del pin, por ejemplo para la primera vez que se presione el botón el LED encenderá, si el botón se vuelve a presionar el LED se apagara.

Descargas:
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.

Publicar un comentario

0 Comentarios