PORTB KESME ETKİLENMESİ

Başlatan enrique_iglesias, 04 Ocak 2009, 15:38:24

enrique_iglesias

Merhaba arkadaşlar portb nin değişiklik kesmesini kullanıyorum ve kesme alt programı altında işlemleri gerçekleştiriyorum normalde pic sleep modunda...kesme olduğunda uyanıp gereğini yapıyor...

Amaaa bu arkadaş tv'nin açılmasından bile etkileniyor sanırım gürültüden kesme olduğunu sanıyor.Fişe takılan herhangi bir alet,tv açılması kapanması, motor çalışması, röle çekmesi gibi davranışlardan etkileniyor ve kesme olduğunu sanıyor bunu nasıl engelleyebilirim..????

tyildizak

İlgili pinleri (4-5-6-7)pull-up bağla, herhangi biri 0 olduğunda kesme gerçekleşsin.

enrique_iglesias

kesme donanımında veya yazılımında sorun yok herşey çalışıyor....portb.4 ve portb.5 10k ile toprakta butona basıldığın kesme oluşuyor......

Anlatmak istediğim Şu : beklemedeyken tv açıldığında veya ilk mesajımda belirttiklerim olduğunda pic uyanıyor....sorun picin istemeden uyanması.....

tyildizak

tamam işte, dediğim gibi, portları toprağa bağlama(pulldown), +5Volt'a bağla(pull-up). Buton'a basınca 0'a çeksin, 5 V'a değil.

Bir de; b portu 6 ve 7 nereye bağlı bu arada?

Erhan YILMAZ

Arkadaşım kullandığın güçkaynağı kaliteli değilse ondanda yapabilir.eğer yoksa picin vdd ucuna en yakın yere 100nf gibi bir değerde kondansatör bağlamandada fayda var.Son olarakta konfigürasyon ayarlarından emin ol bor reset devresi açıksa besleme belli gerilim değerinin altına düştüğünde pic resetlenir buda pici uyandırabilir.

enrique_iglesias

sayın tyildizak..evettt port 6 ve 7 boşta bi yere bağlı değil yani....pull-up veya down olması bu kadar farkettirdiğini bilmiyodum bunu hemen denemeliyim buna bağlı yazılımda değişecek :S

sayın erhan onu denedim güç kaynağım pil mc34063 ile regüle ediyorum.

serdararikan

pullup bağlantısını 10k ile yapma.sana tavsiyem 10k yı pinleri ne 0 a nede 1 e çekmek için kullanma.problem çıkartır sana. 4.7K kullan.

bymrz

bunun çözümünü yazılımsal olarak ta yapabilirsin...

diyelim ki kesmeye girdin, bikaç ms bekleyeceksin, daha sonra rb4...7 yi kontrol edeceksin tekrar5-6 kez. bu arada da bi sayacın değerini artıracaksın..

Yani butonların basılı olup olmadığını 5 kez kontrool ettin bi kaç ms aralıklarla. eğer bu girişler aktifse bu sayacı 1 artıracaksın. 5 döngüde de aynı girişler aktifse sayacın değeri 5 olacak..

Bundan sonrada diyeceksin ki eğer benim sayacım 5 ise işlemlerimi yap, hayır değilse; bu bir parazit kesmeden çık hemen diyeceksin...

;)