TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: EDJMM9 en 04 de Agosto de 2012, 00:31:57
-
hola les agradeceria enormemente la ayuda soy nuevo en esto de los pic´s y actualmente estoy trabajando en un sistemade control de un led on off osea al presionar y soltar un boton conectado al (pin_a1) el led que esta en el (pin_b0) enciende quedando encendido y se apaga cuando vuelva a presionar el boton me refiero a un "interruptor digital on of con un boton "
//en pic c compiler//
esto es lo que llevo hasta ahora;
void main()
{
set_tris_a(0b11111111);
set_tris_b(0b00000000);
while(true){
if(input(pin_A1)==0)
output_low(LED);
if(input(pin_A1)==1)
output_high(LED);
}
}
lo pruebo en proteus y al presionar el boton el led enciendo pero cuando lo suelto se apaga y en lealidad lo que quiero es que se quede encendido . y apagarlo presionando el boton otra vez
-
Se apaga porque así lo programas :?
if(input(pin_A1)==0)
output_low(LED);
Si quieres que cambie de estado al presionarlo haría:
if(input(pin_A1)==1){
delay_ms(30);
if(input(pin_A1)==1){
output_toggle(LED);
while(input(pin_A1)==1);
}
}
-
gracias hermano voy a probar :D
es q tampoco he encontrado guias para el pic c compiler y solo he aprendido poco viendo algunos videos
-
@Suky muchas gracias era lo que buscaba funciona a la perfeccion , ahora seguire leyendo a ver si aprendo un poco mas este lenguaje
-
Buenas yo hice ese ejemplo pero hacer con dos botones y dos led individualmente :(
-
Necesitas repetir lo mismo 2 vecs pero cambiando que boton preguntas y que led conmutas.
while(true) {
if(input(pin_A1)){
delay_ms(30);
output_toggle(LED1);
while(input(pin_A1));
}
if(input(pin_A2)){
delay_ms(30);
output_toggle(LED2);
while(input(pin_A2));
}
}