Device = 16F877 XTAL 4 TRISB=0 TRISD=%00000111 Dongu: If PORTD.0 = 1 Then PORTB.0=1 If PORTD.1 = 1 Then PORTB.0=0 GoTo Dongu End |
If komutu bir koşul sağlanıyorsa gereğini yapmak için kullanılmaktadır. Bazı durumlarda Else kullanılmayabilir. Örneğin “IF PortD.0 = 1 Then PortB.0=1” şeklinde programa satır yazılırsa sadece şartın sağlanması kontrol edilmektedir. Ayrıca şart sağlandığında ise sadece bir işlem yapılmaktadır.
Prg: 11
Device = 16F877 XTAL 4 TRISB=0 TRISD=%00000111 Dim Var1 As Word Var1=0 Dongu: PORTB=Var1 Var1=Var1 +1 If Var1>=100 Then Var1=0 DelayMS 200 GoTo Dongu End |
Yukarıdaki örnekte Var1 değişkeninin değeri programın her dönüşünde 1 artmaktadır. Eğer Var değişkeninin değeri 100’e eşit veya 100’den büyük olursa Var değişkeninin değeri tekrar 0’lanır.
Prg: 12
Device = 16F877 XTAL 4 TRISB=0 TRISD=%00000111 Dim Var1 As Word Var1=0 Dongu: If PORTD.0=1 Then If Var1<100 Then Var1= Var1 + 1 EndIf If PORTD.1=1 Then If Var1>1 Then Var1= Var1 - 1 EndIf If PORTD.2=1 Then Var1=0 GoTo Dongu End |
Eğer PortD.0 bacağı 1 ise (yani butona basıldı ise)
Ve Var1 değişkeninin değeri 100’den küçükse Var1’in değerini 1 arttır
Eğer PortD.1 bacağı 1 ise
Ve Var1 değişkeninin değeri 1’den büyükse Var1’in değerini 1 azalt
Eğer PortD.2 bacağı 1 ise Var1 değişkeninin değeri 0’lanır.
Yukarıdaki örnekten de anlaşılacağı gibi if önermeleri arka arkaya veya iç içe de kullanılabilir. Fakat burada önemli bir kural vardır o da önermelerin birbirini kesmemesidir. Soldaki önerme yapısı doğru sağdaki önerme yapısı ise yanlıştır.
Şekil 8 |
Yukarıdaki yapı önermelerin program içinde nasıl yerleştirileceğini göstermektedir. Soldaki çizimde if önermelerinin birbirini kesmeden nasıl iç içe yerleştirileceğini göstermektedir. Bu doğru bir program yazım akışıdır. Fakat sağdaki önerme grubuna bakarsanız içte birbirini kesen önermenin varlığını göreceksiniz. Bu yanlış bir yazılım dizilimidir. Bu yazılım dizimi aslında tüm program yazım yapıları için geçerlidir. For Next döngüsü, While Wend döngüsünde de döngülerinin birbirini kesmemesine dikkat etmek gerekmektedir.
Hiç yorum yok:
Yorum Gönder