PULSIN – PBP Türkçe

PULSIN Pin,State,Var

Pin‘e gönderilen darbenin (pulse) genişliğini (width) ölçer. Eğer State parametresi 0 olarak ayarlanmışsa dalganın lojik 0 kısmının genişliği (low pulse), 1 olarak ayarlanmışsa da dalganın lojik 1 kısmının genişliği (high pulse) ölçülecektir. Ölçülen genişlik Var ile belirtilen değişkene yüklenir. Fonksiyon, ölçüm değerini 16 bit uzunluğunda verebilmektedir. Eğer Var değişkeni 8 bitlik bir değişken ise 16 bitlik ölçümün LSB (Least Significant Byte (Bit)) kısmı, yani 16 bitlik sayıyı ikilik tabanda yazdığımızda (binary) sayının sağındaki 8 bitlik kısım, değişkene yüklenir. 16 bitlik bir değişkenle sonucun tümünü alabilirsiniz.

Pin, sabit bir değer, 0-15 arası bir değer, 0-15 arası bir değer içeren (Örneğin: B0) bir değişken ya da pin adı (Örneğin: PORTA.0) olabilir. PULSIN fonksiyonunun çözünürlüğü (resolution) osilatör frekansına bağlıdır. Eğer cihaz 4Mhz hızında çalışıyor ise dalga genişliği 10us (mikrosaniye)’nin, 20Mhz hızında çalışıyor ise 2us (mikrosaniye)’nin katları şeklinde ölçülür. Örneğin 4Mhz hızında çalışırken doluluk oranı (duty cycle) 50% ve frekansı 5Khz olan bir kare dalgayı okursanız, fonksiyon size 10 değerini dönecektir. Çünkü böyle bir dalganın periyodu 200us olacaktır. Doluluk oranı (duty cycle) değeri de 1/2 olduğundan 100us lojik1, 100us lojik 0 değerini alacaktır. 4Mhz hızında 10us (mikrosaniye)’nin katları şeklinde ölçüm alındığında 100/10=10 değeri sonuç olarak gelecektir. (Bu durumda State parametresinin 0 ya da 1 olması sonucu etkilememektedir. Doluluk oranı (duty cycle) 1/2 olduğundan lojik 1 ve lojik 0′ın süreleri eşittir.) Bu örneğin simülasyonun görüntüsünü aşağıda bulabilirsiniz. Define ile OSC hızının tanımlamanın PULSIN fonksiyonu üzerinde bir etkisi yoktur. Fonksiyon anlık hızdan etkilenmektedir.

PULSIN Simülasyon

Şeklideki simülasyonda okunan değer B portuna gönderilmektedir. Bulduğumuz gibi, B portunda da ikilik tabanda (binary) 10 sayısı yazmaktadır.

PULSIN öntanımlı olarak darbe (pulse) olup olmadığını anlamak için 65535 çevirim süresi kadar beklemektedir Bu da 4Mhz hızında çalışan bir cihaz için 65535 us (mikrosaniye), bir başka değişle ~0.66 saniye bekleme demektir. Eğer istenirse fonksiyonun bir darbenin (pulse) olup olmamasına bakma ya da gelen darbenin (pulse) düşen ya da yükselen kenarını maksimum bekleme süresi programda yazılacak DEFINE ifadesi ile ayarlanabilir. Burada tanımlanacak değer çevirim sayısı cinsindendir.

Örnek

DEFINE PULSIN_ MAX 1000

Şunu da unutmamak gerekir ki DEFINE ile yapılan bu tanımlama RCTIME fonksiyonunu da etkilemektedir.

‘ Pin4 üzerindeki darbenin lojik 1 süresini ölç ve W3 değişkenine yaz.
PULSIN PORTB.4,1,W3

Bunlara da Bakın

  • PULSOUT

Tüm fonksiyonların listesine buradan bakabilirsiniz.

İlgili Kaynaklar

Pulse (Darbe)

Duty Cycle (Doluluk Oranı)

Least Significant Bit (Byte)

İkilik Taban (Binary)

Bu yazı, “İzoelektronik – Atölye” grubu tarafından, 90alper90 ve Hazar kullanıcı adlı grup üyelerinin ortak, aktif çalışması ile hazırlanmıştır.



Bağlantılı Yazılar

Yorum yapılmamış. Yapılmış

Yazıyı paylaşın. | Yazı ile ilgili sorun bildirin.

Yorum Yapın ya da Soru Sorun

Yorum yapabilmeniz ya da soru sorabilmeniz için giriş yapmanız gerekmektedir.
Hoşgeldiniz, Ziyaretçi.Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.

Arama Yap
Üye Alanı
 
 
Kayıt Ol || Aktivasyon Kodu İste
Teknik Yardım
5 tane konu henüz çözüme ulaşmamış. Belki siz yardımıcı olabilirsiniz ya da sorunlarınızı çözmenize başkaları yardım edebilir. Teknik Yardım bölümüne buradan ulaşabilirsiniz.
Destek İçin
İzoelektronik Facebook Sayfası
İzoelektronik'e Facebook sayfamıza katılarak destek olabilir, eklenecek yeni yazıları ve gelişmeleri Facebook üzerinden de takip edebilirsiniz.
Güncel Kalın

Eklenen Yazılar E-posta Adresinize Gönderilsin

Bizi RSS ile de takip edebilirsiniz.

Translate
Son Yorumlar
  • 90alper90: Merhaba Ozan Bey, Ölçümleri aldıktan sonra aynı anda göstermekte bir sıkıntı yok. Önemli olan 3 ölçümü de alabilmek. Bir önceki...
  • ozigeldi: alper teşekkür ederim bu arada ben ozan memnun oldum ben bu 3 ölçümü aynı lcd ekranda gösterebilimiyim pıc’e yeni başladım ve bu...
  • botan: meraba malzemeleri tedarik ettim motor olarak step motor aldım sizin yüklediğiniz programın aynısını yüklesem sorun yaşarmıyım acaba, yeni...
  • kuvvetkmc: Şöyle söyleyim; Anakart üzerinde ki; R1-R2-R3-R4-R4-R5-R6-R7-R8-R9- R10-R11-R12-R13-R14-R15-R16-R1 7-R18-R19 C1-C2-C3-C4 Q1;...
  • İzoelektronik: @kuvvetkmc Sorun çıkaran dirençleri daha net olarak belirtebilirseniz daha kolay yardımcı olunabilir. @botan Belirttiğiniz devreler...
drupal statistics module