portb change interruptu kullanan tuş takımı programı ?

Başlatan fuko88, 14 Ekim 2006, 04:42:55

fuko88

Merhaba
tuş takımı için kullanılan kbd.c sürücüsü sürekli tarama yaparak pici gereksiz yere çok yoruyor. bunun yerine portb change interruptu kullanan bir keypad sürücüsü ya da programı var mıdır?

(4x4 ya da 4x3 basit tuş takımları için.)

not:
harici entegre kullanmak istemiyorum

ete

PBP da istese idin kolaylıkla yapabilirdim. CCS yi iyi bilmediğim için sana ancak açıklamaları verebilirim. Tabiiki açıklamalarda BAsic'e göre olacak ama sanırım kolaylıkla CCS ye uygulayabilirsin.

RB PORT (Rb4-Rb7)  Değişiklik Kesmesinin Oluşması İçin Gerekenler :

Programın baş kısmına ON INTERRUPT GOTO KESME komutu verilerek kesme oluştuğunda programın gideceği yer (KESME) belirlenir.
-   RB4-RB7 pinleri mutlaka giriş olarak ayarlanacak
-   Intcon yazmaçının 3 biti bu kesme için ayrılmıştır. Bu bit 1 yapılarak kesme aktif edilir.   INTCON=%10001000   değeri verilerek kesme aktif hale getirilecek.
-   Kesme bölümüne başlarken DISABLE komutu verilerek kesme anında yeniden kesme oluşumuna imkan verilmeyecek.
-   Kesme Bölümünde DURUM=PORTB şeklinde port değeri okunacak
-   Kesme bölümünde INTCON.0=0 komutu verilerek kesmeden dolayı 1 olan bayrak tekrar sıfırlanır ve sonradan yeni kesme oluşmasına imkan tanınır.
-   Kesme bölümünün sonunda RESUME komutu verilerek programın kesme oluşmasından önceki yerine dönmesi sağlanır.
En sona ENABLE komutu yazılarak kesmeden dönüldükten sonra tüm kesmeler aktif hale getirilir.

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

fuko88

Bu bilgileri biliyorum ama ben sürücü bir program yazamadım. Hazır bir çok sürücü kod var. Ama benim işimi görmedi. Elind olan var mı diye sormak istedim.

fuko88

Merhaba CCS forumunda portb change interruptı ile yapılmış bir tuştakımı programı buldum devresini ve programını yaptığım halde çalışmadı.
ISIS dosyası, hex dosyası, c dosyasını ve bağlantı şeması aşağıdaki dosyanın içinde.
Acaba ben nerede yanlış yapıyorum?

Bi kaç gecedir bununla uğraşıyorum. Saat 3:00 yine olmadı. (Duygu sömürüsü birazcık :D )

Yardımlarnızı bekliyorum çok teşekkürler.

dosyalar:
http://www.hemenpaylas.com/download/1894599/tus.rar.html


yararlandığım kaynak:
http://www.ccsinfo.com/forum/viewtopic.php?t=19726&highlight=interrupt+keypad

Bu sayfada verilmiş bir pdf var orada bağlantı şemasının nasıl olacağı da var bağlantı şemasına aynen uyarak ISIS'de devremi çizdim. Program zaten aynısı. Ama hala çalışmadı.

Bu program çalışırsa çok güzel bir kaynak olacak. Çünkü bizim forumda ben portb change interruptı ile çalışan bir koda rastlamadım. Sürekli tarama yapmak çok zaman kaybettiriyor. Ayrıca enerji sarfiyatı tabiki. Bu program ile sadece tuşa basıldığında tarama yapılıyor.