cd4051 kontrolü

Başlatan huseyin0579, 02 Temmuz 2016, 23:33:04

huseyin0579

F.t hocam senin dediğin şekilde örnek olarak ileri butonuna basılı tutulursa sayım sürekli çalışacak ve son bite gelince duracak aynı şekilde geri butonuda bu şekilde çalışacak

huseyin0579

F.t hocam sen konuyu daha güzel açıkladın aynen öyle çalışacak

F®T

Aslında Burak hocamında değindiği gibi çoğu durumlarda istenenin muğlak olarak ortaya konmasında müneccimlik yapma olayı ortada peydahlanıyor.Bu netice ile istenenin net olarak ortaya konması herkesin yararına olacaktır.

Kodda basit bir düzenleme ile oldu sanırım denemedim.Sonucu yazarsın.

basla:
     
     IF BUTONA=0 THEN:GOSUB EFEKT1
     IF BUTONB=0 THEN:GOSUB EFEKT2
     GOTO BASLA
     

EFEKT1:

     ADRESS=ADRESS+1
     IF ADRESS>7 THEN ADRESS=0
     PORTB=ADRESS<<5 

     'E1:   
     'IF BUTONA=0 THEN GOTO E1

PAUSE 500

     RETURN


EFEKT2:

     ADRESS=ADRESS-1
     IF ADRESS=255 THEN ADRESS=7     
     PORTB=ADRESS<<5

    ' E2:
    ' IF BUTONB=0 THEN GOTO E2   

PAUSE 500 

     RETURN

END
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

huseyin0579

Hocam ben bu kodun butona tek tek basılı olarak çalışan programını yapıp eklemiş'tim. Sizden istediğim bu programın yani eklediğim enson kodların while wend döngüsünde çalışması hocam benim enson eklediğim kodlara rar uzantılı dikkat ederseniz demek istediğim daha net anlaşılır.

ete

Kişi aklından bir şey geçirir onu bir kelime ile anlatmaya çalışır. Çünki karşısındakinide biliyor farzeder ve bu nedenle 1 kelime ile ifade etmeye çalışır yada adım adım ifade eder. Birini aşınca diğerini ortaya koyar. Burada da aynı durumu yaşıyoruz. Açıklamalara şöyle bir bakın anlamak mümkün değil. Kimse oturup da bana şu lazım şöyle olacak diye doğru dürüst bir senaryo vermiyor yada vermek istemiyor. Sebebini anlamak mümkün değil. Ama şunu belirtmek zorundayımki bu tür mesajlara cevap vermek içimden gelmiyor çünki resmen eziyet. Bir cevap verirsin yok öyle değil böyle olacaktı, onu cevaplarsın şuda olacaktı ardı arkası gelmez. Kısaca benzer bir durum yaşıyoruz. Kimse darılmasın ben kafamdan uydurmuyorum bunları. Gerçekleri yazıyorum.
Benzer şeyler ticari programlarda da başıma sıklıkla geliyor. Kısa bir açıklama ile program isteniyor. Ardından yok öyle olmayacak böyle olacak yok şuda olacak şunuda koyalım gibi ardı arkası gelmeyen istekler dizisi devam edip gidiyor.
Bu konuda kesin prensip koyacağım artık. Böyle yarım yamalak isteklere ait mesajları yazanları ikaz edeceğim devam ederse sileceğim konuyu. Böylece bir çok kişiyi gereksiz şekilde meşgul etmemiş oluruz. Umarım bu yazdıklarımdan kendilerine ders çıkartanlar olurda bundan sonrasında biraz olsun rahatlarız.
Ete

huseyin0579

#35
Ete hocam bana kızmayın ama ücreti ile yaptırdığım programın kodlarını burada paylaştığım oldu, bu durumda ben kimseye birşey demiyorum sizden kendi yapacağım program için ufak yardım istiyorum. Bu konuda nankörlük yapmam doğru olmaz ama verilen yardımların üzerine birçok denemeler yapıyorum. F.t hocanın verdiği yardım ile kodları istediğim şekle getirdim sayılır. Yani butona ayrı ayrı basıldığında "tek tek" ileri ve geri sayım sistemini enson bitlere geldiğinde duracak şekilde çalıştırdım sadece while döngüsü ile yani butona basılı tutulduğu sürece çalışmasını deneme yapsamda çözemedim. Bu istediğim çokzor değilki sadece bu döngü komutunu mantıklı olarak nasıl kullanacağım bu kısmını çözemedim ve önerilen herşeyi denedim olmadı.

huseyin0579

Bunlar çalışan doğru kodlar,sorun sadece butonların while wend ile çalışmaması;

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2016 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 03.07.2016                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ DEVICE pic16F628A                      'işlemci 16F628                               
@ DEVICE pic16F628A, WDT_OFF              'Watch Dog timer açık
@ DEVICE pic16F628A, PWRT_ON             'Power on timer açık
@ DEVICE pic16F628A, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F628A, MCLR_OFF             'MCLR pini kullanılıyor.
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak
define OSC 4
PORTA=0
PORTB=0
TRISA=%00000011
TRISB=%00000000
CMCON=7    '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=1  'portB deki dahili PULL-UP lar iptal edildi.

ADRESS VAR byte

SYMBOL BUTONA=PORTA.0
SYMBOL BUTONB=PORTA.1

basla:
     
     if BUTONA=0 then:pause 100:GOSUB EFEKT1
     IF BUTONB=0 THEN:pause 100:GOSUB EFEKT2
     GOTO BASLA
     
EFEKT1:   
     
     ADRESS=ADRESS+1 
     IF ADRESS>7 THEN ADRESS=7     
     PORTB=ADRESS<<5     
     E1:
     IF BUTONA=0 THEN GOTO E1 
     RETURN
EFEKT2:
     ADRESS=ADRESS-1
     IF ADRESS=255 THEN ADRESS=0
     PORTB=ADRESS<<5
     E2:
     IF BUTONB=0 THEN GOTO E2     
     RETURN
goto basla
END
     

F®T

Harbiden while meselesini anladımsa arab olam hüseyin.... :-[
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

huseyin0579

F.t hocam çok teşekkür ederim oldu. Verdiğiniz enson kodları denemeden yorum yaptım hata benim kusura bakmayın özür dilerim balıklama atladık, hocam süper'siniz.

huseyin0579

Hocam işte bu şekilde oldu ama bu programda pause 500 komutu işi düzeltti galiba!...

huseyin0579

Evet hocam pause 500 komutu bu işlemin gerçekleşmesini sağlıyor ve aynı zamanda sayım hızını belirliyor işte "ne kadar işi biliyorum desemde" kendi adıma belirtiyorum, yapılacak bir ihmal veya hata ve sonuç geç olsada sayenizde başarı çok teşekkür ederim.

F®T

Olduğuna sevindim fakat Ete hocam ve Burak hocamın katkıları ile.Ayrıca onların eleştirilerini sakın unutma!!!!
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

huseyin0579

Aynen hocam benim bu ön yargılı davranışlarımdan bir an önce kurtulmam lazım saygılar....

Powered by EzPortal