TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: johanchala en 02 de Mayo de 2012, 13:01:12
-
Muy buenos días,
resulta que estoy programando con el pic18F4550 y quiero que con un pulsador conectado al pin A0 pueda encender un LED conectado al pin B0 y con ese mismo pulsador pueda apagar el LED.
He intentado todas mis ideas pero no resulta :(.
Agradecería alguien que pudiera dar una idea de como programar el PIC para lo que necesito, muchas gracias.
-
en que lenguaje programas, que llevas hecho, para poderte ayudar
-
Estoy programando en el PIC-C (CCS)... y esta es mi ultima idea, resulta pero tiene el problema que talvez ninguna de las dos condiciones se cumpla:
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC);
OUTPUT_B(0x00);
OUTPUT_D(0x00);
int bandera =0;
int pin_check =0;
while(1){
pin_check = input_change_a();
while(pin_check ==1 && bandera == 0 && input(pin_a0)){
output_high(pin_d0);
bandera =1;
}
delay_ms(2000);
while(pin_check ==0 && bandera == 1 && input(pin_a0)){
output_low(pin_d0);
bandera =0;
}
delay_ms(2000);
}
}
-
creo que lo mas facil seria usar la funcion para hacer conmutar el led.
algo asi:
if(input(pin_a0))
{
output_toggle(pin_d0);
while(input(pin_a0));
}
-
heyyy muchas gracias rivale, estaba buscando precisamente una función que hiciera eso, yo sabia que debía existir una, hombre te agradezco, muchas gracias.