Pic'te timer 1 kullanımı (16f877)

oguzmania

Üye
Katılım
21 Mar 2007
Mesajlar
2
Puanları
1
Yaş
40
Öncelikle selamlar bitirme projem için PIC'li bir devre yapıyorum.Temel düzeyde ASM bilgim vardı bunun yanında okuldan öğrendiğim C bilgimi de geliştirdim uzun bir aradan sonra bir kaç haftadır ciddi şekilde PIC'le çalışmaya başladım.Şu an yalnız ufak tefek programlar yazabiliyorum (Led yakma vb...)(CSS ile) projemin başlangıç aşaması olarak aşağıda anlatmaya çalıştığım projeyi yapmaya çalışıyorum.
Şu an programlamaya yeni başlamaya başlamış birisi olarak aşağıdaki yapmayı çalıştığım programı yazmam niçin nasıl algoritma izleyeceğim konusunda bana yardımcı olabilir misiniz? Elinizde varsa benzer örnekleri benimle paylaşabilir misiniz acaba?

Projeyi ana hatlarıyla anlatacak olursam;

16F877'in herhangi bir portunun 4 pin'ine 4 mikrofon bağlayacağım.Örnek verecek olursam;gönderdiğim ses sinyali 1.pin'e ulaştıktan 1.2 msn sonra 2. pine,2. pin'e ulaştıktan 1,4 msn sonra 3.pin'e 3.pin'den sonra 1,5msn sonra ise 4. pin'e ulaşacak.
Benim yapmak istediğim ise bu zamanları zamanlayıcının okuyup bir kenara kaydetmesi şunun gibi;
1. pin:X değeri
2. pin:X+1,2 msn
3. pin:X+2,6 msn
4. pin:X+4,1 msn

Ses 1. pine ulaşınca timer registeri başlayacak ve diğerlerinin değerlerini 1.pin'le arasındaki fark olarak hesaplayacak.Ve registerlere kaydedecek.(Yani X=0 kabul edilecek)

Yardımlarınız,görüş ve önerileriniz için şimdiden çok teşekkürler...(PIC C formatında örnekleriniz benim için daha faydalı olacaktır...)
 
Çok şey istediğinin farkındamısın...
 
sesin hangi yönden geleceğini algılayan robot yapıyorsun herhalde.

microfonları pice direk giremezsin malesef. öncelikle mikrofonları preamplifikatörlere bağlaman gerekli sonrada bunları dc ye çevirip digital portlara vermelisin.eğer analog portlara girip okuma yaparsan dediğin gibi 1.2 ms lik çevrme yapamazsın.

digitalere girersen gelen gecikmeleri okursun.

ama yinede çok şey istemişsin arkadaşların dediği gibi :)
 

Forum istatistikleri

Konular
129,880
Mesajlar
931,002
Kullanıcılar
452,758
Son üye
aprnck

Yeni konular

Çevrimiçi üyeler

Geri
Üst