K

PORTB DE BUTONLAR YERİNE

Başlatan kamil, 02 Eylül 2011, 22:42:48

kamil

Ete hocam saygılar
Gönderdiğim örnekte portb de 6 adet buton var .bu butonları kullanmadan bant sec butonu ile aynı işi yapa bilir miyim.


kotan04

Örnek deverin resmini ve kodlarını eklemek çokmu zor konunun ne olduğu bile belli değil gerekli açıklayıcı bilgi verilmediği takdirde içerik silinecektir !!!

ete

Gördüğüm kadarı ile PortC.2 de bağlı bulunan BANTI isimli tus aslında bu amaçla yerleştirilmiş.
Ben olsam şöyle yapardım. PortB.0 ve PortB.5 arasına 6 adet led bağlardım.

BANTI isimli tusa her basışta BANT değerini bir artırır ve bu değere karşılık gelen led'i PortB de yakardım.
Aynı şeklide her bant değerine karşılık gelen değeri de SAYI isimli değişkene verirdim.

Bunları nasıl yaparım diye muhtemelen soracaksın. AŞağıdaki şeklide olabilirdi.
Önce PORTB.0-PortB.5 arasını çıkış olarak ayarlamak gerek.
TRISB=%11000000
Daha sonra BANTI isimli tuş kontrolünüde şöyle yapardım;
      
      IF BANTI=0 THEN   
      BANT=BANT+1
      IF BANT=6 then BANT=0
      PORTB=(PORTB & %11000000) + BANT
      LCDOUT $FE,$CA,"BANT ",DEC1 BANT

      SELECT CASE BANT
      CASE 0
      SAYI=3000
      CASE=1
      SAYI=5000
      CASE 2
      SAYI=7000
      CASE 3
      SAYI=10000
      CASE 4
      SAYI=14000
      CASE 5
      SAYI=28000
      END SELECT
      While BANTI=0: Wend     
      ENDIF

Tabiiki programdan artık PortB de bağlı olan tuş kontrollerini silmen gerekiyor.
Ledleri. ben seçili değeri görsel olarak görebilmen için önermiştim. Ama sen ayrıca LCD de BANT değerini gösteriyorsun zaten
İstersen Led ler kalabilir ama LCD de SAYI değerini gösterirsin. Böylesi daha hoş ve kullanışlı olabilir sanırım.
Karar senin.

Ete

kamil

Ete hocam bayağı uğraştım konuyu çözmek için sonunda hocamdan bilgi alayım dedim.vediğiniz kodlar çalışıyor
çok sağol hocam.
Kotan bey kodları biraz sonra görünür şekilde ekliyorum
saygılar

Powered by EzPortal