8051 Mikrodenetleyicide ve Yapıda ve Programlamada Kesintiler

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





En güçlü ve önemli özellikler, 8051 mikrodenetleyici . Gerçek zamanlı süreçlerin çoğunda, belirli koşulları doğru bir şekilde ele almak için, asıl görev bir süre durdurulmalı - gerekli eylemi gerçekleştirir - ve ardından ana göreve geri dönmelidir. Bu tür programları yürütmek için kesintiler gereklidir. İşlemcinin her cihazı sırayla kontrol etmesi ve daha fazla işlemci zamanı tüketirken hizmetin gerekli olup olmadığını sorması gerektiği yoklama yönteminden tamamen farklıdır.

8051 mikro denetleyicide kesintiler

8051 mikro denetleyicide kesintiler



8051 mikro denetleyicideki kesintiler, arayüzlü cihazların veya dahili cihazların düzenli durum kontrolünü azaltmak için daha çok tercih edilir. Kesinti, ana programı geçici olarak askıya alan, kontrolü özel bir kod bölümüne geçiren, olayla ilgili işlevi yürüten ve kaldığı yerden ana program akışına devam eden bir olaydır.


Kesmeler, yazılım ve donanım, maskelenebilir ve maskelenemez, sabit ve vektör kesintiler gibi farklı türdedir. Interrupt Service Routine (ISR), kesme meydana geldiğinde resme gelir ve işlemciye kesme için uygun eylemi yapmasını söyler ve ISR yürütmesinden sonra, denetleyici ana programa atlar.



8051 Mikrodenetleyicide Kesinti Türleri

8051 mikro denetleyici, ana programın normal çalışmayı kesintiye uğratmasına neden olan beş farklı olayı tanıyabilir. 8051'deki bu beş kesinti kaynağı şunlardır:

  1. Zamanlayıcı 0 taşma kesintisi - TF0
  2. Zamanlayıcı 1 taşma kesintisi - TF1
  3. Harici donanım kesintisi - INT0
  4. Harici donanım kesintisi - INT1
  5. Seri iletişim kesintisi - RI / TI

Zamanlayıcı ve Seri kesmeler, mikro denetleyici tarafından dahili olarak üretilirken, harici kesmeler ek olarak üretilir. arayüz cihazları veya mikro denetleyiciye harici olarak bağlanan anahtarlar. Bu harici kesintiler, kenar tetiklemeli veya seviye tetiklemeli olabilir. Bir kesinti meydana geldiğinde, mikro denetleyici, kesinti hizmeti rutinini yürütür, böylece bellek konumu, bunu sağlayan kesmeye karşılık gelir. Bellek konumuna karşılık gelen Kesme, aşağıdaki kesme vektörü tablosunda verilmiştir.

Kesinti vektör tablosu

Kesinti vektör tablosu

8051 Mikro denetleyicinin Kesme Yapısı

'RESET' üzerine tüm kesintiler devre dışı kalır ve bu nedenle, tüm bu kesintiler bir yazılım tarafından etkinleştirilmelidir. Tüm bu beş kesmede, herhangi biri veya tümü etkinleştirilirse, bu şekilde gösterildiği gibi karşılık gelen kesme bayraklarını ayarlar. Tüm bu kesintiler, Interrupt Enabled (IE) olan bazı özel fonksiyon registerlarında ayarlanabilir veya silinebilir ve bu da IP interrupt öncelik kaydı tarafından yürütülen önceliğe bağlıdır.


8051 mikro denetleyicinin kesinti yapısı

8051 mikro denetleyicinin kesinti yapısı

Kesme Etkinleştirme (IE) Kaydı: Bu kayıt, kesmenin etkinleştirilmesinden ve devre dışı bırakılmasından sorumludur. Kesintileri etkinleştirmek için EA'nın bire ayarlanması gereken biraz adreslenebilir bir kayıttır. Bu kayıttaki karşılık gelen bit, zamanlayıcı, harici ve seri girişler gibi belirli kesintileri etkinleştirir. Aşağıdaki IE kaydında, 1'e karşılık gelen bit kesmeyi etkinleştirir ve 0 kesmeyi devre dışı bırakır.

Kesme Etkinleştirme (IE) Kaydı

Kesme Etkinleştirme (IE) Kaydı

