kodlar reelde sorunlu çalışıyor hatamı var acaba? (halledildi)

Başlatan Evren KILIÇ, 11 Temmuz 2010, 14:20:24

Evren KILIÇ

merhaba arkadaşlar
IF ZMN=1 THEN
IF YLS=1 THEN
HIGH ARL
ENDIF
ENDIF
komutları her iki koşul 1 olduğu zaman arl yi high yapması gerekmiyormu aşagıdaki kodlar isisde normal çalışıyor ama reelde saçmalıyor örnek   yls=1 olmadıgı halde zmn=1 ise  arl=1 oluyor , als=1 ise arl=0 oluyor bu normal fakat bundan sonra als =1 ,zmn=1 oldugu halde yrl=1 olmuyor
kodlar :

(MCU=16F84A)

TRISA=%00000000
TRISB=%11111111
YLS VAR PORTB.2  'yukarı limis swic
ALS VAR PORTB.3 'aşagı limit swic
ZMN VAR PORTB.4 ' zaman sinyali
YRL VAR PORTA.2   'yukarı role
ARL VAR PORTA.3  ' aşağı role
PORTA=0
PORTB=0

ASAGIIN:
IF ZMN=1 THEN
IF YLS=1 THEN
HIGH ARL
ENDIF
ENDIF
GOTO ASAGISTOP

ASAGISTOP:

IF ALS=1 THEN
LOW ARL
ENDIF
GOTO YUKARICIK

YUKARICIK:

IF ZMN=1 THEN
IF ALS=1 THEN
HIGH YRL
ENDIF
ENDIF
GOTO YUKARISTOP

YUKARISTOP:

IF YLS=1 THEN
LOW YRL
ENDIF
GOTO ASAGIIN
END
[email]evren1623@hotmail.com[/email]

ibo1973

değişkenlerin değerinin değiştiği yeri göremedim eğer durum tam olarak aşağıdaki gibi ise değişkenler sürekli aynı kalır ve sürekli döngüye girer buda gayet normaldir

IF ZMN=1 THEN
IF YLS=1 THEN
' programınız buraya geldiği zaman değişkenlerin durumu ne oluyor ? herhangi bir yerde durumları değişiyormu ? yoksa aynı kalıp sürekli döngüyemi giriyorlar

HIGH ARL
ENDIF
ENDIF



Evren KILIÇ

zmn degişkeni 1 satte bir 5-10 saniye süresince high oluyor
yls ve als degişkenleri ise hareketin bittigi noktaya göre degişiyor bir kapı düşünün kapı açık ise als degişkeni= 1yls degişkeni=0 ,kapı kapalı ise yls degişkeni=1 als degişkeni=0  sadece kapı açılamaya ve ya kapanmaya giderken als ve yls degikenleri low oluyor ama hiçbir zaman ikiside high olmuyor
[email]evren1623@hotmail.com[/email]

FUNKY



Sorgulamaları  bir de böyle deneyin

ASAGIIN:
    IF ZMN=1 THEN
       IF YLS=1 THEN
       HIGH ARL
      ELSE
       LOW ARL
      ENDIF
   ENDIF
GOTO ASAGISTOP

Evren KILIÇ

denedim ama olmadı işin garip tarafı similasyon dogru çalışıyor


kodlar ve isis dosyası :
http://s1.dosya.tc/FVaO3E/YeniKlas_r.rar.html
[email]evren1623@hotmail.com[/email]

Evren KILIÇ

kafayı yemek üzereyim :) aşagıdaki kodlarda yls =1 olmadan  zmn =1 oldugunda arl=1 oluyor ama olamamısı gerekmiyormu?



TRISA=%00000000
TRISB=%11111111
YLS VAR PORTB.2  'yukarı limis swic
ALS VAR PORTB.3 'aşagı limit swic
ZMN VAR PORTB.4 ' zaman sinyali

YRL VAR PORTA.2   'yukarı role
ARL VAR PORTA.3  ' aşağı role
PORTA=0
PORTB=0

ASAGIIN:

IF YLS=1 THEN
GOTO ASAGIIN2
ELSE   
GOTO ASAGIIN
ENDIF
ENDIF

ASAGIIN2:
IF ZMN=1 THEN
HIGH ARL
GOTO ASAGISTOP
ENDIF

ASAGISTOP
IF ALS=1 THEN
LOW  ARL
ENDIF

GOTO ASAGIIN
END
[email]evren1623@hotmail.com[/email]

ftsahin

Baskı devrede Picin 8 nolu girişinde pulldown direnç görünmüyor. Giriş pininde pulldown direnç olmazsa bu tür sorunlar çıkabilir.

Evren KILIÇ

evet hocam dogru söylüyorsun bunu farketmemişim pcb yi çizerken ona direnç koyduğumu sanıyordum ama 5 volt ile şase arasına koymuşum sorunum halledildi teşekkürler
[email]evren1623@hotmail.com[/email]