Doğan Kayadelen

PIC ‘lerde Dış Kesme Nedir, Ne İşe Yarar? (External Interrupt MikroC)

Gömülü sistem programcıların kesinlikle bilmesi gereken konulardan bir tanesi olan external interrupt yani dış kesme nedir, dış kesmenin C dilinde MikroC derleyicisini kullanarak kodlanmasını anlatacağım.

Dış kesme nedir?

Interrupt (kesme) iç ve dış olmak üzere ikiye ayrılır.  Dış kesmeyi kısaca şu şekilde anlatabiliriz. Main fonksiyonu içerisinde normal devam eden herhangi bir işlem varken dışarıdan herhangi bir kesme geldiğinde istediğimiz farklı bir işlem gerçekleşir. Örneğin PortB ‘nin 4. bitinde belli aralıklarla bir led yanıp sönerken dışarıdan bir interrupt gelmesi durumunda PortB ‘nin 5. bitine istediğimiz işlemi yaptırabiliriz. Bir bilgisayarın çalışmasında binlerce interrupt kullanılır. Interrupt’ın bu denli önemli olmasındaki en önemli sebep mikro işlemcilerin seri çalışmasıdır yani bir kod ilk satırdaki komuttan başlayıp alta doğru devam etmesidir.

PIC18F4XK22 Interrupt Özellikleri

Hangi mikro işlemciyle çalışıyorsanız o işlemcinin interrupt özelliklerini tam anlamıyla öğrenmek ve anlamak için kullandığınız mikro işlemcinin datasheet ‘ine bakmalısınız. Ben pic 18f45k22 mikro işlemcisinde proje yaptığım için bu pic ‘in özelliklerine değineceğim.

pic18f45k22 interrupt
pic18f45k22 interrupt

Bu model mikro işlemcilerde kullanılan interruptlara öncelik ataması yapabiliyorsunuz. Interruptların kontrolü için toplam 19 yazmaç kullanılıyor. PIC ‘lerde en önemli 3 tane kontrol biti vardır bunlar: enable bit, flag bit ve gie biti.

GIE biti: Bu bit INTCON yazmacında yer alır. Global Interrupt Enable (Küresel Kesme Etkin) pini tüm periferik olmayan bitleri etkin yapar ve tüm kesme kaynaklarını devre dışı bırakır.

Enable biti:  Bu bit interruptı aktif hale getirmek için kullanılır. Enable biti aktif olmazsa kodladığınız interruptınız çalışmayacaktır.

Flag biti: Dışarıdan kesme geldiğinde bu bit otomatik olarak 1 olur interrupt fonksiyonundan çıkmadan önce bu biti tekrardan sıfır yapmanız gerekiyor.

Bunların haricinde diğer kontrol bitlerine detaylı olarak bakmak için kullanacağınız mikro işlemcinin datasheet ‘ine bakabilirsiniz. C dilinde yukarıda anlattığım external interrupt ‘ın kullanımı hakkında basit bir kod yazalım.

MikroC ‘de Dış Kesme Kodu

External interrupt kullanımı MikroC derleyecisi kullanılarak yazılmıştır. Kodun nasıl yazıldığını videoda detaylı bir şekilde belirttim.

Leave a Comment