avatar_ete

Ders notlarına ilaveler -9. Kesmeler

Başlatan ete, 22 Şubat 2016, 10:46:37

ete

Bu derste Kesme konusu incelenmiştir.

Ete

samiyazgun

8 adet EK bilgi dosyalarınızı aldım. Teşekkürler Hocam.

ferruh

ete hocamıza emeğinden dolayı teşekkürler..

gogoce

Hocam Selamlar. 16F1827 de portb değişim kesmesi sanırım biraz farklı IOC registerleri de işin içine giriyor sanırım. Bu konuda bir dersiniz olacak mı? Şu an portb değişim kesmesi ile ilgili bir problemim var PBP dökümanı bulamadım açıkçası
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

ete

Diğerlerinden farklı bir prosedürü yok ancak ilave parametreleri var.
- Öncelikle INTCON registerinden 7 nolu biti Genel Kesme açma biti olarak ve 3 nolu biti SET ediyoruz. Bu IOCIE yani Port Değişiklik Kesmesi Enable biti oluyor.
-Daha sonra hangi PORTB pinlerinin kesme yaratacağına karar verip IOCBP (Yükselen Kenarda Kesme oluşturma) registerinden bu pinlere karşılık gelen bitleri set ediyorsun. Veya Düşen kenarda kesme oluşturacak isen aynı işlemi IOCBN (Düşen Kenarda Kesme oluşturma) registerinde yapıyorsun.
Ayarlamış olduğun pinlerden birisinde değişiklik meyada geldiğinde bu sefer IOCBF yani Değişiklik kesmesi kesme bayrağı registerşne bakıp hangi bitin set edildiğine bakarak kimin kesme yarattığını anlıyorsun.
Eski işlemcilerde yalnızca 4 pin kesme yaratırken bu işlemcide giriş olarak atanmış olan bütün PORTB pinleri değişiklik kesmesi yaratabiliyor. Bunu IOCBP ve IOCBN registerlerinden görebilirsin. Bunun için data sheet'e bakman yeterli. Aslında bütün bu bilgiyi bende data sheet den okuyarak sana aktarıyorum. Hazır döküman aramak yerine direk data sheet'e baksan görecektin zaten.
Son olarak kesme oluştuktan sonra kesme bayrağının sıfırlanması işini açıklayayım. Eski işlemcilerde PortB nin veya yalnıca kesme yaratacak pinlerin durumlarının okunup bir TEMP değişkenine aktarılması bayrağın sıfırlanmasını sağlar iken bu işlemcide direk IOCBF.x yani iligli bite tekabül eden bayrak bitini sıfıra eşitlemek yeterli olmaktadır. Örneğin PORTB.7 kesme oluşturmuş ise IOCBF.7=0 (IOCBF7 biti) şeklinde sıfırlanması bayrağı silecektir.

Hepsi bu kadar.

Ete

gogoce

Alıntı yapılan: ete - 20 Eylül 2024, 08:29:55Diğerlerinden farklı bir prosedürü yok ancak ilave parametreleri var.
- Öncelikle INTCON registerinden 7 nolu biti Genel Kesme açma biti olarak ve 3 nolu biti SET ediyoruz. Bu IOCIE yani Port Değişiklik Kesmesi Enable biti oluyor.
-Daha sonra hangi PORTB pinlerinin kesme yaratacağına karar verip IOCBP (Yükselen Kenarda Kesme oluşturma) registerinden bu pinlere karşılık gelen bitleri set ediyorsun. Veya Düşen kenarda kesme oluşturacak isen aynı işlemi IOCBN (Düşen Kenarda Kesme oluşturma) registerinde yapıyorsun.
Ayarlamış olduğun pinlerden birisinde değişiklik meyada geldiğinde bu sefer IOCBF yani Değişiklik kesmesi kesme bayrağı registerşne bakıp hangi bitin set edildiğine bakarak kimin kesme yarattığını anlıyorsun.
Eski işlemcilerde yalnızca 4 pin kesme yaratırken bu işlemcide giriş olarak atanmış olan bütün PORTB pinleri değişiklik kesmesi yaratabiliyor. Bunu IOCBP ve IOCBN registerlerinden görebilirsin. Bunun için data sheet'e bakman yeterli. Aslında bütün bu bilgiyi bende data sheet den okuyarak sana aktarıyorum. Hazır döküman aramak yerine direk data sheet'e baksan görecektin zaten.
Son olarak kesme oluştuktan sonra kesme bayrağının sıfırlanması işini açıklayayım. Eski işlemcilerde PortB nin veya yalnıca kesme yaratacak pinlerin durumlarının okunup bir TEMP değişkenine aktarılması bayrağın sıfırlanmasını sağlar iken bu işlemcide direk IOCBF.x yani iligli bite tekabül eden bayrak bitini sıfıra eşitlemek yeterli olmaktadır. Örneğin PORTB.7 kesme oluşturmuş ise IOCBF.7=0 (IOCBF7 biti) şeklinde sıfırlanması bayrağı silecektir.

Hepsi bu kadar.

Ete
hocam cevap için teşekkürler. Datasheetten tam olarak anlayamadığım noktalar olmuştu. Sonra mantık yürüterek çözdüm. Sonra sizin mesajınızı gördüm . Ders notlarına eklerseniz belki diğer arkadaşlara faydası olur düşüncesindeydim.
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

Powered by EzPortal