Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

RB0 Interrupt'la İlgili

Başlatan Proteus, 02 Ocak 2015, 18:16:30

Proteus

Arkadaşlar en basitinden örnek vereyim. RB0 İnterrupt düşen kenar olsun interrupt geldiğinde  i++; olsun.
interrupt çalışması : Rb0 a bağlı pull down şekilde, lojik 0 gelecek şekilde yani butona basıldığında i+1 olucak butondan elimi çekmemi beklicek sonra bastıgımda tekrardan i+1 olucak. simülasyonda gayet güzel çalışıyor ama gercekte interrupt butonunu filtrelemek gerekiyor yani bir basıp çekmeden i++ komutunu defalarca işliyor halbuki interrupt çalışma prensibi böyle değil.
  kafama takıdı bu soru.

pea

"Switch Debounce" konusunu inceleyebilirsiniz.
Sorun, siz butona basarken, metalin birçok kez esneyerek birkaç sinyal oluşturması yüzünden oluşuyor. Yani siz butona basınca 1 gitmesini umarken, 101010101010 gibi bir şey gidebiliyor.
Yazılımsal ve donanımsal çözümleri var.

Proteus

sorunu çözdüm hocam da kafama takılmıştı demek bu yüzden yapıyormuş butona paralel 10nf bağladım sıkıntı halloldu

Kabil ATICI

Bu tür durumlarda elimi butondan çektiğim zaman 20 ms için kesmeyi iptal ediyorum. Böylece o kadar süre için kesme oluşmuyor.  Kesme ile buton çağrılarında başka yolu yok.
ambar7