PIC 16F877 Efeitos LED LED Circuito Moon Star 1994

domingo, 1 de agosto de 2010 0 comentários

 microchip-led-16f877
Author: Sami Hoxha Projeto PIC16F877-94ledli, graças meses estrelas arquivos para as pessoas que trabalham
94ledli-ayyildiz-efekt-devresi
Circuito PIC16F877 com base em 94 levou Usado saídas do microcontrolador BC547 transistores com abundância maior de transistores e resistores são simuladas (. DSN) PCB (. Lyt) asm Source e software hex tem 4 hex arquivo, cada LEDs de trabalho diferentes em imagens diferentes para criar ofertas liderada por alterar o posicionamento ou a montagem de uma mudança no software é possível criar diferentes efeitos

Diagrama do circuito do projeto

pic16f877-ay-yildiz-led-efekt-isis-proje-devresi
Código Assembléia



;--------------------------------------------------------------
;YAZAN SAMİ HOCA
;--------------------------------------------------------------
;TARİH 18-07-2006
;DOSYA ADI DENEY3
;PIC ADI 16F877
;REZONATÖR 4 MHZ XT
;KOMUT HIZI
;WATCHDOG DEVRE DIŞI
;KOD KORUMA YOK
;KONU LEDLERLE ÇEŞİTLİ EFEKTLER
;------------------------------------------
Title "LED Efektleri"
list P = 16f877
include "P16f877.inc" ; use definition file for 16f877
__CONFIG _XT_OSC & _CP_OFF & _PWRTE_OFF &_WDT_OFF

;---------------------------------------------------------------
;KULLANICI RAM TANIMLAMALARI
;-TANIMLAR------------------------------------------------------
S1 EQU 20H ;S1 DEĞİŞKENİ TANIMLANDI
S2 EQU 10H ;S2 DEĞİŞKENİ TANIMLANDI
S3 EQU 11H ;S3 DEĞİŞKENİ TANIMLANDI
; S4 EQU 14H ;S3 DEĞİŞKENİ TANIMLANDI
ADET EQU 12H ;DEĞİŞKEN TANIMLANDI
HIZ EQU 13H
org 0x0000 ; start address = 0000h

;PORTLARI SİLME-----------------------------------------------
CALL SIL
;PORTLARI DÜZENLEME-------------------------------------------
bsf STATUS,RP0 ;BANK1'E GEÇ
movlw b'000000'
movwf TRISA ;BÜTÜN PİNLER ÇIKIŞ
movlw b'00000000'
movwf TRISB ;BÜTÜN PİNLER ÇIKIŞ
movlw b'00000000'
movwf TRISC ;BÜTÜN PİNLER ÇIKIŞ
movlw b'00000000'
movwf TRISD ;BÜTÜN PİNLER ÇIKIŞ
movlw b'00000000'
movwf TRISE ;BÜTÜN PİNLER ÇIKIŞ
bcf STATUS,RP0 ;BANK0'A GEÇ
;-------------------------------------------------------------
BASLA

; GOTO SONDENEY

CALL HIZLAN
TEKRAR
;-1- TEK TEK YANARAK VE SÖNMEDEN SONA GİT
;PORTA 0-1-2-3-5
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
CALL BEKLE
MOVLW B'001111'
MOVWF PORTA
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE
;PORTE 3 ADET
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
MOVLW B'011'
MOVWF PORTE
CALL BEKLE
MOVLW B'111'
MOVWF PORTE
CALL BEKLE

;PORTC 0-1-2-3-4-5-6-7
MOVLW B'00000001'
MOVWF PORTC
CALL BEKLE
DON2
RLF PORTC
BSF PORTC,0
CALL BEKLE
BTFSS PORTC,7
GOTO DON2
;PORTD 0-1-2-3
MOVLW B'00000001'
MOVWF PORTD
CALL BEKLE
DON3
RLF PORTD
BSF PORTD,0
CALL BEKLE
BTFSS PORTD,7
GOTO DON3

;PORTB 0-1-2-4-5-6-7
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000011'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
;GERİ DÖNÜŞ - LEDLERİ TEK TEK SÖNDÜREREK GİT
;PORTA LEDLERİNİ SÖNDÜR
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
CALL BEKLE
;PORTE LEDLERİNİ SÖNDÜR 0-1-2
MOVLW B'110'
MOVWF PORTE
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'000'
MOVWF PORTE
CALL BEKLE
;PORTC LEDLERİNİ SÖNDÜR 0-1-2-3-4-5-6-7
MOVLW B'11111110'
MOVWF PORTC
CALL BEKLE
DON8
RLF PORTC
BCF PORTC,0
CALL BEKLE
BTFSC PORTC,7
GOTO DON8
;PORTD LEDLERİNİ SÖNDÜR 0-1-2-3-4-5-6-7
MOVLW B'11111110'
MOVWF PORTD
CALL BEKLE
DON9
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSC PORTD,7
GOTO DON9
;PORTB LEDLERİNİ SÖNDÜR 0-1-2
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
CLRF PORTB
CALL BEKLE

