En la práctica anterior aprendimos a utilizar el el led RGB de Miuva así como enviar a un puerto un “0” o un “1” lógico, en esta ocasión utilizaremos el pulsador de propósito general que tiene Miuva y aprenderemos a leer el valor del mismo para realizar una acción, para esta práctica será encender un color del led RGB.
El pulsador de Miuva está ubicado en el pin 0 del puerto C, por lo tanto lo primero que se debe hacer es definir este pin como una entrada, mediante la función set_tris_c().
Para recibir información del estado de un pin se utiliza la siguiente función:
input_state(PIN_C0); //Regresa la información del estado del pin C0
Por lo tanto crearemos un ciclo de condición if en el cual se entrará cuando la función input_state() nos devuelva un “1” lógico.
Con esto podemos crear el siguiente código.
Código para PIC C:
#include <18f4550.h> // la librería del PIC #Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL2, CPUDIV1, VREGEN #use delay (clock=48M) //Seleccionamos la frecuencia de reloj de 48MHz #use standard_io(C) //Preconfiguramos el puerto C #use standard_io(e) //Preconfiguramos el puerto E void main(){ //Inicio de la función principal set_tris_e(0x00); //Configuramos puerto E como salida set_tris_C(0x01); //Configuramos pin C0 como entrada output_e(0x07); //Apagamos el LED RGB while(true){ //Inicia ciclo infinito if (input_state(PIN_C0)){ //Revisamos el estado del PIN_C0 output_low(PIN_E1); //Encender LED delay_ms(100); //Esperamos 100 milisegundos } else{ //Si no se presionó el pulsador output_high(PIN_E1); //Apagar LED } } }
Observa el video demostrativo