En la práctica anterior aprendimos a utilizar el el led de Miuva 18 así como enviar a un puerto un “0” o un “1” lógico, en esta ocasión utilizaremos un push button y aprenderemos a leer el valor del mismo para realizar una acción, para esta práctica será encender un LED.
El pulsador lo conectaremos en el pin C0, 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 del programa
#include <18F46K22.h> // la librería del PIC #fuses HSM,NOWDT,PUT,BROWNOUT, MCLR,NOLVP,NOXINST,NOWRT,NOPLLEN #use delay(clock = 12MHz) //Seleccionamos la frecuencia de reloj de 12MHz void main(){ set_tris_b(0x00); set_tris_C(0x01); while(true){ if (input_state(PIN_C0)){ output_low(PIN_B1); delay_ms(100); } else{ output_high(PIN_B1); } } }
Funcionamiento