CALL SIL
BCF STATUS,0

DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK1 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH1 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK1
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR ;TEKRAR RUTİNİNE GİT
FLH1
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-2- ÜÇ LED YAK VE SONA KADAR 3'LÜ OLARAK GİT (ÜÇLÜ KARA ŞİMŞEK)
;----------------------------------------------------------------
CALL HIZLAN

;PORTA LEDLERİ 0-1-2-3-5
TEKRAR2
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
CALL BEKLE
MOVLW B'001110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
;3'LÜ HAREKET PORTE'YE GEÇİYOR
MOVLW B'101000'
MOVWF PORTA
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
MOVLW B'011'
MOVWF PORTE
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
MOVLW B'111'
MOVWF PORTE
CALL BEKLE
;3'LÜ HAREKET PORTC'YE GEÇİYOR
MOVLW B'110'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTC
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTC
CALL BEKLE
CLRF PORTE
MOVLW B'00000111'
MOVWF PORTC
CALL BEKLE
DON13
RLF PORTC
BCF PORTC,0
CALL BEKLE
BTFSS PORTC,7
GOTO DON13
;3'LÜ HAREKET PORTC'DEN PORTD'YE GEÇİŞ
MOVLW B'00000001'
MOVWF PORTD
RLF PORTC
BCF PORTC,0
CALL BEKLE
DON14
RLF PORTC
BCF PORTC,0
RLF PORTD
BSF PORTD,0
CALL BEKLE
BTFSS PORTD,2
GOTO DON14
DON15
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSS PORTD,7
GOTO DON15
;3'LÜ HAREKET PORTD'DEN PORTB'YE GEÇİŞ
MOVLW B'00000001'
MOVWF PORTB
RLF PORTD
BCF PORTD,0
CALL BEKLE
DON16
RLF PORTD
BCF PORTD,0
RLF PORTB
BSF PORTB,0
CALL BEKLE
BTFSS PORTB,2
GOTO DON16
MOVLW B'00010110'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'01110000'
MOVWF PORTB
CALL BEKLE
DON17
RLF PORTB
BCF PORTB,0
CALL BEKLE
BTFSC PORTB,7
GOTO DON17
;3'LÜ HAREKET GERİ DÖNÜŞ
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'01110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010110'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000011'
MOVWF PORTB
MOVLW B'10000000'
MOVWF PORTD
CALL BEKLE
MOVLW B'00000001'
MOVWF PORTB
MOVLW B'11000000'
MOVWF PORTD
CALL BEKLE
MOVLW B'00000000'
MOVWF PORTB
MOVLW B'11100000'
MOVWF PORTD
CALL BEKLE
DON18
RRF PORTD
BCF PORTD,7
CALL BEKLE
BTFSS PORTD,0
GOTO DON18
MOVLW B'00000011'
MOVWF PORTD
MOVLW B'10000000'
MOVWF PORTC
CALL BEKLE
MOVLW B'00000001'
MOVWF PORTD
MOVLW B'11000000'
MOVWF PORTC
CALL BEKLE
MOVLW B'00000000'
MOVWF PORTD
MOVLW B'11100000'
MOVWF PORTC
CALL BEKLE
DON19
RRF PORTC
BCF PORTC,7
CALL BEKLE
BTFSS PORTC,0
GOTO DON19
MOVLW B'00000011'
MOVWF PORTC
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'00000001'
MOVWF PORTC
MOVLW B'110'
MOVWF PORTE
CALL BEKLE
MOVLW B'00000000'
MOVWF PORTC
MOVLW B'111'
MOVWF PORTE
CALL BEKLE
MOVLW B'011'
MOVWF PORTE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
MOVLW B'001'
MOVWF PORTE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'000'
MOVWF PORTE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'001110'
MOVWF PORTA
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK2 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH2 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK2
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR2 ;TEKRAR RUTİNİNE GİT
FLH2
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-3- BAŞTAN VE SONDAN BİRER TANE YANARAK AKARDİON
;----------------------------------------------------------------
CALL HIZLAN
TEKRAR3
;PORTA VE PORTB'DEN BİRER TANE YAKARAK ORTADA BULUŞ
MOVLW B'000001'
MOVWF PORTA
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'001111'
MOVWF PORTA
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE

