Este código lo compilo y sin ningún problema pero a la hora de simularlo en proteus sólo funciona un botón y los demás no hacen nada, no sé que falla.
Aquí les dejo el código a ver si pueden ayudarme
Aquí les dejo el código a ver si pueden ayudarme
Código:
#use standard_io(b)
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// TODO: USER CODE!!
int i;
set_tris_a(011111111);
while(true)
if(input(pin_a1)==1){
for(i=0;i<10;i++)
{
output_high(pin_b0);
delay_ms(100);
output_high(pin_b1);
delay_ms(100);
output_high(pin_b2);
delay_ms(100);
output_high(pin_b3);
delay_ms(100);
output_low(pin_b3);
delay_ms(100);
output_low(pin_b2);
delay_ms(100);
output_low(pin_b1);
delay_ms(100);
output_low(pin_b0);
delay_ms(100);
output_high(pin_b0);
delay_ms(100);
output_high(pin_b1);
delay_ms(100);
output_high(pin_b2);
delay_ms(100);
output_low(pin_b2);
delay_ms(100);
output_low(pin_b1);
delay_ms(100);
output_low(pin_b0);
delay_ms(100);
output_high(pin_b0);
delay_ms(100);
output_low(pin_b0);
delay_ms(100);
output_high(pin_b0);
delay_ms(100);
output_high(pin_b1);
delay_ms(100);
output_high(pin_b2);
delay_ms(100);
output_high(pin_b3);
delay_ms(100);
output_low(pin_b3);
delay_ms(100);
output_low(pin_b2);
delay_ms(100);
output_low(pin_b1);
delay_ms(100);
output_low(pin_b0);
delay_ms(100);
}
}
if(input(pin_a2)==0){
output_low(pin_b4);
}
if(input(pin_a2)==1){
output_high(pin_b4);
}
if(input(pin_a3)==0){
output_low(pin_b5);
}
if(input(pin_a3)==1){
output_high(pin_b5);
}
if((input(pin_a1)==1)&&(input(pin_a2)==1)){
output_high(pin_b0);
output_high(pin_b4);
delay_ms(15000);
if((input(pin_a1)==0)&&(input(pin_a2)==0)){
output_low(pin_b0);
output_low(pin_b1);
delay_ms(500);
}
}
if((input(pin_a3)==1)&&(input(pin_a4)==1)){
output_high(pin_b0);
output_high(pin_b1);
output_high(pin_b5);
delay_ms(20000);
if((input(pin_a3)==0)&&(input(pin_a4)==0)){
output_low(pin_b0);
output_low(pin_b1);
output_low(pin_b5);
}
}
if((input(pin_a2)==1)&&(input(pin_a4)==1)){
output_high(pin_b4);
delay_ms(5000);
output_low(pin_b4);
delay_ms(3000);
output_high(pin_b5);
delay_ms(4000);
if((input(pin_a3)==0)&&(input(pin_a4)==0)){
output_low(pin_b4);
output_low(pin_b5);
}
}
}
Última edición por un moderador: