5 Ocak 2011 Çarşamba

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

Prg 4:

      Device = 16F877
XTAL 4

    TRISB=0
    PORTB=1         ; 000001
    DelayMS 500
    PORTB=2         ; 000010
    DelayMS 500
    PORTB=4         ; 000100
    DelayMS 500
    PORTB=8         ; 001000
    DelayMS 500
    PORTB=16        ; 010000
    DelayMS 500
    PORTB=32        ; 100000
    DelayMS 500
    PORTB=64        ; %01000000
    DelayMS 500
    PORTB=128       ; %10000000
    DelayMS 500

End


Yukarıdaki örnekte PortB=1 demek ikilik sayı olarak 000001 demektir. Yani PortB.0 ucu Logic 1 olacak ve bağlı led yanacaktır. 500 Ms sonra PortB 000010 olacaktır. Bu durumda sadece PortB.1’re bağlı olan led yanacak diğerleri sönük kalacaktır. Bu şekilde birinci led’den itibaren bütün ledler 500ms aralıklarla sırası ile yanacaktır.

İlk bakışta 3. Program ile bu program aynı gibi gözükse de eylemler farklıdır. Birinci programda ledler sıra ile yanmaya başlayacak ve en son komutla bütün ledler yanık kalacak ve program sona erecektir. Fakat 4. Programda aynı anda sadece tek bir led yanık kalacaktır. Ledler sıra ile tek tek yanacak diğerleri ise sönük kalacaktır.

Prg 5:

      Device = 16F877
XTAL 4
TRISB=0

Dongu:
    PORTB=1         ; 000001
    DelayMS 500
    PORTB=2         ; 000010
    DelayMS 500
    PORTB=4         ; 000100
    DelayMS 500
    PORTB=8         ; 001000
    DelayMS 500
    PORTB=16        ; 010000
    DelayMS 500
    PORTB=32        ; 100000
    DelayMS 500
    PORTB=64        ; %01000000
    DelayMS 500
    PORTB=128       ; %10000000
    DelayMS 500
GoTo Dongu

End

Yukarıdaki programda yeni bir yapı kullanıldı. Dongu: bir etikettir. Bu etiket program içinde belirli noktaları işaretlemek amacıyla kullanılır. Programın normal akışı içinde farklı noktalara gitmek istediğimizde bu etiketleri kullanırız. Bu etiketlere gidebilmek içinde GoTo komutu kullanılır. Goto git anlamına gelmektedir. Program çalışmaya başladığında GoTo Dongu komutunu gördüğünde program Dongu: ile işaretli yere geri döner. Böylece bu arada sonsuz bir döngü kurulmuş olur. Program sürekli olarak başa dönerek aynı işlemleri yapmaya devam eder.

Hiç yorum yok:

Yorum Gönder