Salvo
Kayıtlı Üye
KESMELER (INTERRUPT)
Interrupt pic mikroişlemcilerde en can alıcı noktalardan birisidir. Türkçeye çevrilmiş hali "KESME" olan bu işlem mikroişlemcilerde çok kullanılır. Yaptığı işe gelince; bir programın çalışması sırasında dışardan yada içerden bir etki ile mikroişlemcinin yaptığı işi bırakıp kesme olarak belirtilen alt yordama gidip buradaki programı çalıştırıp kaldığı yere geri dönmesi işidir. Bu durumda pic için assembler ile hazırladığımız programın içine bir alt yordam ekleriz.
Interrupt oluştuğunda pic kaldığı yeri kaydeder (bu kaydın yapıldığı yer stack dir), ve alt kesme yordamına gider, kesme alt programına giderken de kesme vektörünü kullanır. Kesme oluştuğunda gidilecek olan vektörün adresi 0X04 tür. Bu bilgi mikroişlemcide stack denen bir alanda saklanır ve bizler direk erişemeyiz. Stack bir hafıza bölgesidir ve pic call komutu yada interrupt oluştuğunda buraya kendisi gider. PIC kesme programı sonlandığında da kaldığı yerden programa devam eder.
PIC'de oluşabilecek yada oluşturulabilecek 4 tür kesme vardır;
1. RB0/INT harici interrupt pini ile oluşan interrupt
2. Portb High Level Change
RB4, RB5,RB6,RB7 pinlerinden herhangi birisinde bir değişiklik olduğunda oluşan interrupt.
3. TMR0 (timer Counter)
0XFF den 0X00 'a geçerken oluşan interrupt.
4. EEPROM, yazma işlemi tamamlandığında oluşan interrupt.
Interrupt sinyalleri yada oluşumu tamamen bize bağlıdır. bunu dışarıdan bilgi aldığımız bir bilgi ile (sinyal ile) yada içerden kendimiz oluştururuz ama sonuçta interrupt oluşması işlemi ve kullanma tamamen tasarımcıya bağlıdır. Sistemi tasarlarken neyin öncelikli olarak bize lazım olduğunu belirleriz ve istersek interrut ı kullanırız, istemezsek kullanmayız.
Interrupt pic mikroişlemcilerde en can alıcı noktalardan birisidir. Türkçeye çevrilmiş hali "KESME" olan bu işlem mikroişlemcilerde çok kullanılır. Yaptığı işe gelince; bir programın çalışması sırasında dışardan yada içerden bir etki ile mikroişlemcinin yaptığı işi bırakıp kesme olarak belirtilen alt yordama gidip buradaki programı çalıştırıp kaldığı yere geri dönmesi işidir. Bu durumda pic için assembler ile hazırladığımız programın içine bir alt yordam ekleriz.
Interrupt oluştuğunda pic kaldığı yeri kaydeder (bu kaydın yapıldığı yer stack dir), ve alt kesme yordamına gider, kesme alt programına giderken de kesme vektörünü kullanır. Kesme oluştuğunda gidilecek olan vektörün adresi 0X04 tür. Bu bilgi mikroişlemcide stack denen bir alanda saklanır ve bizler direk erişemeyiz. Stack bir hafıza bölgesidir ve pic call komutu yada interrupt oluştuğunda buraya kendisi gider. PIC kesme programı sonlandığında da kaldığı yerden programa devam eder.
PIC'de oluşabilecek yada oluşturulabilecek 4 tür kesme vardır;
1. RB0/INT harici interrupt pini ile oluşan interrupt
2. Portb High Level Change
RB4, RB5,RB6,RB7 pinlerinden herhangi birisinde bir değişiklik olduğunda oluşan interrupt.
3. TMR0 (timer Counter)
0XFF den 0X00 'a geçerken oluşan interrupt.
4. EEPROM, yazma işlemi tamamlandığında oluşan interrupt.
Interrupt sinyalleri yada oluşumu tamamen bize bağlıdır. bunu dışarıdan bilgi aldığımız bir bilgi ile (sinyal ile) yada içerden kendimiz oluştururuz ama sonuçta interrupt oluşması işlemi ve kullanma tamamen tasarımcıya bağlıdır. Sistemi tasarlarken neyin öncelikli olarak bize lazım olduğunu belirleriz ve istersek interrut ı kullanırız, istemezsek kullanmayız.