BÖLÜM 7 Kesmeler.

Benzer belgeler
MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Mikroişlemcili Sistemler ve Laboratuvarı

Kesmeler (Interrupts)

BÖLÜM 6 Seri Port Đşlemleri

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

BÖLÜM in Bellek Organizasyonu

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

Ad Soyad: Öğrenci No:

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

Mikrobilgisayar Mimarisi ve Programlama

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C

BÖLÜM Mikrodenetleyicisine Giriş

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

MTM 305 MİKROİŞLEMCİLER

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

KESME (INTERRUPT) NEDİR?

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir

Y. Müh. Ayhan Yüksel. (Son güncelleme: Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

Yığın MİKROİŞLEMCİ SİSTEMLERİ. Yığın. Örnek MİB için Yığın. Yığma İşlemi. Çekme İşlemi

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

DENEY III RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Proses. Prosesler 2. İşletim Sistemleri

Alt Programdan Ana Programa Dönüş Adresine Donanım Tarafından Hesaplanması

PROSESLER. Proses. Proses

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

SAUEEE.ORG. Önce C 00 Sonrası C 00

UYGULAMA-2 1. ÖZET 2. UYGULAMALAR. 2.1 PORT2 nin kullanımı

B.Ç. / E.B. MİKROİŞLEMCİLER

Deney 2. Kesme Uygulamaları

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

9. MERKEZİ İŞLEM BİRİM MODÜLÜ TASARIMI

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

TachoMobile Server Uygulaması Kullanım Kılavuzu

İşlem Buyrukları MİKROİŞLEMCİ SİSTEMLERİ. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Aritmetiksel Komutlar

8051 DONANIM ÖZELLİKLERİ

TIMER. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

ASSEMBLY DİLİNDE PROGRAMLAMA

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

8051 Mikrokontrolcü Ailesi

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk bit 07FF kullanıcının program alanı

Mikrobilgisayar Donanımı

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Bölüm 9 FBs PLC Interrupt (Kesme) Fonksiyonu

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1

JZ TEST3 (7/3) 1 makine çevrimi süresi

K uark projesi. Temel Özellikler :

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Mikroişlemcili Sistemler ve Laboratuvarı

LCD EKRANIN SÜRÜLMESİ VE FLASH/EE HAFIZASININ KULLANILMASI

Ayhan Yüksel. (Son güncelleme: Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

MTM 305 MİKROİŞLEMCİLER

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Mikroişlemcili Sistemler ve Laboratuvarı

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BM-311 Bilgisayar Mimarisi

(5 soru seçerek cevaplandırınız. Seçilen soru numaralarını yukarıdaki çizelgede işaretleyiniz) Sınav süresi 100 dakikadır. Başarılar dileriz.

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

LCD (Liquid Crystal Display)

Komutların Yürütülmesi

İşletim Sistemlerine Giriş

5. Kesme (Interrupt)

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

PAPATYA YAYINCILIK EĞİTİM

CP1E-ARGOX AS8000-R SERI PORT HABERLEŞMESİ GENEL BILGI BAĞLANTI ŞEMASI HABERLEŞME AYARLARI RXD KOMUTU HABERLEŞME PROGRAMI

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

Bilgisayar Mimarisi. a) MİB'in sadece bir kesme isteği girişi var. Kesme kabul (interrupt acknowledgement) çıkışı yok. Örnek: 6802

DENEY-4. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Trafik Işık Kontrolü

Gelişmiş Fonksiyon Komutu FUN 65 LBL FUN 65 LBL ETİKET. S : Alfa-numerik, 1~6 karakter

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

MTM 305 MĠKROĠġLEMCĠLER

PIC16F877A nın Genel Özellikleri

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Transkript:

C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 7 Kesmeler www.8051turk.com

Amaçlar Kesme tanımını ve önemini kavramak 8051 mikrodenetleyicisinin kesme yapısını öğrenmek 8051 de kullanılan kesme türlerini öğrenmek Kesmeleri kullanarak uygulama geliştirmek

Kesme-Yoklama Kavramları Yoklama: Kontrol edilmek istenen giriş/çıkış ucu ya da bayrak, yazılım yardımıyla belli zaman aralıklarında sürekli denetlenir. Komut Kontrol: JNB TF1,Kontrol Açıklama ;T1 taşma bayrağını kontrol et Kesme: Mikrodenetleyicinin donanımsal olarak denetimde bulunmasıdır.

Kesme ile Yoklama Yönteminin Karşılaştırılması Sürekli denetim (yoklama) işleminde Mikrodenetleyici, yalnızca bir bayrak ya da giriş/çıkış ucunu kontrol edebilmektedir. Dolayısıyla başka bir işlem gerçekleştirememektedir. Kesme yönteminde Mikrodenetleyici normal çalışmasına devam etmektedir Herhangi bir kesme sinyali oluştuğunda o kesmeye ait alt programı icra edip, ana programa (kaldığı yere) geri dönülmektedir. Bu sayede mikrodenetleyici aynı zamanda birden fazla işlemi gerçekleştirebilmektedir.

Kesmelerin Çalışması Kesme geldiğinde çalıştırılan alt programa kesme hizmet programı (ISR-Interrupt Service Routine) denir. ISR ler icra ettirildikten sonra ana programda kalınan yere dönülür. zaman Ana program Ana program Ana program ISR Ana program ISR Daha yüksek önceliğe sahip kesme ISR ISR ISR Ana program Ana program Kesmesiz program Kesmeli program

8051 Kesme Organizasyonu Standart 8051 mikrodenetleyicisinde 5 adet kesme kaynağı bulunmaktadır. Dahili kesmeler Zamanlayıcı/sayıcı 0 (TF0) Zamanlayıcı/sayıcı 1 (TF1) Seri haberleşme (TI, RI) Harici Kesmeler Harici kesme 0 (INT0) Harici kesme 1 (INT1).

Kesmelerin Yetkilendirilmesi IE Kesme Yetkilendirme Saklayıcısı A8H 0 0 0 0 0 0 0 0 EA ET2 ES ET1 EX1 ET0 EX0 Bit 7 Bit 0 Reset Değeri Bit Adı Bit No Đsmi Bit Adresi Açıklama IE.0 EX0 A8h Harici kesme 0 ( INT 0 ) yetkilendirme biti IE.1 ET0 A9h Zamanlayıcı/sayıcı 0 (T0) kesme yetkilendirme biti IE.2 EX1 AAh Harici kesme 1 ( INT 1) yetkilendirme biti IE.3 ET1 ABh Zamanlayıcı/sayıcı 1 (T1) kesme yetkilendirme biti IE.4 ES ACh Seri port kesme yetkilendirme biti IE.5 ET2 ADh Zamanlayıcı/sayıcı 2 (T2) kesme yetkilendirme biti IE.6 AEh Kullanılmıyor IE.7 EA AFh Genel kesme yetkilendirme biti

Kesmelerin Yetkilendirilmesi IE Kesme Yetkilendirme Saklayıcısı A8H 0 0 0 0 0 0 0 0 EA ET2 ES ET1 EX1 ET0 EX0 Bit 7 Bit 0 Reset Değeri Bit Adı Komut Açıklama SETB EX0 ; INT0 kesmesinin yetkilendirilmesi SETB EA ;Tüm kesmeleri yetkilendir MOV IE,#10000001B EA EX0 ;Byte olarak kesmesinin ;yetkilendirilmesi

8051 Kesme Organizasyonu INT 0 IT0 0 1 IE0 EX0 Zamanlayıcı 0 T0 TF0 ET0 INT 1 IT1 0 1 IE1 EX1 EA KESME Zamanlayıcı 1 T1 TF1 ET1 Seri Haberleşme TI RI ES Zamanlayıcı 2 T2 TF2 EXF2 ET2

Kesme Öncelik Sırasının Belirlenmesi Eş zamanlı olarak birden fazla kesme meydana gelebilir. Bu durumda kesmelere bir öncelik verilmelidir. Kesmelerin öncelikleri IP saklayıcısındaki ilgili bitler ile belirlenir. IP Kesme Önceliği Kontrol Saklayıcısı B8H 0 0 0 0 0 0 0 0 Reset Değeri PT2 PS PT1 PX1 PT0 PX0 Bit Adı Bit 7 Bit 0 Bit No Đsmi Bit Adresi Açıklama IP.0 PX0 B8h Harici kesme 0 ( INT 0 ) öncelik biti IP.1 PT0 B9h Zamanlayıcı/sayıcı 0 (T0) kesme öncelik biti IP.2 PX1 BAh Harici kesme 1 ( INT 1 ) öncelik biti IP.3 PT1 BBh Zamanlayıcı/sayıcı 1 (T1) kesme öncelik biti IP.4 PS BCh Seri port kesme öncelik biti IP.5 PT2 BDh Zamanlayıcı/sayıcı 2 (T2) kesme öncelik biti IP.6 ---- BEh Kullanılmıyor IP.7 ---- BFh Kullanılmıyor

Kesme Öncelik Sırasının Belirlenmesi IP Kesme Önceliği Kontrol Saklayıcısı B8H 0 0 0 0 0 0 0 0 PT2 PS PT1 PX1 PT0 PX0 Bit 7 Bit 0 Reset Değeri Bit Adı Komut MOV IP,#00001000B PT1=1 Açıklama ;Z/S 1 kesmesi yüksek önceliklidir. T1 ;ile birlikte aynı anda gelen diğer ;kesmeler iptal edilecek ve ;yalnızca T1 ;çalıştırılacaktır MOV IP,#00001001B PT1 PX0 ; INT 0 ve Z/S 1 kesmeleri yüksek ;önceliklidir. Bu kesmeler aynı anda ;oluşursa, aynı öncelik düzeyine sahip ;olduklarından tarama sırasına ;bakılır ;ve kesmesi çalıştırılır. INT 0

Kesme Vektör Adresleri Program belleğinde, her bir kesme kaynağı için kesme hizmet program (ISR) alanı tahsis edilmiştir. Bir kesme geldiğinde, program doğrudan kesmeye tahsis edilmiş olan program belleğindeki alanın başlangıç adresine gider ve bu alandaki komutlar işletilir. Kesme kaynakları için ayrılan alanın program belleğindeki başlangıç adresi Kesme Vektörü olarak adlandırılır. Kesme Kaynağı Bayrak Kesme Vektör Adresi Reset RST 0000h Harici Kesme 0 IE0 0003h Zamanlayıcı/sayıcı 0 TF0 000Bh Harici Kesme 1 IE1 0013h Zamanlayıcı/sayıcı 1 TF1 001Bh Seri Port RI, TI 0023h Zamanlayıcı/sayıcı 2 TF2, EXF2 002Bh

Kesme Vektör Adresleri Program belleğinde, her bir kesme kaynağı için kesme hizmet program (ISR) alanı tahsis edilmiştir. Bir kesme geldiğinde, program doğrudan kesmeye tahsis edilmiş olan program belleğindeki alanın başlangıç adresine gider ve bu alandaki komutlar işletilir. Kesme kaynakları için ayrılan alanın program belleğindeki başlangıç adresi Kesme Vektörü olarak adlandırılır. Kesme Kaynağı Bayrak Kesme Vektör Adresi Reset RST 0000h Harici Kesme 0 IE0 0003h Zamanlayıcı/sayıcı 0 TF0 000Bh Harici Kesme 1 IE1 0013h Zamanlayıcı/sayıcı 1 TF1 001Bh Seri Port RI, TI 0023h Zamanlayıcı/sayıcı 2 TF2, EXF2 002Bh

Kesme Vektör Adresleri Ana programın başlangıç adresinin kesme vektörlerine denk gelmemesi gerekmektedir. Bundan dolayı ana program 0000h adresinden başlatıldıktan sonra SJMP 0030h komutu yardımıyla kesme vektörleri atlanmalıdır. Komut Açıklama ORG 0000h ;Program 0000h adresinden başlasın SJMP ANA ;Ana programa dallan (kesme vektörlerini atla) ORG 0030h ;Ana Program 0030h adresinden başlasın ANA: ;Ana program ;Ana program

Kesme Vektör Adresleri Program belleğinde herbir kesme kaynağı için ayrılan bellek alanı 8 Byte tır. Kesme hizmet programları bu 8 Byte lık alana yazılır. 8 byte uzunluğu aşmayan kesme hizmet programları kısa kesme hizmet programı olarak adlandırılırlar. Mikrodenetleyici, kesme hizmet programının bittiğini RETI (Return from Interrupt) komutu ile anlamaktadır. RETI Program Sayacı nın eski değerinin yığından alınmasını ve ana programın kalınan yerinden devam edilmesini sağlar.

Kısa Kesme Hizmet Program Komut Açıklama ORG 0000h ;Program 0000h adresinden başlasın SJMP ANA ;Ana programa dallan ORG 0013h ;Z/S 1 kesme vektörü Kesme_T1: ;Z/S 1 kesme hizmet programı RETI ;Ana programa geri dön ORG 0030h ;Program 0030h adresinden başlasın ANA : ;Ana program ;Ana program

Uzun Kesme Hizmet Program Komut Açıklama ORG 0h ;Program 0000h adresinden başlasın SJMP ANA ;Ana programa dallan ORG 013h ;Z/S 1 kesme vektörü LJMP Kesme_T1 ;Z/S 1 kesme hizmet programına dallan ORG 030h ;Program 0030h adresinden başlasın ANA : ;Ana program ;Ana program Kesme_T1: ;Z/S 1 kesme hizmet programı RETI ;Z/S 1 kesme hizmet programı ;Ana programa geri dön

Örnek Uygulama Komut Açıklama ORG 0H ;Programa başlangıç adresi SJMP ANA ;Ana programa dallan ORG 03H ;INT0 kesme vektörü SJMP YUKARI ;INT0 ISR sine dallan(yukarı sayma) ORG 13H ;INT1 kesme vektörü SJMP ASAGI ;INT 1 ISR sine dallan(aşağı sayma) ORG 30H ;Ana program başlangıç adresi ANA :MOV IE,#85H ;INT0 ve INT1 kesmelerinin yetkilendirilmesi SETB IT0 ;INT0 ın düşen kenar tetikleme ayarı SETB IT1 ;INT1 in düşen kenar tetikleme ayarı TEKRAR:SJMP TEKRAR ;Boş da bekle YUKARI:INC P1 ;Sayma değerini 1 arttır RETI ;Kesmeden geri dön ASAGI :DEC P1 ;Sayma değerini 1 azalt RETI ;Kesmeden geri dön END ;Programı sonlandır

Kesmelerin Çalışması Bir kesme isteği alındığında mikrodenetleyicideki işlemler O an çalıştırılmakta olan komutun çalışması tamamlanır. Program sayacının değeri (PC) yığına (Stack) kaydedilir. Gelen kesme durumu dahili olarak kaydedilir. Diğer kesmeler (düşük öncelikli) engellenir. Program sayacı, kesme hizmet programının vektör adresi ile yüklenir. Kesme hizmet programı çalışmaya başlar.