RB0 ve TMR0 kesmesi birlikte

Başlatan paradox, 09 Haziran 2007, 21:48:44

paradox

merhaba ,

RB0 kesmesi ile TMR0 kesmesini birlikte kullanmak istiyorum.program akışı şu şekilde.RB0 a bağlı bir butona basıldığında kesme alt yordamına gitcek .alt yordama girdiği anda tmr0 kesmesi aktif hale geçecek.20 saniyelik bir zamanlayıcı görevi görecek bu tmr0.süre bittiğinde tmr0 için belirlenen alt yordama gitcek ve burda da gptp anaprogram ile programın başına gidilecek.
burada takıldığım konu on interrupt gptp kesme dediğimizde program rbo kesmesi ile kesme alt yordamınna gider ama tmr0 ın kesme alt yordamını nerde tanımlıycam.yani nasıl yapacağım ikisini birlikte.yardımcı olan olursa çok sevinirm.

kolay gelsin...

ete

Sorunun cevabı INTCON REGISTERI nde. Ancak TMR0 kesmesini her zaman açmayacaksın anladığım kadarı ile. Bu durumda;
Başlangıçta TMR0 kesmesini açmadan yalnız RB0 kesmesini aç,
INTCON=%10010000 şeklinde.
RB0 kesmesi oluşmuş ise ikisini kesme kısmında ayırd et ilgili bit ve bayrak bitlerine bakarak yapabilirsin bunu. Sonra RB0 oluşmuş ise önce orada TMR0 kesmesini aç.
örnek ,
KESME:
         IF INTCON.5=1 & INTCON.2=1  THEN  'TMR0 kesmesi açık ve kesmo TMR0'a ait ise
          'burada    TMR0 a ait işleri yap
         INCON.2=1  'TMR0 kesmesi bayrağı sıfırla
         INTCON.5=0     gerekirse TMR0 kesmesini kapat
         ENDIF
       
         Bu satırın altndan itibaren RB0 kesmesine ait işlemleri yaptır.

    ve sonunda resume ile kesmeden ayrıl.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sinancnc

Üstadlarım aynı anda birde fazla kesmenin kullanıldığı bir örnek proğram varmı ?
Ben bulamadım.
saygılar.
http://www.probotsan.com.tr Masaüstü Mini Cnc

Mucit23

örnek programlarına gerek yok. nereden kesme gelirse gelsin hepsinde senin yonlendirecegin  etiket gider program. Etiketin başında hangi kesimleri kullanıyorsan o kesimlerin bayraklarina  bakarak kesmeye ilgili işlemi yapacaksın. Normal kesmeyi kullanabiliyorsan  bunda yaparsın.