Elektrotekno.com Ana Sayfa || Pic ve diğer işlemci ve denetleyiciler ile yapılmış devreler, projeler


kare dalga okutma

Kayıt: 31 Tem 2008
Mesajlar: 90

Offline
cseb
Tarih: 04 05 2011 12:48

rkadaşlar 84 hz lik bir kare dalgayı aşağıdaki gibi bir programla pic e okutmaya çalışıyorum. önce sinyalin 0 olmasını bekliyorum. 0 olunca timer1 i başlatıyorum. sonra sinyal 1 olunca timer değerini okuyorum. sonuca göre iki ayrı işlem yaptırmak istiyorum ancak pek dengeli çalışmıyor. (b0 pinindeki sinyal 5v dc mi yoksa kare dalgamı olduğunu görmek istiyorum)

while(1) // Sonsuz döngü
{
if(!input(pin_b0)){
goto lab;
}
}
lab:
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
while(!input(pin_b0))

i= get_timer1();
if(i<=3748){output_high(pin_b3);}

if(i>3748){ output_high(pin_b4);
set_timer1(0);
}


Reklamlar

1 Kullanıcı bu konu için digiland arkadaşımıza teşekkür ettiler

Kayıt: 02 Ksm 2009
Mesajlar: 764
Konum: Kocaeli
Offline
senoleker
Tarih: 06 05 2011 12:40

Teşekkür düğmesini denedim Smile

Sanırım ufak bir sorun var:

Sinyalin sıfır olmasını beklersen; o uçta 5V DC varsa ne olacak? Sonsuza dek beklersin.
Kurgunu şöyle yap:
Uçta sıfır olduğu anda ANINDA kare dalga var diyebilirsin.
Uç 1 olursa, (yükselen kenarda) "kare mi DC mi bilmiyoruz bilmiyoruz" dersin timer'i başlatırsın.
Eğer 12 ms geçti ise, "DC var" dersin.
Bunun için bir status değişkeni koyalım:
status=1=>DC
status=-1>Kare
status=0>Bilmiyoruz
olsun.
Ben C bilmiyorum. Çünkü programlama öğrenmeye başladığımda henüz C icat edilmemişti Smile Hata varsa düzeltirsiniz.
Ayrıca pin_b3 ve b4'ten b3 high olursa kare, B4 high olursa DC demektir. İkisi de low iken bilmiyoruz demektir.
Zaten kare darbede sinyal yükseldiğinde tekrar düşüp düşmeyeceğini bilemeyeceğimiz için, kare sinyalin high taraflarında "bilinmiyor" durumunda olacağız. Buna da dikkat edin.
Yani kare girerken b3'den kare alacaksınız.



status=0;
output_low(pin_b3);
output_low(pin_b4);
while(1){
if (!input(pin_b0)){
status=-1;
output_high(pin_b3);
output_low(pin_b4);
}else{

if (status==-1){setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
status=0;
output_low(pin_b3);
output_low(pin_b4);
}else{
if (status==0){
i= get_timer1();
if(i<=3748){
status=1;
output_low(pin_b3);
output_high(pin_b4);
}
}
}

}
}
Başa dön
Kayıt: 31 Tem 2008
Mesajlar: 90

Offline
cseb
Tarih: 06 05 2011 14:42

senoleker yazmış
Teşekkür düğmesini denedim Smile



eyw hocam yaa sayende hiç yoktan bi teşekkürümüz oldu Smile bu arada sorunu sinyalden sample alarak çözdüm. 12ms periyot olan bu sinyali 1ms geçikme ile 7 kere okuttum. 7 kere okutma sonunda sinyal hep sıfırsa kare dalga yok sıfırdan farklı ise kare dalga var olarak koşulladım. ama cevabın için teşekkürler...
Başa dön
Kayıt: 02 Ksm 2009
Mesajlar: 764
Konum: Kocaeli
Offline
senoleker
Tarih: 06 05 2011 16:09

1 ms ve 7 defa ise sorun var ama. Toplamda 7 ms eder ve bu 12ms'den düşük.
Yanlış mı anladım dediğini?
Başa dön
Kayıt: 31 Tem 2008
Mesajlar: 90

Offline
cseb
Tarih: 06 05 2011 20:41

12ms periyodu kare dalganın. 6ms low, 6ms high konumda yani. 6ms sonra mesela 7ms anında konum değiştirmesi varmı yokmu, önce bunu baktım. konum değiştirmesi varsa kare dalga var demektir, yoksa düz çıkış dc voltaj var demektir.
Başa dön
Kayıt: 02 Ksm 2009
Mesajlar: 764
Konum: Kocaeli
Offline
senoleker
Tarih: 06 05 2011 22:24

cseb yazmış
6ms low, 6ms high konumda


Smile
12 High 12 Low gibi düşündüm nedense. Pardon.
Başa dön



kare dalga okutma


Benzer Konular
- Bir fazlı tam dalga doğrultucular
- H-Bridge SMPS'te Akım Dalga Şekli
- AT89C52 Mikrodenetleyicili Kare Dalga Inverter

- Uludag Universitesi Elektromanyetik Dalga Sınav Soruları

- PIC16f877 ile 3 faz tam kontrollü tam dalga doğrultucu
- dalga boyu hesaplama
- Dalga Kılavuzlarında Mod Tayini
- Elektromanyetik Dalga Bütünleme Sorular ve Cevapları
- MOSFET ile 220V Tam Dalga Doğrultucu

- Optik Dalga Kılavuzlarının Özellikleri ve Maxwell Eşitlikleri, TE ve TM modları

- Elektronik Kitabı ( Rezonans Devreleri - Dalga Şekillendiriciler vb.) 250 sayfa

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Turkiye | Ads by Google Adsense | Design by Crazy Bat based