;PORTB VE PORTE YANIYOR
MOVLW B'11110110'
MOVWF PORTB
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
MOVLW B'11110111'
MOVWF PORTB
MOVLW B'011'
MOVWF PORTE
CALL BEKLE
;PORTE VE PORTD YANIYOR
MOVLW B'111'
MOVWF PORTE
MOVLW B'10000000'
MOVWF PORTD
CALL BEKLE
;PORTD VE PORTC YANIYOR
MOVLW B'11000000'
MOVWF PORTD
MOVLW B'00000001'
MOVWF PORTC
CALL BEKLE
DON20
RRF PORTD
BSF PORTD,7
RLF PORTC
BSF PORTC,0
CALL BEKLE
BTFSS PORTC,7
GOTO DON20
;AKARDION PORTA VE PORTB'DEN İTİBAREN SÖNÜYOR
MOVLW B'101110'
MOVWF PORTA
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
MOVLW B'00000011'
MOVWF PORTB
CALL BEKLE
;PORTE VE PORTB SÖNÜYOR
MOVLW B'110'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
MOVLW B'00000000'
MOVWF PORTB
CALL BEKLE
;PORTE VE PORTD SÖNÜYOR
MOVLW B'000'
MOVWF PORTE
MOVLW B'01111111'
MOVWF PORTD
CALL BEKLE
;PORTC VE PORTD SÖNÜYOR
MOVLW B'11111110'
MOVWF PORTC
MOVLW B'00111111'
MOVWF PORTD
CALL BEKLE
DON21
RLF PORTC
BCF PORTC,0
RRF PORTD
BCF PORTD,7
CALL BEKLE
BTFSC PORTC,7
GOTO DON21

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK3 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH3 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK3
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR3 ;GERİ DÖN
FLH3
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-4- PORTA'DAN İTİBAREN 5 LED YAKARAK SONA KADAR GİT(BEŞLİ KARA ŞİMŞEK)
;----------------------------------------------------------------

CALL HIZLAN
TEKRAR4
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
CALL BEKLE
MOVLW B'001111'
MOVWF PORTA
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE
;PORTE'YE GEÇİYOR
MOVLW B'101110'
MOVWF PORTA
MOVLW B'001'
MOVWF PORTE
CALL BEKLE

MOVLW B'101100'
MOVWF PORTA
MOVLW B'011'
MOVWF PORTE
CALL BEKLE

MOVLW B'101000'
MOVWF PORTA
MOVLW B'111'
MOVWF PORTE
CALL BEKLE
;PORTC'YE GEÇİYOR
MOVLW B'100000'
MOVWF PORTA
MOVLW B'111'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTC
CALL BEKLE

CLRF PORTA
MOVLW B'111'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTC
CALL BEKLE

MOVLW B'110'
MOVWF PORTE
MOVLW B'00000111'
MOVWF PORTC
CALL BEKLE

MOVLW B'100'
MOVWF PORTE
MOVLW B'00001111'
MOVWF PORTC
CALL BEKLE

MOVLW B'000'
MOVWF PORTE
MOVLW B'00011111'
MOVWF PORTC
CALL BEKLE
DON22
RLF PORTC
BCF PORTC,0
CALL BEKLE
BTFSS PORTC,7
GOTO DON22

MOVLW B'11110000'
MOVWF PORTC
MOVLW B'00000001'
MOVWF PORTD
CALL BEKLE
DON23
RLF PORTC
BCF PORTC,0
RLF PORTD
BSF PORTD,0
CALL BEKLE
BTFSS PORTD,4
GOTO DON23
DON24
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSS PORTD,7
GOTO DON24

MOVLW B'11110000'
MOVWF PORTD
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE

MOVLW B'11100000'
MOVWF PORTD
MOVLW B'00000011'
MOVWF PORTB
CALL BEKLE

MOVLW B'11000000'
MOVWF PORTD
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE

MOVLW B'10000000'
MOVWF PORTD
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE

CLRF PORTD
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE

MOVLW B'01110110'
MOVWF PORTB
CALL BEKLE

MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE

MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE

MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE

MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE

MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE

