PIC18F4550 & XC8: Uso de entradas y salidas - Encender y apagar un LED usando un boton

Siguiendo con los ejercicios del PIC18F4550 en XC8, toca el turno de aprender a usar las entradas y salidas del microcontrolador, en el ejemplo veremos la forma de leer el estado de un pulsador/boton y activar un LED. Para inciar recomiendo revisar el capitulo 10.0 I/O PORTS del datasheet para comprender a fondo lo que se usa en este ejemplo.

Para inciar, empecemos por comentar algunas cosas que se usaran en este ejemplo.
  • Es necesario declarar _XTAL_FREQ con el valor de la frecuancia a utilizar, en este caso 8MHz.
  • Importante es el uso de los #define con el cual le colocaremos nombres a los pines utilizados, para hacer que nuestro codigo se vea mas facil de comprender y estetico.
  • Para configurar/usar las entradas y salidas se utiliza TRIS, PORT y LAT (este ultimo implementado para los PIC18), para configurar la entrada o la salida se usa TRIS, 1 = entrada y 0 = salida, para leer el estado de un pin o puerto se usa PORT, para cambiar el estado de un pin se usa LAT.
  • Para usar entradas digitales se hace configurado el registro ADCON1, en este caso se usa 0x0F como lo indica en el capitulo sobre el uso del ADC en el datasheet. 

Circuito:
Para demostrar el ejemplo, vamos a utilizar la PIC TRAINER v1.0 ya que esta pensado para el PIC que estamos trabajando, un sencillo boton conectado en RE0 y un par de LEDs en RE1 y RE2.


Código:
El codigo usado para este ejemplo es sencillo, el codigo tiene dos funciones principales MCU_Initilize() e IO_Task(). La primera es para inicar los valores de nuestro microontrolador, se definen entradas y salidas, despues punto inportante configurar las entradas digitales y el ocilador, en la segunda se tiene la rutina para leer el estado del boton, con una sencilla rutina antirrebote, despues simplemente una condicional para encender o pagar el un LED. 

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.

Referencias:

Publicar un comentario

0 Comentarios