nerde hata yapıyorum acaba bi yardım edin

tersoll

Üye
Katılım
25 Nis 2010
Mesajlar
142
Puanları
1
Yaş
39
#include <16f876.h>
#use delay(clock=4000000)










int btscy=0;














void main ()
{

set_tris_a(0xFF);
set_tris_c(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
output_c(0x00);

while(1)
{
if(input(pin_a0))
{
btscy++;
while(input(pin_a0));
}


if(btscy==1)
{
delay_ms(100);
output_high(pin_c0);

}
if(btscy==2)
{
delay_ms(100);
output_high(pin_c1);


}
if(btscy==3)
{
delay_ms(100);
output_high(pin_c2);




}
if(btscy==4)
{
delay_ms(100);
output_high(pin_c3);


}
if(btscy==5)
{
delay_ms(100);
output_high(pin_c4);


}
if(btscy==6)
{
delay_ms(100);
output_high(pin_c5);
}
{
if(btscy==7)
btscy=0;

}

{
if(input(pin_a1))
{

btscy--;
while(input(pin_a1));
}
if(btscy==1)
{
delay_ms(100);
output_low(pin_c5);

}
if(btscy==2)
{
delay_ms(100);
output_low(pin_c4);


}
if(btscy==3)
{
delay_ms(100);
output_low(pin_c3);




}
if(btscy==4)
{
delay_ms(100);
output_low(pin_c2);


}
if(btscy==5)
{
delay_ms(100);
output_low(pin_c1);


}
if(btscy==6)
{
delay_ms(100);
output_low(pin_c0);


}


{
if(btscy==7)
btscy=0;

}







































}




}


}






iki butonla ileri geri ledleri yakıcam ama olmuyor nerde hata yapıyorum bi yardımcı olursanız sevinirim üstatlar
 
bir örnek verebilirmisiniz hangileri acaba
 
hocam bunu yapmam gerek bir yardım edermisiniz
 
#include <16f876.h>
#use delay(clock=4000000)
int btscy=0;
void main ()
{
set_tris_a(0xFF);
set_tris_c(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
output_c(0x00);
while(1)
{
if(input(pin_a0))
{
btscy++;
while(input(pin_a0));
}
if(btscy==1)
{
delay_ms(100);
output_high(pin_c0);
}
if(btscy==2)
{
delay_ms(100);
output_high(pin_c1);
}
if(btscy==3)
{
delay_ms(100);
output_high(pin_c2);
}
if(btscy==4)
{
delay_ms(100);
output_high(pin_c3);
}
if(btscy==5)
{
delay_ms(100);
output_high(pin_c4);
}
if(btscy==6)
{
delay_ms(100);
output_high(pin_c5);
}
if(btscy==7)
{
btscy=0;
}
if(input(pin_a1))
{
btscy--;
while(input(pin_a1));
}
if(btscy==1)
{
delay_ms(100);
output_low(pin_c5);
}
if(btscy==2)
{
delay_ms(100);
output_low(pin_c4);
}
if(btscy==3)
{
delay_ms(100);
output_low(pin_c3);
}
if(btscy==4)
{
delay_ms(100);
output_low(pin_c2);
}
if(btscy==5)
{
delay_ms(100);
output_low(pin_c1);
}
if(btscy==6)
{
delay_ms(100);
output_low(pin_c0);
}
if(btscy==7)
{
btscy=0;
}
}
}


Parantezlerini bu şekilde düzenledim, olması gereken böyle, yine çalışmaz ise aşağıda ki programı dene...
Girişlerini 10K ile gnd' ye bağla... Butona basınca input'a +5V gelmesi lazım programına göre...
 
#include <16f876.h>
#use delay(clock=4000000)
char data;
void main ()
{
set_tris_a(0xFF);
set_tris_c(0x00); // B portu tümüyle çıkış olarak yönlendiriliyor
output_c(0x00);
data = 1;
while(1)
{
if(input(pin_a0))
{
data <<= 1;
if(data == 0b01000000) data = 0x01;
while(input(pin_a0));
output_c(data);
}


if(input(pin_a1))
{
data >>= 1;
if(data == 0b00000001) data = 0x20;
while(input(pin_a1));
output_c(data);
}


}


}

Birde böyle dene...
Umarım yardımcı olmuşumdur...
 
cvp verdiğin için çok teşekkür ederim 1. gonderdiğinde ilk butona bastığımda 1 2 3 yandıktan sonra 4 5 6 sönüyor 2. gönderdiğinde ise
yol doğru fakat butona bastoğımda 1 yanıyor ikince kes bastığımda 1 sönüp 2 yanıyor olması gerek bir butonla 1 2 3 4 5 6 veya herhangi bir döngü 1 2 3 4, 1 2 ,1 2 3, 1, 1 2 3 4 5,yanıp diğer butonla nerde kaldıysam geriye söndürmem gerekiyo cvp verdiğin için tekrar tşkr ederim
 

Forum istatistikleri

Konular
128,133
Mesajlar
915,308
Kullanıcılar
449,850
Son üye
umutbaysal9

Yeni konular

Çevrimiçi üyeler

Geri
Üst