CLRF PORTB
CALL BEKLE
;-------------
;5 LED YAKARAK GERİ DÖNÜŞ
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'01110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
;PORTD'YE GEÇİYOR
MOVLW B'00010111'
MOVWF PORTB
MOVLW B'10000000'
MOVWF PORTD
CALL BEKLE
MOVLW B'00000111'
MOVWF PORTB
MOVLW B'11000000'
MOVWF PORTD
CALL BEKLE
MOVLW B'00000011'
MOVWF PORTB
MOVLW B'11100000'
MOVWF PORTD
CALL BEKLE
MOVLW B'00000001'
MOVWF PORTB
MOVLW B'11110000'
MOVWF PORTD
CALL BEKLE
CLRF PORTB
MOVLW B'11111000'
MOVWF PORTD
CALL BEKLE
DON25
RRF PORTD
BCF PORTD,7
CALL BEKLE
BTFSS PORTD,0
GOTO DON25
;PORTC'YE GEÇİYOR
MOVLW B'00001111'
MOVWF PORTD
MOVLW B'10000000'
MOVWF PORTC
CALL BEKLE
DON26
RRF PORTD
BCF PORTD,0
RRF PORTC
BSF PORTC,7
CALL BEKLE
BTFSS PORTC,3
GOTO DON26
DON27
RRF PORTC
BCF PORTC,7
CALL BEKLE
BTFSS PORTC,0
GOTO DON27
;PORTE'YE GEÇİYOR
MOVLW B'100'
MOVWF PORTE
MOVLW B'00001111'
MOVWF PORTC
CALL BEKLE

MOVLW B'110'
MOVWF PORTE
MOVLW B'00000111'
MOVWF PORTC
CALL BEKLE

MOVLW B'111'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTC
CALL BEKLE
;PORTA'YA GEÇİYOR
MOVLW B'00000001'
MOVWF PORTC
MOVLW B'111'
MOVWF PORTE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE

CLRF PORTC
MOVLW B'111'
MOVWF PORTE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE

MOVLW B'011'
MOVWF PORTA
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE

MOVLW B'001'
MOVWF PORTA
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE

CLRF PORTE
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE

MOVLW B'001111'
MOVWF PORTA
CALL BEKLE

MOVLW B'000111'
MOVWF PORTA
CALL BEKLE

MOVLW B'000011'
MOVWF PORTA
CALL BEKLE

MOVLW B'000001'
MOVWF PORTA
CALL BEKLE

CLRF PORTA
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK4 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH4 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK4
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR4 ;GERİ DÖN
FLH4
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;--
;PORTB'DEN GERİYE DOĞRU EN BAŞA KADAR YANARAK GİTSİN
;--

CALL HIZLAN
TEKRAR5
;PORTB LEDLERİ GERİYE DOĞRU YANSIN
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
;PORTD LEDLERİ GERİYE DOĞRU YANSIN
MOVLW B'10000000'
MOVWF PORTD
CALL BEKLE
DON63
RRF PORTD
BSF PORTD,7
CALL BEKLE
BTFSS PORTD,0
GOTO DON63
;PORTC LEDLERİ GERİYE DOĞRU YANSIN
MOVLW B'10000000'
MOVWF PORTC
CALL BEKLE
DON64
RRF PORTC
BSF PORTC,7
CALL BEKLE
BTFSS PORTC,0
GOTO DON64
;PORTE LEDLERİ GERİYE DOĞRU YANSIN
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'110'
MOVWF PORTE
CALL BEKLE
MOVLW B'111'
MOVWF PORTE
CALL BEKLE
;PORTA LEDLERİ GERİYE DOĞRU YANSIN
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE
;PORTA'DAN İTİBAREN GERİ SÖNSÜN
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
CALL BEKLE
;PORTE GERİ SÖNSÜN
MOVLW B'110'
MOVWF PORTE
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'000'
MOVWF PORTE
CALL BEKLE
;PORTC GERİ SÖNSÜN
MOVLW B'11111111'
MOVWF PORTC
DON65
RLF PORTC
BCF PORTC,0
CALL BEKLE
BTFSC PORTC,7
GOTO DON65
;PORTD GERİ SÖNSÜN
MOVLW B'11111111'
MOVWF PORTD
DON66
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSC PORTD,7
GOTO DON66
;PORTB GERİ SÖNSÜN
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000000'
MOVWF PORTB
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK5 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH5 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK5
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR5 ;GERİ DÖN
FLH5
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-6- PORTA'DAN İLERİYE 1-11-21-31. LEDLER YANSIN VE BİRER ARTSIN
;----------------------------------------------------------------

