Picproje Elektronik Sitesi

DERLEYİCİLER => Proton+ => Konuyu başlatan: arma_engin - 08 Ocak 2006, 20:14:49

Başlık: Buton problemi...
Gönderen: arma_engin - 08 Ocak 2006, 20:14:49
Arkadaşlar PicBasic te yeniyim sizden şöyle bir yardım rica edecektim.
Kullanacağım Pic 16F628A
Sorum; Devremde 2 adet buton 3 adet led olacak,1nci butona bastığımda 1nci led yanacak,2nci butona bastığımda 2nci led yanacak,iki butona aynı anda 5 saniye basılı tuttuğumda da 3ncü led yanacak bunu PicBasic te nasıl yapabilirim.
Teşekkürler...
Başlık: Buton problemi...
Gönderen: arma_engin - 08 Ocak 2006, 23:10:12
arkadaşlar yardımcı olacak birisi yok mu oralarda yoksa herkez bayram tatilindemi :)
Başlık: Buton problemi...
Gönderen: OG - 09 Ocak 2006, 00:04:41
Birşeyler yazıp başlarsanız buradakiler yardımcı olacaktır. Hatalarınızı düzeltirken öğrenmiş de olacaksınız.
Başlık: Buton problemi...
Gönderen: ete - 09 Ocak 2006, 09:47:54
Denenmemiş bir şeyler karaladım. Bak bakalım işine yararmı.
Ancak ledlerin yalnızca yanacağını belirtmişsin. Sönmeyi kim yapacak belirtmemişsin. O yüzden toggle koydum. Yani bir kere basınca yanacak tekrar basınca sönecek.

@ DEVICE pic16F628                      'işlemci 16F628                                
@ DEVICE pic16F628, WDT_ON              'Watch Dog timer açık
@ DEVICE pic16F628, PWRT_ON             'Power on timer açık
@ DEVICE pic16F628, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F628, MCLR_off            'MCLR pini kullanılMIYOR.
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak

CMCON=7
TRISA=0
TRISB=%00000011
PORTB=0

SAYI var byte
symbol tusa=porta.0
symbol tusb=porta.1
symbol LEDA=portA.0
Symbol LEDB=PortA.1
SYMBOL LEDC=PortA.2
sayI=0
basla:
     IF TUSA=0 & TUSB=0 THEN
     PAUSE 100
     SAYI=SAYI+1
     IF SAYI=50 then '5 sn=5000ms (100x50) olmuş ise
      SAYI=0
      TOGGLE LEDC
     endif
     goto basla
     endif
     if tusa=0 then
        PAUSE 100
         TOGGLE LEDA
     ENDIF
     
     IF TUSB=0 THEN
         Pause 100
         TOGGLE LEDB
      ENDIF
 
     goto basla
Başlık: Buton problemi...
Gönderen: arma_engin - 17 Ocak 2006, 00:57:15
ete hocam teşekkürler ben senin verdiğin kodlarda ufak bir düzenleme yaptım kodlar aşağıda,şimdilik oldu gibi görünüyor.
Device 16F876
       XTAL = 20
       ALL_DIGITAL = TRUE
       TRISa = %11111111
       TRISB = %11001111
       Symbol Buton_A  = PORTA.0
       Symbol Buton_B  = PORTA.1
       Symbol Led_A    = PORTB.5
       Symbol Led_B    = PORTB.4
       Symbol Led_C    = PORTB.3
       DIM SAYI as byte
       SAYI=0
       Start:
       IF buton_a=0 and buton_B=0 THEN
       SAYI=SAYI+1
       IF SAYI=50 then '5 sn=5000ms (100x50) olmuş ise
       SAYI=0
       delayms 50
       TOGGLE LED_C
       end if
       end if
       if buton_a=0 then
       delayms 50
       TOGGLE led_a
       end if
       if buton_B=0 then
       delayms 50
       TOGGLE led_B
       end if
       goto start