Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI.

Benzer bir sunumlar


... konulu sunumlar: "DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI."— Sunum transkripti:

1 DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI

2 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 2İÇERİK  KESME NEDİR  KESME ÇEŞİTLERİ  INTCON SAKLAYICISI  RBO/INT KESMESİ  PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ

3 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 3 KESME PIC’in bazı portlarındaki veya yapısında bulunan bir sayıcıda belli şartların oluşması durumunda, çalışmakta olan programın geçici olarak kesilerek (ara verilerek) ayrı bir alt programın işletilmesi ve bu alt programın bitiminde de tekrar ara verilen programa kalındığı noktadan geri dönülmesi işlemidir.PIC’in bazı portlarındaki veya yapısında bulunan bir sayıcıda belli şartların oluşması durumunda, çalışmakta olan programın geçici olarak kesilerek (ara verilerek) ayrı bir alt programın işletilmesi ve bu alt programın bitiminde de tekrar ara verilen programa kalındığı noktadan geri dönülmesi işlemidir. Bunun alt program işletilmesinden farkı;Bunun alt program işletilmesinden farkı; Alt program kullanıcı tarafından istenilen anda CALL komutu ile çağrılırAlt program kullanıcı tarafından istenilen anda CALL komutu ile çağrılır Interrupt donanım tarafından belli şartlar oluştuğunda başlatılırInterrupt donanım tarafından belli şartlar oluştuğunda başlatılır

4 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 4 KESME İŞLEM ADIMLARI Bir interrupt oluştuğunda o an çalışmakta olan komut tamamlanırBir interrupt oluştuğunda o an çalışmakta olan komut tamamlanır Sonraki çalışacak komutun bulunduğu program belleği adresi (Program Counter saklayıcısının değeri) yığın saklayıcısına (Stack) atanırSonraki çalışacak komutun bulunduğu program belleği adresi (Program Counter saklayıcısının değeri) yığın saklayıcısına (Stack) atanır Programın işletilmesi standart kesme programının başlangıç adresi olan h’04’ adresine dallanılır (kesme alt programı işletilir)Programın işletilmesi standart kesme programının başlangıç adresi olan h’04’ adresine dallanılır (kesme alt programı işletilir) RETFIE komutu ile kseme alt programı sonlandırılırRETFIE komutu ile kseme alt programı sonlandırılır STACK’de bulunan değer PC’ye aktarılır ve çalışmakta olan programa kaldığı yerden devam edilmiş olurSTACK’de bulunan değer PC’ye aktarılır ve çalışmakta olan programa kaldığı yerden devam edilmiş olur

5 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 5 KESME İŞLEM ADIMLARI Kesme programının işletilmesi adımları, Mikrodenetleyiciler ve PIC Prog., sayfa 158

6 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 6 KESME TÜRLERİ PIC 16F84’de interrupt oluşturan 4 kaynak vardır: 1.RB0/INT ucuna gelen lojik 1 veya 0 sinyali ile 2.TMR0 sayıcısından gelen zaman aşımı ile 3.PORTB Bitleri lojik seviye değişikliği ile 4.Veri belleğine yazma işleminin tamamlanması ile

7 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 7 INTERRUPT İŞLEMİNİN KONTROLÜ Interrupt işlemlerini düzenleyip kontrol etmek amacıyla INTCON file register’ı kullanılır.Interrupt işlemlerini düzenleyip kontrol etmek amacıyla INTCON file register’ı kullanılır. Bu file register iki amaçla kullanılır:Bu file register iki amaçla kullanılır: 1.Belirli tür kesme işlemlerine izin verme 2.Kontrol bayrakları (flag) sayesinde bir kesme oluştuğunda hangi tür olduğunu belirlemede

8 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 8 INTCON SAKLAYICI INTCON saklayıcı bitlerin açıklaması, Mikrodenetleyiciler ve PIC Prog., sayfa 164

9 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 9 INTERRUPT İŞLEMİNİN KONTROLÜ INTCON file register’ının 7. Bit olan GIE aslında donanım tarafından kullanılır:INTCON file register’ının 7. Bit olan GIE aslında donanım tarafından kullanılır: Bir kesme oluştuğunda GIE ‘0’ olurBir kesme oluştuğunda GIE ‘0’ olur Bu sayede kesme alt programı çalışırken oluşabilecek yeni bir kesme ile kesme programının çalışması aksamazBu sayede kesme alt programı çalışırken oluşabilecek yeni bir kesme ile kesme programının çalışması aksamaz RETFIE komutu ile ana programa geri dönüldüğünde ise GIE ‘1’ yapılırRETFIE komutu ile ana programa geri dönüldüğünde ise GIE ‘1’ yapılır Bu sayede de olası sonraki kesmelerin geçerli olması (enable) sağlanırBu sayede de olası sonraki kesmelerin geçerli olması (enable) sağlanır Dolayısıyla bu bayrağın kontorlünün alt programda ele alınması gerekmez.Dolayısıyla bu bayrağın kontorlünün alt programda ele alınması gerekmez.