CALL HIZLAN
TEKRAR6
;PORTA 0 + PORTC 2 + PORTD 4+ PORTB 7 LEDLERİ YANSIN
MOVLW B'000001'
MOVWF PORTA
MOVLW B'00000100'
MOVWF PORTC
MOVLW B'00010000'
MOVWF PORTD
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE

MOVLW B'000011'
MOVWF PORTA
MOVLW B'00001100'
MOVWF PORTC
MOVLW B'00110000'
MOVWF PORTD
CALL BEKLE

MOVLW B'000111'
MOVWF PORTA
MOVLW B'00011100'
MOVWF PORTC
MOVLW B'01110000'
MOVWF PORTD
CALL BEKLE

MOVLW B'001111'
MOVWF PORTA
MOVLW B'00111100'
MOVWF PORTC
MOVLW B'11110000'
MOVWF PORTD
CALL BEKLE

MOVLW B'101111'
MOVWF PORTA
MOVLW B'01111100'
MOVWF PORTC
MOVLW B'10000001'
MOVWF PORTB
CALL BEKLE

MOVLW B'001'
MOVWF PORTE
MOVLW B'11111100'
MOVWF PORTC
MOVLW B'10000011'
MOVWF PORTB
CALL BEKLE

MOVLW B'011'
MOVWF PORTE
MOVLW B'11110001'
MOVWF PORTD
MOVLW B'10000111'
MOVWF PORTB
CALL BEKLE

MOVLW B'111'
MOVWF PORTE
MOVLW B'11110011'
MOVWF PORTD
MOVLW B'10010111'
MOVWF PORTB
CALL BEKLE

MOVLW B'111111101'
MOVWF PORTC
MOVLW B'11110111'
MOVWF PORTD
MOVLW B'10110111'
MOVWF PORTB
CALL BEKLE

MOVLW B'111111111'
MOVWF PORTC
MOVLW B'11111111'
MOVWF PORTD
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE

;GERİ SÖNME İŞLEMİ
MOVLW B'101110'
MOVWF PORTA
MOVLW B'11111011'
MOVWF PORTC
MOVLW B'11101111'
MOVWF PORTD
CALL BEKLE
;2.LEDLER SÖNÜYOR
MOVLW B'101100'
MOVWF PORTA
MOVLW B'11110011'
MOVWF PORTC
MOVLW B'11001111'
MOVWF PORTD
CALL BEKLE
;3.LEDLER SÖNÜYOR
MOVLW B'101000'
MOVWF PORTA
MOVLW B'11100011'
MOVWF PORTC
MOVLW B'10001111'
MOVWF PORTD
CALL BEKLE
;4.LEDLER SÖNÜYOR
MOVLW B'100000'
MOVWF PORTA
MOVLW B'11000011'
MOVWF PORTC
MOVLW B'00001111'
MOVWF PORTD
CALL BEKLE
;5.LEDLER SÖNÜYOR
MOVLW B'000000'
MOVWF PORTA
MOVLW B'10000011'
MOVWF PORTC
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
;6.LEDLER SÖNÜYOR
MOVLW B'110'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTC
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
;7.LEDLER SÖNÜYOR
MOVLW B'100'
MOVWF PORTE
MOVLW B'00001110'
MOVWF PORTD
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
;8.LEDLER SÖNÜYOR
MOVLW B'000'
MOVWF PORTE
MOVLW B'00001100'
MOVWF PORTD
MOVLW B'11100000'
MOVWF PORTB
CALL BEKLE
;9.LEDLER SÖNÜYOR
MOVLW B'00000010'
MOVWF PORTC
MOVLW B'00001000'
MOVWF PORTD
MOVLW B'11000000'
MOVWF PORTB
CALL BEKLE
;10.LEDLER SÖNÜYOR
MOVLW B'00000000'
MOVWF PORTC
MOVLW B'00000000'
MOVWF PORTD
MOVLW B'00000000'
MOVWF PORTB
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK6 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH6 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK6
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR6 ;GERİ DÖN
FLH6
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-7- PORTA'DAN İLERİYE LEDLER 5'ERLİ YANSIN VE MEKSİKA DALGALANMASI
;----------------------------------------------------------------

