bir saniye aralıklarla butona basma sorunu

Başlatan ertuğrul54, 20 Ağustos 2017, 15:44:14

ertuğrul54

merhaba arkadaşlar  aşağıdaki kodda bir sorunum var  butona her bir saniyede basılıyor basılan her saniyedeki butonda animasyon 1 i calıştıracağım    ve  atıyorum 3 veya 4 saniye sonra aynı butona  veya öteki butona basınca  zamanı geciktiremedim sadece aynı animasyonu iki defa oynatabildim ayrıca  birinci ve ikinci butona aynı zamanda basılırsa her sanıye   önce 1. animasyon sonra ikinci animasyon ve üçüncü animasyon sırasıyla çalışıyor  ama iki butona aynı zamanda basılırsa  animasyon 3 ü çalıştıramadım  değerli yardımlarınızı bekliyorum
teşekkürler 



#include <12F683.h>

#fuses   INTRC_IO,MCLR,PROTECT,NOPUT,NOIESO,NOFCMEN
#use   	 delay(clock=4000000)

//#rom 0x7FF = {0X3400}
#define LED1     PIN_A0
#define LED2     PIN_A1
#define LED3     PIN_A2
#define buton1    PIN_A4
#define buton2    PIN_A5

	void animation1(){
	 output_high(LED1);
	 delay_ms(150);
	 output_high(LED2);
	 delay_ms(150);
	 output_high(LED3);
	 delay_ms(150);
	 output_low(LED1);
	 delay_ms(150);
	 output_low(LED2);
	 delay_ms(150);
	 output_low(LED3);
	 delay_ms(150);
	}
	void animation2(){
	 output_high(LED3);
	 delay_ms(150);
	 output_high(LED2);
	 delay_ms(150);
	 output_high(LED1);
	 delay_ms(150);
	 output_low(LED3);
	 delay_ms(150);
	 output_low(LED2);
	 delay_ms(150);
	 output_low(LED1);
	 delay_ms(150);
	}
	void animation3(){
	 output_high(LED1);
	 output_high(LED2);
	 output_high(LED3);
	 delay_ms(100);
	 output_low(LED1);
	 output_low(LED2);
	 output_low(LED3);
	 delay_ms(100);
	}
void main(){
	int i,z,k;
	int1 c;
	while(true){
		if(!input(buton1)&&(!c)){
		for (i=0;i<2;i++)
		animation1();
		
		}
		else{c=0;}
	
		if(!input(buton2)&&(!c)){
		for(z=0;z<2;z++)
		animation2();
		}
		else{c=0;}
					
		if(!input(buton1)&&!input(buton2)&&(!c)){
		for(k=0;k<2;k++)
		animation3();
		}
		else{c=0;}
				
	}
}