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,248
Mesajlar
916,169
Kullanıcılar
450,059
Son üye
Erentrik

Yeni konular

Geri
Üst