Powered By Blogger

10 Temmuz 2018 Salı

Sonsuz döngüye girmiş olan kara şimşek uygulaması

SAYAC1 EQU h’0C’
SAYAC2 EQU h’0D’

CLRF PORTB      ;potrbnin içi en başta temizleniyor
BANKSEL TRISB

CLRF TRISB             ;portb çıkış portu yapıldı

BANKSEL PORTB
MOVLW h’01’
MOVWF PORTB            ;portb nin içine b’00000001'  sayısı atıldı
SOL:

CALL GECIKME              ;en başta bi bekleme anı oluyor
RLF PORTB,F               ;içerik 1 birim sola kaydı
BTFSS PORTB,7            ;portbnnin 7. biti kontrol ediliyor,1 ise sağa kaydırma başlayacak 1 değilse tekrar                                                                                                          ;sola kayma

GOTO SOL

SAG:

CALL GECIKME                    ;bekleme yapılıyor
RRF PORTB,F                     ;içerik 1 birim sağa kaydırılıyor
BTFSS PORTB,0                  ;portbnin 0. biti kontrol ediliyor 1 ise sola kaymaya geçilecek,0 ise sağa ;kaymaya devam

GOTO SAG
GOTO SOL

GECIKME:

MOVLW h’FF’
MOVWF SAYAC1           ;gecikme için sayac1 in içine h’FF’  sayısı atılıyor

DONGU1:

MOVLW h’FF’
MOVWF SAYAC2                 ;gecikme için sayac1 in içine h’FF’  sayısı atılıyor

DONGU2:

DECFSZ SAYAC2,F
GOTO DONGU2           ;sayac2 nin içindeki sayı 0 olana  kadar her defasında 1 azalt,0 olunca saya1 i      ;                                       ;azaltmaya git

DECFSZ SAYAC1,F        ;sayac1in içi 0 olana kadar her defasında 1 azalt,0 olduğunda return yap
GOTO DONGU1

RETURN            ;en son callın yapıldığı adrese  gider

END        ;programı bitir




3 yorum: