Picbasic' de Nasıl yapabilirim?

Başlatan sozkarabacak, 01 Mayıs 2011, 20:13:44

sozkarabacak

Merhaba,

PİC16f628A işlemcisini kullandığım bir sistemde şöyle birşey yapmak istiyorum

PORTB.5 ucunda 5v olduğu sürece PORTA.1 ucuna bağlı olan röle çekik kalacak.
PORTB.5 ucundan 5v kesildiğinde PORTA.1 ucunda bağlı olan röle bırakacak.
Fakat bu 5v kesilmesi 5 saniye içinde anlık bir şekilde kesilip geri geldiğinde röle herhangi bir tepki vermeyecek yani bırakmayacak.

Konu hakkında bilgisi olan arkadaşlarımızdan yardım rica ediyorum.
http://picasaweb.google.com/33elektronik http://www.33elektronik.tr.cx MSN: [email]sukruozkarabacak@hotmail.com[/email]

Mucit23

Tam olarak demek istediğinizi anlayamadım . Röle bırakırken 5 sn geçikmelimi bırakacak?

ibrsel

eğer anlık kesintide roleyi brakmasın istiyorsa Timer kullanarak belirli bir süre enerji kesildiğinde roleyi bıraktırma işlemi yaptırabilirsin..Yada en basitinden aşağıdaki örneği deneyebilirsin
trisb=%00100000 : portb=0       '' B5 giriş , diğer uçlar çıkış
trisa=0                  : porta=0       '' a portu çıkış

basla:
 while portb.5=1   '' portb.5=1 olduğu sürece porta.1 i lojik 1 yap
    porta.1=1
 wend 
    delayms 500
 if portb.5=1 then basla '' portb.5 500 ms den kısa süre 0 olmuşsa önemseme,tekrar başa dön ve roleyi çekik tut

 while portb.5=0   '' portb.5 =0 olduğu sürece porta.1 i Lojik 0 yap
   porta.1=0
 wend      

goto basla



ete

Anladığım kadarı ile PORTB.5=1 ise Röle=1 olacak.
Ancak PORTB.5=0 olduğunda 5 sn müddetle bu low olma durumu kontrol edilecek. Şayet yeniden PortB.5=1 olursa röle konum değiştirmeyecek. 5 Sn low olma durumu devam ediyor ise Röle bırakacak yani Role=0 olacak.

BASLA:
IF PORTB.5=1 then ROLE=1
While Portb.5=1:wend
WHILE PORTB.5=0
pause 1
SURE=SURE+1
IF SURE >5000 THEN CIK
WEND
GOTO BASLA
CIK:
     ROLE=0
GOTO BASLA

şeklinde olabilir sanırım.

Ete


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

medese

şükrü
bu istediğin zamanlayıcı hangi devrede kullanılacaksa o devre uzerinde uygulanması gerken bir programdır
zannediyorum aksi halde çalışması mümkün değildir. IF TUS=0 THEN ROLEKAPA   tuşu kontrol et tuş 0 ise
ROLEKAPA etiketine git

ROLEKAPA:
            IF TUS=0 THEN  'TUS TEKRAR KONTROL EDİLDİ TUS=0 OLMUŞ ALICIYI KAPA
            PAUSE 2000     '2sn BEKLE
            IF TUS=1 THEN DTMF1'TUS'U TEKRAR KONTROL ET TUS=1 İSE ALICI AÇIK KALSIN
           SIFRE_1=0     'TUS=0 İSE ROLEYİ KAPA ALICI AMLİKATÖRÜNÜN VOLTAJINI KES
            ENDIF
bu tuş kontrol yazılımı işini görür  sanırım