10 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 10 RB0/INT KESMESİ Bu PIC’ın RB0/INT ucundan gelen lojik 0 veya 1 sinyali ile kesme oluşturması işlemidirBu PIC’ın RB0/INT ucundan gelen lojik 0 veya 1 sinyali ile kesme oluşturması işlemidir Mesela şu ana kadar programlarımızda bir tuşa basılı olduğunu anlamak için sanki ana programda bir parçasıymış gibi sürekli olarak bunu kontrol ettiriyordukMesela şu ana kadar programlarımızda bir tuşa basılı olduğunu anlamak için sanki ana programda bir parçasıymış gibi sürekli olarak bunu kontrol ettiriyorduk Bu kesmenin kullanımı ile ana program asıl işlevini yaparken tuşa basıldığı bir kesme ile haber verilir ve gerekenler ilgili alt programda yapılabilirBu kesmenin kullanımı ile ana program asıl işlevini yaparken tuşa basıldığı bir kesme ile haber verilir ve gerekenler ilgili alt programda yapılabilir

11 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 11 RB0/INT KESMESİ RB0/INT interrupt’ı kullanabilmek içinRB0/INT interrupt’ı kullanabilmek için 1.RB0/INT bacağı giriş olarak programlanmalı 2.INTCON saklayıcısı içerisindeki INTE biti 1 yapılarak bu kesmeye izin verilmeli 3.Bu uçtan gelen sinyalin 0  1 geçişinde mi yoksa 1  0 geçişinde mi kesme oluituracağı belirlenmelidir. Bu amaçla kullanılan OPTION saklayıcısının 6.biti (INTEDG): 0 = düşen kenarda kesme0 = düşen kenarda kesme 1 = yükselen kenarda kesme oluşturur1 = yükselen kenarda kesme oluşturur

12 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 12 RB0/INT KESMESİ ALT PROGRAMI Burada dikkat edilecek noktalar:Burada dikkat edilecek noktalar: 1.Programın başlangıcında INTE bitini 0 yap 2.Alt program işlemlerini gerçekleştir 3.INTF bayrağını 0 yap 4.INTE bitini 1 yap 5.RETFIE ile alt programdan dön

13 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 13 RBO/INT kesmesi için bir örnek program akış diyagramı, Mikrodenetleyiciler ve PIC Prog., sayfa 165

14 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 14 RBO/INT kesmesi için bir örnek program, Mikrodenetleyiciler ve PIC Prog., sayfa 165

15 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 15 RBO/INT kesmesi için bir örnek program, Mikrodenetleyiciler ve PIC Prog., sayfa 165

16 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 16 PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ Bu PIC’in RB4-RB7 pinlerinin lojik seviyelerinde değişiklik olması durumunda bir kesmenin oluşması olyıdırBu PIC’in RB4-RB7 pinlerinin lojik seviyelerinde değişiklik olması durumunda bir kesmenin oluşması olyıdır Genellikle enerji kaynaklarından tasarruf etmek için bir işlemin yapılmadığı uyku modunda bulunan PIN’i aktif hale getirmede kullanılırGenellikle enerji kaynaklarından tasarruf etmek için bir işlemin yapılmadığı uyku modunda bulunan PIN’i aktif hale getirmede kullanılır Mesela klavyede bir tuşa basıldığında PIC bunu bir kesme olarak algılar ve normal çalışmasına başlarMesela klavyede bir tuşa basıldığında PIC bunu bir kesme olarak algılar ve normal çalışmasına başlar

17 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 17 PORTB (RB4-RB7) LOJİK SEVİYE DEĞİŞİKLİK KESMESİ RB4-RB7 interrupt’ı kullanabilmek içinRB4-RB7 interrupt’ı kullanabilmek için 1.RB uçları giriş olarak programlanmalı 2.INTCON saklayıcısı içerisindeki RBIE biti 1 yapılarak bu kesmeye izin verilmelidir

18 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 18 RB4-RB7 KESMESİ ALT PROGRAMI Burada dikkat edilecek noktalar:Burada dikkat edilecek noktalar: 1.Programın başlangıcında RBIE bitini 0 yap 2.Alt program işlemlerini gerçekleştir 3.RBIF bayrağını 0 yap 4.RBIE bitini 1 yap 5.RETFIE ile alt programdan dön

19 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 12, Slayt 19 RB4-RB7 kesmesi için bir örnek program, Mikrodenetleyiciler ve PIC Prog., sayfa 170

20 DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI - SON - - Kaynak: Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN


"DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI." indir ppt

Benzer bir sunumlar


Google Reklamları