CALL HIZLAN
TEKRAR7
;PORTA 0-5 LEDLERİ YANSIN
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE
;PORTE 0-1-2 VE PORTC 0-1 LEDLERİ YANSIN
MOVLW B'111'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTC
CALL BEKLE
;PORTC 2-3-4-5-6 LEDLERİ YANSIN
MOVLW B'01111111'
MOVWF PORTC
CALL BEKLE
;PORTC 7 VE PORTD 0-1-2-3 LEDLERİ YANSIN
MOVLW B'11111111'
MOVWF PORTC
MOVLW B'00001111'
MOVWF PORTD
CALL BEKLE
;PORTD 4-5-6-7 VE PORTB 0 LEDLERİ YANSIN
MOVLW B'11111111'
MOVWF PORTD
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
;PORTB 1-2-4-5-6-7- LEDLERİ YANSIN
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
;MEKSİKA DALGALANMASI -3 LEDLİ HAREKET
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'100001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'000111'
MOVWF PORTA
MOVLW B'110'
MOVWF PORTE
CALL BEKLE
MOVLW B'001111'
MOVWF PORTA
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
MOVLW B'000'
MOVWF PORTE
CALL BEKLE
MOVLW B'001'
MOVWF PORTE
MOVLW B'11111110'
MOVWF PORTC
CALL BEKLE
MOVLW B'011'
MOVWF PORTE
MOVLW B'11111100'
MOVWF PORTC
CALL BEKLE
MOVLW B'111'
MOVWF PORTE
MOVLW B'11111000'
MOVWF PORTC
CALL BEKLE
DON67
RLF PORTC
BSF PORTC,0
CALL BEKLE
BTFSC PORTC,7
GOTO DON67
DON68
RLF PORTC
BSF PORTC,0
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSC PORTD,2
GOTO DON68
DON69
RLF PORTD
BSF PORTD,0
CALL BEKLE
BTFSC PORTD,7
GOTO DON69

MOVLW B'00111111'
MOVWF PORTD
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'01111111'
MOVWF PORTD
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'11111111'
MOVWF PORTD
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100001'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000011'
MOVWF PORTB
CALL BEKLE
MOVLW B'10000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
;GERİ DÖNÜŞ
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'10000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'11000011'
MOVWF PORTB
CALL BEKLE
MOVLW B'11100001'
MOVWF PORTB
CALL BEKLE
MOVLW B'11110000'
MOVWF PORTB
CALL BEKLE
MOVLW B'01111111'
MOVWF PORTD
MOVLW B'11110100'
MOVWF PORTB
CALL BEKLE
MOVLW B'00111111'
MOVWF PORTD
MOVLW B'11110110'
MOVWF PORTB
CALL BEKLE
MOVLW B'00011111'
MOVWF PORTD
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
DON70
RRF PORTD
BSF PORTD,7
CALL BEKLE
BTFSC PORTD,0
GOTO DON70
DON71
RRF PORTD
BSF PORTD,7
RRF PORTC
BCF PORTC,7
BTFSC PORTC,5
GOTO DON71
DON72
RRF PORTC
BSF PORTC,7
CALL BEKLE
BTFSC PORTC,0
GOTO DON72

MOVLW B'00111111'
MOVWF PORTC
MOVLW B'011'
MOVWF PORTE
CALL BEKLE
MOVLW B'01111111'
MOVWF PORTC
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
MOVLW B'11111111'
MOVWF PORTC
MOVLW B'000'
MOVWF PORTE
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
MOVLW B'001111'
MOVWF PORTA
CALL BEKLE
MOVLW B'110'
MOVWF PORTE
MOVLW B'000111'
MOVWF PORTA
CALL BEKLE
MOVLW B'111'
MOVWF PORTE
MOVLW B'000011'
MOVWF PORTA
CALL BEKLE
MOVLW B'100001'
MOVWF PORTA
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
CALL BEKLE
MOVLW B'101110'
MOVWF PORTA
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK7 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH7 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK7
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR7 ;GERİ DÖN
FLH7
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-8- ORTADAN BAŞA VE SONA DOĞRU AKARDION
;----------------------------------------------------------------

CALL HIZLAN
TEKRAR8
MOVLW B'10000000'
MOVWF PORTC
CALL BEKLE
DON73
RRF PORTC
BSF PORTC,7
RLF PORTD
BSF PORTD,0
CALL BEKLE
BTFSS PORTC,0
GOTO DON73
MOVLW B'100'
MOVWF PORTE
MOVLW B'11111111'
MOVWF PORTD
CALL BEKLE
MOVLW B'110'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
MOVLW B'111'
MOVWF PORTE
MOVLW B'00000011'
MOVWF PORTB
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101110'
MOVWF PORTA
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101111'
MOVWF PORTA
MOVLW B'11110111'
MOVWF PORTB
CALL BEKLE
;GERİ DÖNÜŞ HAREKETLERİ
MOVLW B'101110'
MOVWF PORTA
MOVLW B'01110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101100'
MOVWF PORTA
MOVLW B'00110111'
MOVWF PORTB
CALL BEKLE
MOVLW B'101000'
MOVWF PORTA
MOVLW B'00010111'
MOVWF PORTB
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
MOVLW B'00000111'
MOVWF PORTB
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
MOVLW B'00000011'
MOVWF PORTB
CALL BEKLE
MOVLW B'110'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
MOVLW B'00000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'000'
MOVWF PORTE
MOVLW B'01111111'
MOVWF PORTD
CALL BEKLE
DON74
RLF PORTC
BCF PORTC,0
RRF PORTD
BCF PORTD,7
CALL BEKLE
BTFSC PORTD,0
GOTO DON74
MOVLW B'00000000'
MOVWF PORTC
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK8 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH8 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK8
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR8 ;GERİ DÖN
FLH8
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

