Pic basic RB0 kesmesi sorunu

Başlatan cidik, 20 Ocak 2008, 23:52:37

cidik

Slm arkadaşlar kesme ile ilgili bir sorunum var. Programın kodları aşağıda. Rb0 düşen kenar tetiklemeli olmak zorunda, öylede oluyor ancak problem şu; düşen kenar oldukdan sonra kesme geldi yazıyor lcd de ancak kesmeden çıkmıyor. sanki sürekli düşen kenar tetiklemesi alıyormuş gibi davranıyor ve 1 sn aralıklarla kes registerini 1 arttırarak sayıyor. Kesme yok yazısıda sadece kesme oluşmadan önce yzıyor sonra ekrana gelmiyor. Sorunumu anlatabilmişimdir umarım biraz acil teşekkür ederim yardımlar için şimdiden.


DEFINE LCD_DREG PORTB 'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT 4 'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT 3 'LCD Enable Bacağı Hangi bite bağlı ?
DEFINE LCD_RSREG PORTB 'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT 2 'LCD RS bacağı Hangi Bite bağlı ?
DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES 2 'LCD Kaç sıra yazabiliyor
@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_off
@ DEVICE pic16F877A, PWRT_Off
@ DEVICE pic16F877A, PROTECT_OFF
@ DEVICE pic16F877A, XT_OSC
@ DEVICE pic16F877A, bod_off
trisb=%00000001
portb=0
i var byte
kes var byte
INTCON=%10010000
OPTION_REG=%00110000
on interrupt goto kesme
kes=0
ana:
lcdout $fe,1
lcdout "kesme yok"
for i=0 to 20
pause 10
next i
goto ana
disable interrupt
kesme:
kes=kes+1
lcdout $fe,1
lcdout "kesme geldi"
lcdout $fe,$c0, #kes
pause 1000
resume
enable interrupt
end

bymrz

kesmeden dolayı set olan RB0 flagını kesmenin içinde sıfırlaman lazım yoksa bi kere girer sadece kesmeye sonra da girmez...
sanırım o da intcon.1 idi

kesmenin içinde işin bittikten sonra kesmeden tam çıkarken
intcon.1=0
diyeceksin

kolay gelsin

cidik

Alıntı yapılan: "alone_lover"kesmeden dolayı set olan RB0 flagını kesmenin içinde sıfırlaman lazım yoksa bi kere girer sadece kesmeye sonra da girmez...
sanırım o da intcon.1 idi

kesmenin içinde işin bittikten sonra kesmeden tam çıkarken
intcon.1=0
diyeceksin

kolay gelsin
Allah razı olsun kardeş ya çok ama çok teşekkürler.