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: