IF komutunda sıkıntı

Başlatan teknikev, 22 Ekim 2009, 15:05:07

teknikev

Arkadaşlar aşağıdaki şekilde bir komut kullandığımda, proteusta simule ettiğimde led dengesizce yanıp sönüyor.

if porta.5=1 and porta.0=0 then
   guvenli=1
ELSE
   guvenli=0
   portb.1=0
   portb.2=0
ENDIF

if portb.6=1 then
   enerji=1
ELSE
   enerji=0
ENDIF


if guvenli=1 and porta.3=1 and porta.2=0 and portb.6=1 then
   portb.2=1
ELSE
   portb.2=0
ENDIF

if guvenli=1 and guvenli=1 and porta.4=1 and porta.7=0 then
   portb.1=1
ELSE
   portb.1=0
ENDIF

if döngüsünde sınır varmıdır? yoksa bendeki proteustanmı kaynaklanıyor sıkıntı ? (proteus v7.5)

ete

Şüphesiz if komutunda sınır yok ama ipin ucunuda kaçırmamak gerekir.
Buraya bir şema koymadığınız için bu şartların nasıl işlediğini ve hangi led in düzensiz yandığını anlamak gerçekten zor.
Bazen programcılar ledin yanması ve izleyen tarafından görülmesi için gerekli zamanı programa koymuyorlar ve led in yanması için gerekli şart oluştuktan sonra daha led yanmadan aynı şart program içinde başka bir şarta bağlı olarak kalkabiliyor.
Bu nedenle her bir if satırında ne yapmak istediğinizide açıklamak iyi olabilirdi.
Sonuç olarak mantığı iyi kurarsanız if komutuda buna cevap verir derim.

Proteus ların bazı sürümleri , kırma işleminden sonra aksaklıklar ortaya koyabiliyorlar. Bu konuda emin olmak için simulasyon dosyasınıda burada verse idiniz bazı arkadaşlar farklı sürümlerle deneyip size sonuç bildirebilirlerdi.

Dosyayı koyma niyetinde iseniz sürüm farklılığına karşılık tedbir olarak dosyanın SEC uzantılı halini de vermeniz uygun olacaktır.

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

teknikev

Sıkıntıyı buldum.

Led 'in seçeneklerinde Analog Digital varmış. Analog seçtiğimde led yanıp sönüyor. Dijital seçtiğimde ise sıkıtnı olmuyor.

Teşekkürler.