9 Ocak 2011 Pazar

1.4 Port Yazmacı (devam 4) (Port Register)

Prg: 8
     Device = 16F877
XTAL 4
TRISB=0

Dim I As Byte

Dongu:
   
    For I=0 To 255
        PORTB= I
        DelayMS 200
    Next

GoTo Dongu

End


Led’leri ikilik sayı sistemine uygun olarak yakan program. Burada da For Next komutu kullanılmıştır. Yukarıdaki örnekte For’dan sonra gelen değişkenin değeri 0’dan başlar ve 1 artarak 255’e kadar devam eder. I değişkeninin değeri 255 olduğunda döngünün dönüşü sona erer.
For I=0 to 255
....
....
Next
Yukarıdaki örnekte artış miktarı belirlenmiştir. I’nın değeri 0’dan başlar 2 artarak  0,2,4,6,8…254 şeklinde devam eder. Dikkat edilirse en son 254’te kalır çünkü döngü bir daha dönerse 256 değeri elde edilecektir. Döngü ile elde edilecek değer 255’ten büyük olamaz. En yakın değerde dönüş sonlandırılır. Aşağıdaki örnekte ise sayma işlemi geriye doğrudur. 255,253,251,1 şeklinde döngü devam eder. Geriye doğru sayma işlemi en son 1 değerini alınca durur. 
  
Devre 2

Prg: 9

Device = 16F877
XTAL 4

TRISB=0
TRISD=000111

Dongu:
   
    If PORTD.0 = 1 Then
        PORTB.0=1
    Else
        PORTB.0=0
    EndIf  

GoTo Dongu

End


Yukarıdaki örnekte PortD’nin 0 nolu ucuna bağlı button’un durumuna göre PortB’nin 0’ıncı bacağındaki led yakılır yada söndürülür.

Programda If önermesi kullanılmıştır. Kullanımı aşağıdaki şekildedir.

IF <koşul> Then
…..
Else
…..
EndIf

Eğer <koşul> ise
…..
değilse
…..
Koşul Sonu

Eğer PortD’nin 0 nolu bacağının değeri 1 İse
          PortB’nin sıfır nolu bacağının çıkışı 1 yapılır
Değilse
          PortB’nin sıfır nolu bacağının çıkışı 0 yapılır
Koşul Sonu

Hiç yorum yok:

Yorum Gönder