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
Çok iyi bir kitapmış. Önemli olduğu için internet kafedeki arkadaşlar için bir sunucuya daha yükleyeyim iyi olur. İnternet kafelerde bu rapidle ilgili ne problemler yaşıyoruz kafede sürünmeyen bilmez http://www.mediafire.com/?eynctqn2yyc
@Liu Kang, madem bir hayır yapacaksın, az daha el at. Başlık pbp ile ilgili idi ama C ye döndü yani kaybolur gider,arayanda bulamaz. C kaynak ya da C kitaplar diye bir başlık aç ve buradaki linkleri oraya toplayıver bir zahmet.
Madem C yi seviyorsunuz bir kaç kitap daha,bu seferkiler rapid değil. Türkiş Nigel Gardner:
CCS C örnekler (CCS C ile pic programlama-Serdar Çiçek kitabını mutlaka alın) kitapdaki uygulamalar,kitapda her satırın neden öyle olduğu ne iş yaptığıda anlatılıyor,vereceğiniz paraya değer.
@r2d2droids , Hepside fedakar arkadaşlarımızın ,hocalarımızın çalışmaları ve paylaşılmak üzere yazılmışlar.Sınırlama koymak ne haddime,aksine yazanlar da ben de öğrenmeye vesile olduğumuz-olduğunuz için seviniriz. Senin siteyi biliyoruz , gayet kıymetli çalışmalar paylaşımda , katkımızın olmasından onur duyarız.
Bir yerlerde kesmelerle ilgili güzel bir tartışma vardı bulunca ekleyeceğim.
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