Mikro C ile 5 saniye durklama nasıl yapılır.

83selahadd

Üye
Katılım
2 Nis 2009
Mesajlar
9
Puanları
1
Yaş
40
Arkadaşlar lise elektirik bölümü bilgilerim ve interneten bulduğum belgeler ile sumo robot yaptım her şey tammam ama yazılımda hata var.
robodun yarışma başlamadan önce düymesine basıldıktan sonra 5 sn bekleyip harekete geçmesi lazım sadece bunu yapamadım. bunu MİKRO C de nasıl yapabilirim örnek bir kod yazarsanız çok sevinirim ..
şimdiden yardımlarınız için çook teşekür edyorum..
 
Son düzenleme:
kodunun başına Delay_ms(5000); eklersen 5 saniye gecikme eklemiş olursun işlemlere ondan sonra başlarsın...
 
öncelkle teşekür ediyorum. bu şekildemi diyorsun
void main()
{
TRISB=0;
TRISD= 255;
PORTB=0;
delay_ms(5000)
while(1)

{

if (portd==120)
{
PORTB = 6;


}
if (portd==124)
{
PORTB = 18;

}
if (portd==122)
{
PORTB = 17;
Delay_ms(50);
}
if (portd==121)
{
PORTB = 5;
Delay_ms(50);
}


}
......gidiyor
 
evet böyle.
 
4 khz kıristal kulanıyorum acaba alakası varmı.motoru falan söktüm cıkış olarak sadece 1 tane led takım uygun programı yazdım ve şunu gördüm işlemci sadece 2 dk kadar gecikme yapıyor 3 dakika yani delay_ms(3000) yapınca program çalışmıyor led falan yanmıyor.

yani kısacası en fazla 2 dk gecikme yapabilyor sebebini örenebilirmiyim..
 
delay_ms(3000) demek, 3 saniye bekle demektir. işlemcinin hızı ile alakası yoktur. işlemcinin hızına göre derleyici ayarlamasını yapmaktadır zaten.

kodunda bir sorun vardır...
 
kodlar bu. bu koda göre d portu 1 ken 3 saniye bekleyip port b yi 255 yapmaı
ama olmuyo 3 saniye yerine 2 saniye yaparsam devre sorunsuz çalışıyor
yani benim bildim kadarı ile kodlar doğru.
ama sen daha iyi bilirsin sen yinede bi bak eyer bana yardım edebilirsen sana bol bol duaa etcem ilgilendin için teşekür..



void main()
{
TRISB=0;
TRISD= 255;
PORTB=0;

while(1)
{
if (portd==1)
{
delay_ms(3000) ;
PORTB =255;


}
}
}
 
ilgilendiğin için çok teşekür ediyorum sana .
araştırdım ve sorunu kendim çözdüm belki sende bilmiyordun belkide aklına gelmemiştir sorun Watch Dog Timer kapatmamışım bundan dolayı sadece 2 sn gecikme yapıyormuş bunu kapatınca sorun kalktı şimdi koç gibi çalışıyor..



şimdi robotum güreşlere hazır durumda..

sana tekrar teşekür etim..
 
ben projelerde wdt yi kapatarak iş yaptığım için, senin de kapattığını düşünüyordum. ondan dolayı orası ile ilgili birşey demedim :)
 
ben acemi olduğumu yazmıştım başta.elektirik bölümüydüm ben haftada 4 saat kadar elektıronik dersimiz vardı okadar ondada filip fılop gibi basit devrelerle uraşıyoduk programlamayı interneten örendim..
ve artık uzman oldum DEEEErmişim :)

diyip konuyu formların ücra köşelerine doğru bırakıyorum yardıma ihtiyacım olursa yazarım...teşekkür..
 

Forum istatistikleri

Konular
128,229
Mesajlar
915,976
Kullanıcılar
450,021
Son üye
eimqoeL

Yeni konular

Çevrimiçi üyeler

Geri
Üst