KESMELER (INTERRUPTS)
Kesme işlemini değişik kaynaklardan gelen bir sinyal ile çalışan programin kesilmesi
ve kesme fonksiyonuna gitmesi olarak tanımlayabiliriz. Kesme durumu programin
işlenmesinden daha önemlidir. Dolayısıyla bir kesme meydana geldiğinde program
işlemekte olduğu komutlan bırakarak kesme işlemini gerçekleştirir. Kesme işlemi
sonunda da program kaldığı yerden çalışmaya devam eder. Kesmeler donanım
kaynaklı olduğundan da programı boşa komut işlemekten kurtarr. Örneğin bir
sistemde belirlenen bir butona basilica sistemin alarm komuna geçmesi istendiğini
farz edelim. Bu işlemi program ile yapmaya kalkarsak programda her zaman bu
buton girişini kontrol ettirmek gereklidir. Bu hem sistemin hızını yavaşlatır hem de
sağlıklı bir kontrol olmaz. Çünkü program aynı zamanda başka işlemleri de
yapmaktadır. Ama biz bu buton girişini bir dis Kesme donanımına bağlarsak, butonu
kontrol etme işini "donanım kesmesi" birimi yapacak ve program bu devamlı
kontrol işinden kurtulacaktir.
PIC16F877'de 14 adet kesme vardır. Bu kesmeler arasında da öncelik derecesi
verilebilir. Yani aynı anda iki kesme meydana gelirse hangi kesmenin işleyeceği bu
öncelik derecesine göre denetleyiciye bildirilir. Uygulama örneklerinde kesmeler
daha lyi anlaşılabilir. Aşağıda PIC16F877 denetleyicisinde bulunan tüm kesmeler
verilmiştir.
1. RBO Harici kesmesi.
2. RB4-RB7 Pinlerindeki Değişiklik Kesmesi.
3. Timero Birimi Tasma Kesmesi.
4. Timeri Birimi Tasma Kesmesi.
5. Timer2 Birimi Tasma Kesmesi.
6. A/D Çevrimi Yapıldığında Meydana Gelen Kesme.
7. CCP1 Modülo Kesmesi.
8. CCP2 Modulo Kesmesi.
9. Paralel Port'tan Veri Gelme Kesmesi
10. Seri Porttan Veri Geldiğinde Olusan Kesme.
11. SPI veya 1'c lletişimi Sırasında Ver Gelme Kesmesi
12. EEPROM'a Veri Yazma işlemi Sonlandığında oluşan Kesme.
13. RS232 Seri İletişiminde Gönderilecek Veri Tamponu Bos Olduğunda
Meydana Gelen Kesme.
14. Bus Collision Kesmesi
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...