Kesme Öncelik Kaydı (IP): Kesintilerin öncelik seviyelerini, şekilde gösterildiği gibi Kesme önceliği (IP) kaydındaki ilgili biti ayarlayarak veya temizleyerek değiştirmek de mümkündür. Bu, düşük öncelikli kesmenin yüksek öncelikli kesmeyi kesmesine izin verir, ancak başka bir düşük öncelikli kesmenin kesmesini yasaklar. Benzer şekilde, yüksek öncelikli kesme kesintiye uğratılamaz. Bu kesme öncelikleri programlanmadıysa, mikro denetleyici önceden tanımlanmış şekilde çalışır ve sırası INT0, TF0, INT1, TF1 ve SI'dır.

IP kaydı

IP kaydı

TCON Kaydı: Yukarıdaki iki kayda ek olarak, TCON kaydı, şekilde gösterildiği gibi 8051 mikro denetleyiciye harici kesinti türünü belirtir. İki harici kesinti, ister kenar ister seviye tetiklenmiş olsun, bu kayıt tarafından bir küme ile belirlenir veya içindeki uygun bitler tarafından silinir. Ve ayrıca biraz adreslenebilir bir kayıttır.

TCON Kaydı

TCON Kaydı

8051'de Programlamayı Kes

1. Zamanlayıcı Kesme Programlama

Zamanlayıcı 0 ve Zamanlayıcı 1 kesintileri, zamanlayıcı yazmaç bitleri TF0 ve TF1 tarafından üretilir. Bu kesintiler C koduyla programlama içerir:

  • TMOD kaydını ve çalışma modunu yapılandırarak zamanlayıcıyı seçme.
  • Uygun modlar için TLx ve THx'in başlangıç ​​değerlerini seçme ve yükleme.
  • IE kayıtlarını ve içindeki ilgili zamanlayıcı bitini etkinleştirmek.
  • Zamanlayıcıyı başlatmak için zamanlayıcı çalıştırma bitini ayarlama.
  • Zamanlayıcı için alt yordamı gerekli süre için yazmak ve alt yordamın sonunda zamanlayıcı değeri TRx'i temizleyin.
Timer Interrupt Programlama

Timer Interrupt Programlama

2. Harici Donanım Kesinti Programlaması

8051 mikro denetleyiciler, iki harici donanım kesintisinden oluşur: INT0 ve INT1, daha önce tartışıldığı gibi. Bunlar, pim 3.2 ve pim 3.3'te etkinleştirilir. Bunlar kenar tetiklemeli veya seviye tetiklemeli olabilir. Seviye tetiklemede, pim 3.2'deki alçak kesmeyi sağlarken, pim 3.2'de - yüksekten alta geçiş, kenarla tetiklenen kesmeyi mümkün kılar. Bu kenar tetiklemeye veya seviye tetiklemeye, yukarıda tartışılan TCON yazmacı tarafından karar verilir. 8051'de programlama prosedürü Şöyleki:

  • IE kaydında ilgili harici kesinti bitini etkinleştirin.
  • Seviye tetikleme ise, sadece bu kesmeye uygun alt yordamı yazın veya ister INT0 ister INT1 olsun kenar tetiklemeli kesmeye karşılık gelen TCON yazmaç bitini etkinleştirin.
Harici Donanım Kesinti Programlaması

Harici Donanım Kesinti Programlaması

3. Seri Haberleşme Kesme Programlama

Veri gönderme veya alma ihtiyacı olduğunda seri iletişim kesintileri devreye girer. Hem TI (Transfer Interrupt) hem de RI (Receiver Interrupt) bayrakları için bir kesme biti ayarlandığından, Interrupt Service rutini gerçek kesmeyi bilmek için bu bayrakları incelemelidir.

Bu iki bayrağın mantıksal OR işlemi (RI ve TI) bu kesmeye neden olur ve yalnızca yazılım tarafından temizlenir. Burada, kontrol etmek için özel bir kayıt SCON kullanılır. iletişim içindeki ilgili bitleri etkinleştirerek işlem.

  • Seri kesmeyi etkinleştirmek için IE kaydını yapılandırın
  • SCON kaydını alma veya aktarma işlemi için yapılandırın
  • Uygun işlevle bu kesme için alt yordam yazın ve bu yordamda TI veya RI bayraklarını temizleyin.
Seri Kesme Programlama

Seri Kesme Programlama

Bu tamamen 8051 mikrodenetleyicideki kesintiler, türleri, yapıları ve programlamayla ilgili. Umarım bu makaleden iyi bilgiler almışsınızdır. Ayrıca, gerçek zamanlı uygulaması için aşağıdaki yorum bölümünde bize yazabilirsiniz. mikrodenetleyici projeleri Daha iyi bir uygulamalı deneyim için size yardımcı olabilmemiz için.

Fotoğrafa katkı verenler