Jump to content

Recommended Posts

Şimdi benim dijital girişimde bir adet sensör bağlı.Bu sensörü 1 saniye boyunca kaç kez görmüş onu ölçeceğim.1 Saniyenin sonunda sayacı sıfırlanacak ve tekrar ölçüm yapmaya başlayacak sensörün ölçtüğü bir değeri bir registera yazacağım her saniyenin sonunda sensörün gördüğü değerleri de üst üste  toplamam gerekiyor.

1 saniyenin interrupt gibi bir komut var mı ?

1. Saniye boyunca 40 adet gördü

2. Saniye boyunca 30 adet gördü 

3. saniye boyunca 52 adet gördü

.

.

.

Bu görülen adetlerli örneğin 5 ile çarpıp bir registerda 1 saniyelik periyotlarda toplayacağım.En son ise örnegin x registerı y registerından büyük veya eşitse işlemi bitireceğim.

Simülasyonda ben yapamadım.Amacım burada hız hesaplamak.Yardımcı olursanız sevinirim.1 saniyenin interruptı gibi bir komut varmı bilgilendirir ve dediğim iş için bir örnek program yazabilir misiniz?

Link to post
Share on other sites

1 sn sonunda değeri alıp sıfırlıyorum, sonraki 1 sn de gelennpulse ile topluyorum diyorsunuz. 

O zaman sıfırlamayın,sadece sayın. En son sıfırlayacağınız zaman başka bir registera atın ve karşılaştırın. 

Interrupt tan kastınızı anlamadım ama 500ms lik ve 1000ms lik timer lar var. 

Link to post
Share on other sites

Aslında şöyle demem daha doğru olur benim 1 saniyelik örnekleme zamanına ihtiyacım var bir saniye boyunca sensör kaç kez görmüş ona bakıcak sonra bunu birer saniye sonu üst üste toplayacak.Ta ki istenilen değere ulaşıncaya kadar.

Link to post
Share on other sites

Bir saniye boyunca senaörün kaç kez gördüğü size sinyal sıklığını yani frekansı verir. 

IP0 dan gelen sinyali sayarak toplam gelen pulse i saymış olursun. 

Yine IP0 dan gelen pulse 1sn boyunca sayar, 1sn nin sonunda bu değeri başka bir registera atar ve sıfırlarsan frekansı da hesaplamış olursun. 

Link to post
Share on other sites

Her yükselen sinyalde bir registerı bir artırın.

1 saniyelik bir timer ile 1 saniye sonundaki sıfırlama işlemini gerçekleştirin ( başka bir registera da zamanı tutup bir artırabilirsiniz. )

5 ile çarpıp başka bir registerdaki değerle toplayın x ve y registerları büyük mü küçük mü kontrolünü yapın yeniden başlayacağınız zaman da registerları sıfırlayın

bu işinizi çözmez mi?

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...