ÖRNEK PROGRAM-6: PORTA’ya bağlı buton ile PORTB’deki ledlerde binary sayıları oluşturmak
;Binary sayıcı
ÖRNEK PROGRAM-6
LIST
P=16F84A
INCLUDE
"P16F84A.INC"
SAYI_1
EQU
0X0C
;SAYI_1 için 0x0C adresi ayrıldı.
SAYI_2
EQU
0X0D
;SAYI_2 için 0x0D adresi ayrıldı.
BSF
STATUS,5
;bank1'e geç.
MOVLW
b'11111'
;TRISA düzenleme bilgisi W'ye yazılır.
MOVWF
TRISA
;PORTA'nın tüm uçları giriş olarak düzenlenir
MOVLW
b'00000000'
;TRISB düzenleme bilgisi W'ye yazılır.
MOVWF
TRISB
;PORTB'nin tüm uçları çıkış olarak düzenlenir.
BCF
STATUS,5
;bank1'e geç.
CLRF
PORTB
; PORTB=00h değeri yüklendi
ARTIR
INCF
PORTB,F
CALL
GECIKME
; GECIKME alt programına gidilir.
GOTO
ARTIR
;Tekrar PORTB'deki değerin bir artırılması için
;ARTIR etiketine gidilir.
GECIKME
MOVLW
D'190'
MOVWF
SAYI_1
;SAYI_1 ‘e 190d değerini yükle.
AZALT_1
MOVLW
D'255'
MOVWF
SAYI_2
;SAYI_2 ‘ye 255d değerini yükle.
AZALT_2
DECFSZ
SAYI_2,F
;SAYI_2’yi bir azalt.
GOTO
AZALT_2
;SAYI_2 ¹ 0 , AZALT_2’ ye git.
DECFSZ
SAYI_1,F
;SAYI_2 = 0 oldu, SAYI_1’i bir azalt.
GOTO
AZALT_1
;SAYI_1 ¹ 0 , SAYI_1 ¹ 0 ise AZALT_1’ ye git.
RETURN
;SAYI_1 = 0 oldu , ana programa geri dön.
END
;program sonlandırılır.