Yardımmm signal dinleme

Başlatan spear, 02 Haziran 2006, 12:04:41

spear

Merhaba arkadaşlar,
Bir singaldeki değişikliği nasıl sürekli dinleyebilirim? Mesela 5v 0v düştüğünde sağa dönecek 0v 5v yükseldiğinde sola dönecek. 3 signal dinlemem gerekiyor tek picle yapabilir miyim?

ete

1 adet 16F877 veya 16F876 al , signal girişlerini ADC girişlerine bağla. Her bir girişi kontrol et. O kadar.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

spear

Yazdığını biraz daha açabilr misin? Sürekli dinlemeyi nasıl yapacağım? Hem program işlem yaparken hem nasıl hepsini kontrol edeceğim? Datasheetinde adc girişleri göstermemiş...

ete

16F877 de PortA ve PortE girişleri Analog girişlerdir. Daha doğrusu sen An yazan bacaklara bak işte onlar ADC girişleridir.
16F876 da sie PortA pinleri Analogdur. Her ikiisnde yalnızca PortA.4 bacağı analog değildir.

baştan 3 adet pini yani AN0, An1, ve An2 yi giriş olarak ayarlayıp bunlara 0-5 v sinyal çıkılarını bağlayacaksın. Sonra her birini ADC değerlerini okuyacaksın.
ADC okuma işlemini 10 bit olarak ayarlarsan 0 volt için sıfır, 5 volt için 1023 gibi bir değer okuyacaksın. Buna göre artık gerisi yapacağın işe kalmış.

Ancak birden aklıma geldi acaba senin sinyal seviyen ya sıfır yada +5V mu oluyor yoksa?. Şayet böyle ise ozaman yalnızca High ve Low kontrolu yapman yeterli olacaktır. Bu durumda ADC girişlerine ihtiyacın yok demektir. Kontrolu digital olarak yapabilirsin. Böylece herhangi bir pic kullanıp işini halledebilirsin.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

spear

Benim singallerim 0-5v arasında oluşan pulselar. Benim esasında problemim giren 3 singalin sürekli dinlenmesi ve değişime göre programın biçimlenmesi lazım. Ben hem singalleri dinelyip hemde programı nasıl yönlendireceğim. Singaldeki değişimin haberi pice hemen nası yansıyacak?

ete

Güzel kardeşim pic bir saniyede (4MHz kristal ile) 1 milyon işlem yapabilir.
İşlemlerin bir kısmını Okuma işine verirsen partik olarak senin 3 adet sinyal girişini pic 1 sn de 1000 defa kontrol edebilir. DOlayısıyla sen bir yandan girişleri kontrol ederken bir yandanda işlemleri yaptırabilirsin.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

spear

Teşekkür ederim hocam,
kusura bakma kızdırdık biraz seni :) ben uğraşayım olmazsa yine rahatsız ederim.
İyi çalışmalar...

piedos

neden external interrupt kullanmıyorsun,sürekli  kontrol etmene gerek kalmaz
Einstein: "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."

bigbey

Anladığım kadarıyla sinyaller lojik sevye olarak değerlendirilebilir.port change özelliğinden yararlanarak işlem yapılabilir.
TA6R

sir_hawk

sayın piedos;
external interrupt kullanılamaz çünkü sinyalde değişimler olmakta yani 0 dan 5'e veya 5'den 0'a gibi bir değişim söz konusu değil.

sayın bigbey;

port change özelliği sadece lojik seviyeleri kontrol etmekte,aradaki değişimleri yani dalgalanmaları ( 2V,3V,3.5V....) algılayamaz,

yalnız H ve L durumlarında interrupt oluşturup değer okunarak işlem yapılabilir buda biraz zahmetli olur diye düşünüyorum.


sayın ete ' ninde söylediği gibi adc 'den verileri okuyup ona göre işlem yapmak en iisi nasıl olsa saniyede 100 defa kontrol mümkün ve buda ihtiyaca çare olacak diye düşünüyorun.

saygılarımla.

bigbey

Alıntı yapılan: "spear"Benim singallerim 0-5v arasında oluşan pulselar. Benim esasında problemim giren 3 singalin sürekli dinlenmesi ve değişime göre programın biçimlenmesi lazım. Ben hem singalleri dinelyip hemde programı nasıl yönlendireceğim. Singaldeki değişimin haberi pice hemen nası yansıyacak?

Alıntı yapılan: "spear"
sayın bigbey;

port change özelliği sadece lojik seviyeleri kontrol etmekte,aradaki değişimleri yani dalgalanmaları ( 2V,3V,3.5V....) algılayamaz,


Sorunuz yanlış olmuş o zaman. 0 -5 volt pulse denince lojik bir ifade olduğu anlaşılır.
TA6R