;----------------------------------------------------------------
;-9- PORTA'DAN SONA DOĞRU TEK TEK HAREKET (TEKLİ KARA ŞİMŞEK)
;----------------------------------------------------------------
; SONDENEY

CALL HIZLAN
TEKRAR9
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000010'
MOVWF PORTA
CALL BEKLE
MOVLW B'000100'
MOVWF PORTA
CALL BEKLE
MOVLW B'001000'
MOVWF PORTA
CALL BEKLE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
;PORTE LEDLERİ YANIYOR
MOVLW B'000000'
MOVWF PORTA
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
MOVLW B'010'
MOVWF PORTE
CALL BEKLE
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
;PORTC LEDLERİ YANIYOR
MOVLW B'000'
MOVWF PORTE
MOVLW B'00000001'
MOVWF PORTC
CALL BEKLE
DON75
RLF PORTC
BCF PORTC,0
CALL BEKLE
BTFSS PORTC,7
GOTO DON75
;PORTD LEDLERİ YANIYOR
MOVLW B'00000000'
MOVWF PORTC
MOVLW B'00000001'
MOVWF PORTD
CALL BEKLE
DON76
RLF PORTD
BCF PORTD,0
CALL BEKLE
BTFSS PORTD,7
GOTO DON76
;PORTB LEDLERİ YANIYOR
MOVLW B'00000000'
MOVWF PORTD
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000010'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000100'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'01000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000000'
MOVWF PORTB
CALL BEKLE
;GERİ DÖNÜŞ HAREKETLERİ -PORTB
MOVLW B'10000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'01000000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00100000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00010000'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000100'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000010'
MOVWF PORTB
CALL BEKLE
MOVLW B'00000001'
MOVWF PORTB
CALL BEKLE
;PORTD LEDLERİ GERİ DÖNÜŞ
MOVLW B'00000000'
MOVWF PORTB
MOVLW B'10000000'
MOVWF PORTD
CALL BEKLE
DON77
RRF PORTD
BCF PORTD,7
CALL BEKLE
BTFSS PORTD,0
GOTO DON77
;PORTC LEDLERİ GERİ DÖNÜŞ
MOVLW B'00000000'
MOVWF PORTD
MOVLW B'10000000'
MOVWF PORTC
CALL BEKLE
DON78
RRF PORTC
BCF PORTC,7
CALL BEKLE
BTFSS PORTC,0
GOTO DON78
;PORTE LEDLERİ GERİ DÖNÜŞ
MOVLW B'00000000'
MOVWF PORTC
MOVLW B'100'
MOVWF PORTE
CALL BEKLE
MOVLW B'010'
MOVWF PORTE
CALL BEKLE
MOVLW B'001'
MOVWF PORTE
CALL BEKLE
;PORTB LEDLERİ GERİ DÖNÜŞ
MOVLW B'000'
MOVWF PORTE
MOVLW B'100000'
MOVWF PORTA
CALL BEKLE
MOVLW B'001000'
MOVWF PORTA
CALL BEKLE
MOVLW B'000100'
MOVWF PORTA
CALL BEKLE
MOVLW B'000010'
MOVWF PORTA
CALL BEKLE
MOVLW B'000001'
MOVWF PORTA
CALL BEKLE
MOVLW B'000000'
MOVWF PORTA
CALL BEKLE

BCF STATUS,0
DECFSZ ADET,1 ;DECREMENT F SKIP IF ZERO-ADET DEĞİŞKENİNİ 1 EKSİLT
GOTO MUK9 ;ADET DEĞİŞKENİ 0 DEĞİL İSE MUK1 RUTİNİNE GİT
GOTO FLH9 ;ADET DEĞİŞKENİ 0 İSE FLH1 RUTİNİNE GİT
MUK9
RLF HIZ ;HIZ DEĞİŞKENİNİ SOLA KAYDIR (001)-(010)-(100)
GOTO TEKRAR9 ;GERİ DÖN
FLH9
MOVLW B'001'
MOVWF HIZ
CALL FLASH ;ADET DEĞİŞKENİ SIFIR İSE, FLASH RUTİNİNİ ÇAĞIR GEL

