RB0 kesmesi hakkında

Başlatan ferit06, 18 Ocak 2013, 12:08:59

ferit06

16f628 kullandığım bir projede;

Kesme isteği olan bölüm:
INTCON=%10010000        'Genel Interrupt açık RB0 Enable
'INTCON.7=1                     'Genel interrupt açık
'INTCON.4=1                     'RB0 Interrupt Enable
' INTCON bit şeklindeki atamayı çalışmanın ilk aşamasında kabul etmesine
' rağmen kesmeden dönüşte bu şekildeki atamada 7 nolu bit1 olmakta ancak
' 4 nolu bit 1 olmuyordu....

While Ir_sinyal=1 :Wend         'IR_sinyal gelene kadar bekle
LED=1                           'IR sinyal alındı


şeklinde

kesme bölümü:

uyar:                        'kesme programı
Context Save 
INTCON=0                   ' Global interrupt disable
INTCON.4=0     
Ir_sinyal=1
INTCON.1=0                ' Kesme bayrağı sıfırlanıyor
Context Restore 

şeklinde.


Proteusta yaptığım denemelerde RB0 enable bitinin 1 olmadığını gözlemledim. Bit şeklinde atama yaptığımda kesme içinde  RB0 enable bitini(INTCON.4=0 ) ataması yapmadığımda ise kesme için gerekli sinyal gelmesine rağmen kesme bayrağı aktif olmuyor idi.

Bu hususda görüşlerinizi bekliyorum.