Pic16F877A İşlemci ile 8 Bit İleri/Geri Sayaç
İlk örneğimizde basit olarak butonlarla kontrol edilen 8 bitlik ileri ve geri sayacı yapacağız. Bu örnek için B Assembly Assemblortunun en değersiz ilk iki bitini Butonlar aracılığı ile ileri ve geri sayım yapmak için kullanacağız . D Portunun tamamını ise çıkış olarak kullanıp butona her tıkladığımızda oluşan değişiklikliği LED’ ler yardımı ile burada göreceğiz .
Assembly Dili İle PİC Programlama
Şimdi Programı yazmaya başlayalım .
#INCLUDE < P16F877A.INC >
SAYAC EQU 0X20 ; SAYAC ve SAYAC1 program içimde yapacağımız gecilmeler için kullanıyoruz.
SAYAC1 EQU 0X21
ORG 0X00
GOTO AYARLAR ; Program başladığında goto komutu ile Ayarlar başlığına gider
;ISLEM ve GERI kısmında PORTB’nin 0 ve 1. bitlerine güç gelip gelmediği kontrol edilir.
; Bunuda Buttonlar aracılığı ile sağlarız.
ISLEM
BTFSS PORTB,0
GOTO GERI1
GOTO ILERI
GERI1
BTFSS PORTB,1
GOTO ISLEM
GOTO GERI
; ILERI ve GERI bölümlerinde butona basıldığında yapılacak işlemler tanımlanır.
ILERI
INCF PORTD,F ; INCF komutu ile PORTD’deki değeri bir artırır yeni ;değeri tekrar
CALL GECIKME ; PORTD ye yazdıktan sonra GECIKME sınıfına ;dallanırız.
GOTO ISLEM
GERI
DECF PORTD,F ; DECF komutu ile de PORTD’deki değeri bir azaltıp ;yani değer
CALL GECIKME ; tekrardan PORTD’ye yazılık GECIKMEYE dallanılır
GOTO ISLEM ; pic’in genel ayarları bu bölümde yapılır. Kısacası ; hangi port giriş hangi port çıkış
; olduğuna AYAR LAR bölümünde karar veri lir.
AYARLAR
BANKSEL TRISB
CLRF TRISB
MOVLW 0X03
MOVWF TRISB
CLRF TRISD
BANKSEL PORTB
MOVLW 0X01
MOVWF PORTD
GOTO ISLEM ; Program içinde gerçekleşecek gecikmelerle ilgili alt procedur .
GECIKME
MOVLW D’256′
MOVWF SAYAC
DON1
MOVLW D’256′
MOVWF SAYAC1
DON2
DECFSZ SAYAC1,F
GOTO DON2
DECFSZ SAYAC,F
GOTO DON2
RETURN
END
Şimdide bu kod parçasına uygun olarak Proteus programında çizimini gerçekleştirelim . Bunun için 8 adet Led ve 2 adet Button olması yeterlidir .
PİC16F877A serisi seri iletişim (usart) ile LCD ekrana veri gönderme deneyi için tıklayınız…
Bilgisayar Mühendisliği bölümü diğer yazıları için tıklayınız…
çok faydalandım teşekkürler
Merhabalar, ben programı yazıyorum ama sürekli hata veriyor anlamadım.Hiçbir harf yanlış degil.
[…] Pic 16F877A serisinde 8 Bit İleri/Geri sayaç deneyini görmek istiyorsanız tıklayınız… […]