GOTO BASLA

;-------------------------------------------------------
HIZLAN
MOVLW .3 ;W REG'E DECIMAL 3 SAYISINI YÜKLE (3 DEFA TEKRAR ETMEK İÇİN)
MOVWF ADET ;W REG'DEKİ 3 SAYISINI ADET DEĞİŞKENİNE YÜKLE
MOVLW B'001' ;W REG'E BINARY'001' SAYISINI YÜKLE (3 FARKLI HIZ İÇİN)
MOVWF HIZ ;W REG'DEKİ '0001' SAYISINI HIZ DEĞİŞKENİNE YÜKLE
RETURN
;-------------------------------------------------------
SIL
CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE
RETURN
;-------------------------------------------------------
FLASH
MOVLW .3
MOVWF ADET
FLSH1
MOVLW B'101111'
MOVWF PORTA
MOVLW B'11110111'
MOVWF PORTB
MOVLW B'11111111'
MOVWF PORTC
MOVLW B'11111111'
MOVWF PORTD
MOVLW B'111'
MOVWF PORTE

CALL BEKLE
CALL BEKLE
CALL BEKLE

CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
CLRF PORTE

CALL BEKLE
CALL BEKLE
CALL BEKLE

DECFSZ ADET,1
GOTO FLSH1
RETURN

; 1/2 SEC BEKLE SUBROUTINE WITH 4MHz CLOCK

;-------------------------------------------------------
BEKLE
BTFSS HIZ,0
GOTO HIZ2
GOTO BEKLE1
HIZ2
BTFSS HIZ,1
GOTO HIZ3
GOTO BEKLE2
HIZ3
BTFSS HIZ,2
GOTO BEKLE3
GOTO BEKLE3

BEKLE1
MOVLW .150 ;W REG'E 200 SAYISINI AT
MOVWF S1 ;S1 DEĞERİNİ W'DEN AL
SAY1 MOVLW .150 ;WREG'E 200 SAYISINI AT
MOVWF S2 ;S2 DEĞERİNİ W'DEN AL
MOVLW .150
MOVWF S3
; MOVLW .150
; MOVWF S4

SAY2 DECFSZ S2,1 ;DECREMENT F SKIP IF 0- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY2 ;0 DEĞİLSE, D2'YE GİT
SAY3 DECFSZ S3,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY3 ;0 DEĞİLSE, A1'E GİT
;SAY4 DECFSZ S4,1
; GOTO SAY4
DECFSZ S1,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY1 ;0 DEĞİLSE, A1'E GİT
RETURN

BEKLE2
MOVLW .120 ;W REG'E 200 SAYISINI AT
MOVWF S1 ;S1 DEĞERİNİ W'DEN AL
SAY21 MOVLW .120 ;WREG'E 200 SAYISINI AT
MOVWF S2 ;S2 DEĞERİNİ W'DEN AL
MOVLW .120
MOVWF S3
SAY22 DECFSZ S2,1 ;DECREMENT F SKIP IF 0- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY22 ;0 DEĞİLSE, D2'YE GİT
SAY23 DECFSZ S3,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY23 ;0 DEĞİLSE, A1'E GİT
DECFSZ S1,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY21 ;0 DEĞİLSE, A1'E GİT
RETURN
BEKLE3
MOVLW .90 ;W REG'E 200 SAYISINI AT
MOVWF S1 ;S1 DEĞERİNİ W'DEN AL
SAY31 MOVLW .90 ;WREG'E 200 SAYISINI AT
MOVWF S2 ;S2 DEĞERİNİ W'DEN AL
MOVLW .90
MOVWF S3
SAY32 DECFSZ S2,1 ;DECREMENT F SKIP IF 0- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY32 ;0 DEĞİLSE, D2'YE GİT
SAY33 DECFSZ S3,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY33 ;0 DEĞİLSE, A1'E GİT
DECFSZ S1,1 ;DEC F Skip if Zero- SAYIYI AZALT, 0 İSE BİR KOMUT ATLA
GOTO SAY31 ;0 DEĞİLSE, A1'E GİT
RETURN

END

Share this article :

Postar um comentário

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. kvolts - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger