dış kesme

Başlatan assyh, 11 Şubat 2015, 09:39:16

assyh

merhaba 16f877a için dış kesme pini b0 olarak görünüyor.
peki ben c5 ve c6 pinlerine dış kesme komutu uygulamak için ne yapmalıyım buraya bağlı butonlardan sinyal geldiğinde kesme devreye girsin istiyorum
program çalışır iken bu iki butondan sinyal geldiğinde bir komut çalışacak bunu normal olarak yaptım fakat aklıma dış kesmeyi uygulamak , kullanmak ,öğrenmek geldi şimdi ikinci sorumda şu; neden kesme kullanayım ki zaten iki buton koysam program çalışırken butonlara basılınca ledler yanacak  değil mi?
teşekkürler
Her bişeye meraklı.

~ENES~

C5-6 uclarini dis kesme olarak mümkün değil .. Tam olarak ne yapmak istiyorsun ? Onu bi acikla ona gore bakalim


Enes
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

ete

Her istediğin pin dış kesme pini olamıyor maalesef. Bunu düşünen üreticiler PORTB ye bazı özellikler eklemişler.
PORTB.0 pini genellikle bütün işlemcilerde INT0 yani ilk dış kesme üreten pindir.
Bundan fazlası lazım olursa PORTB değişiklik kesmesi uygulanır. Bu özellik de PORTB.4 - PORTB.5 - PORTB.6 - PORTB.7 pinlerine verilmiştir. İstersen birisini istersen 4 ünü kesme için kullanabilirsin. Diğerlerinden farklı olarak bu kesme şeklinde Bu pinlerin konum değiştirmesi kesme oluşturur. Buda zaten bir tuşa basılması yada benzer şekilde yaratılabiliyor.
Üstelik bu pinlerde giriş olarak kullanılmaları halinde dahili Pullup dirençleri bile eklenmiştir. Ayrıca direnç bağlamak gerekmez.
Bu durumda devreni yeniden tasarlayıp söz konusu pinleri kullanmanda yarar var. PORTC de bu özellik yok maalesef.

Ete

assyh

cevap için teşekkür ederim Ete hocam öncelikle ..
B portunda lcd çalıştırıyorum deneme kitinde de oraya bağlı olunca uğraşmak istemedim açıkçası birde örneklerde hep b portu lcd için kullanılmıştı. Şimdi başka porta bağlasam birde lcd.h ı değiştirmem gerekecek sanırım. eğer öyle ise lcd uygulama örneği varmıdır başka bir port için ..

ikinci sorumu tekrar edeyim bu işlemi kesme olmadan (c portuna buton koydum basınca ters dönüyo) simülasyonda çalıştırıyorum (gerçekte ne olur bilmem) yani neden kesme kullanayım , kesmenin ne faydası ve avantajı olacak onuda görmek istiyorum.


@enes yapmak istediğim motor dönerken 1.butona basıldında motor sağa dönecek 2.butona basıldığında sola dönecek .yani portları tersleyecek.

teşekkürler

Her bişeye meraklı.

~ENES~

Bunu kesme kullanmadan da yapabilirsin ama madem b portu dolu ve bende ugrasacagim illa diyorsan kendi kurduğum birmantigi ssöyleyeyim a portu ADC olarak kullanilir genelde butonlari dirence seri baglayip pull down ile a0 a gir iki buton için iki farklı direnc kullan ornegin ADC=300 birinci buton basili 500 ise ikinci buton gibi .. Bu şekilde tek pinden sinirsiz buton okunabilir ...
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

assyh

@enes
sanırım yazdıklarımı okumuyorsunuz sadece başlığı okuyorsunuz. ben dış kesme komutu üzerinde çalışarak komutu kullanmak için yapmak istiyorum yoksa zaten c portunun c5 ve c6 pinini kullanarak yapıyorum adc kullanarak renksiz hayatıma fantazi aramıyorum .. yinede sağol fikrini bir gün buton giriş sayısını azaltmak için kullanırım bu açıdan çok  güzel bir yöntem teşekkürler.
Her bişeye meraklı.

Powered by EzPortal