;*************************************************************
;****** ALPEREN KOLAMUÇ
;******
;*************************************************************
LIST P=16F628A
INCLUDE "P16F628A.INC"
SAYAC1 EQU H'0C'
SAYAC2 EQU H'0D'
SAYAC3 EQU H'0E'
SAYAC4 EQU H'0F'
SAYAC5 EQU H'10'
SAYAC6 EQU H'11'
SAYAC7 EQU H'12'
SAYAC8 EQU H'13'
SAYAC9 EQU H'14'
SAYACE EQU H'15'
SAYACA EQU H'16'
SAYACSS EQU H'17'
SAYACT EQU H'20'
SAYACS EQU H'21'
BSF STATUS,5
CLRF TRISA
CLRF TRISB
BCF STATUS,5
CALL TEK
CALL ESKORT
CALL SAGSOL
CALL AD
CALL YUZ
CALL SNAKE
;***********************************************************
SNAKE MOVLW D'2'
MOVWF SAYACS
SBAS MOVLW B'00001'
MOVWF PORTA
MOVLW B'00000010'
MOVWF PORTB
CALL TIMER
MOVLW B'00000011'
MOVWF PORTB
CALL TIMER
MOVLW B'00010011'
MOVWF PORTB
CALL TIMER
MOVLW B'00110011'
MOVWF PORTB
CALL TIMER
MOVLW B'01110011'
MOVWF PORTB
CALL TIMER
MOVLW B'11110011'
MOVWF PORTB
CALL TIMER
MOVLW B'11111011'
MOVWF PORTB
CALL TIMER
MOVLW B'01001'
MOVWF PORTA
CALL TIMER
MOVLW B'01101'
MOVWF PORTA
CALL TIMER
MOVLW B'01111'
MOVWF PORTA
CALL TIMER
MOVLW B'01110'
MOVWF PORTA
CALL TIMER
MOVLW B'11111100'
MOVWF PORTB
CALL TIMER
MOVLW B'11101100'
MOVWF PORTB
CALL TIMER
MOVLW B'11001100'
MOVWF PORTB
CALL TIMER
MOVLW B'10001100'
MOVWF PORTB
CALL TIMER
MOVLW B'00001100'
MOVWF PORTB
CALL TIMER
MOVLW B'00000100'
MOVWF PORTB
CALL TIMER
MOVLW B'00110
MOVWF PORTA
CALL TIMER
MOVLW B'00010'
MOVWF PORTA
CALL TIMER
MOVLW B'00000'
MOVWF PORTA
CALL TIMER
DECFSZ SAYACS,F
GOTO SBAS
RETURN
;------------------------------------------------------
SAGSOL CALL CLR
MOVLW D'5'
MOVWF SAYACSS
SS MOVLW B'01111'
MOVWF PORTA
CALL TIMER
CLRF PORTA ;2. SÜTUNA GEÇTİ 1. SÜTUN SÖNDÜ
MOVLW B'00001111'
MOVWF PORTB
CALL TIMER
MOVLW B'11110000' ;3.SÜTUNA GEÇTİ 2.SÜTUN SÖNDÜ
MOVWF PORTB
CALL TIMER
MOVLW B'00001111' ;2. SÜTUNA GEÇTİ 3. SÜTUN SÖNDÜ
MOVWF PORTB
CALL TIMER
CLRF PORTB ;1. SÜTUNA GEÇTİ 2.SÜTUN SÖNDÜ
MOVLW B'01111'
MOVWF PORTA
CALL TIMER
DECFSZ SAYACSS
GOTO SS
RETURN
;---------------------------------------------------------------------------------------------------------------
AD CALL CLR ;TEMİZLİK YAPILDI VE AD YAZMA İŞLEMİNE GEÇİLDİ.
;---------------------------------------------------------------------------------------------------------------
MOVLW B'01110'
MOVWF PORTA ;A
MOVLW B'11100101'
MOVWF PORTB
CALL ADTIMER
CALL CLR
CALL TIMER
;-----------------------------------------------------------
CLRF PORTA
MOVLW B'10001111'
MOVWF PORTB ;L
CALL ADTIMER
CALL CLR
CALL TIMER
;-----------------------------------------------------------
CLRF PORTB
MOVLW B'01111'
MOVWF PORTA
MOVLW B'01110101' ;P
MOVWF PORTB
CALL ADTIMER
CALL CLR
CALL TIMER
;-----------------------------------------------------------
CLRF PORTA
MOVLW B'01111'
MOVWF PORTA
MOVLW B'10111011' ;E
MOVWF PORTB
CALL ADTIMER
CALL CLR
CALL TIMER
;----------------------------------------------------------
CLRF PORTB
MOVLW B'00000001'
MOVWF PORTB
MOVLW B'01111'
MOVWF PORTA ;r
CALL ADTIMER
CALL CLR
CALL TIMER
;-----------------------------------------------------------
CLRF PORTA
MOVLW B'01111'
MOVWF PORTA
MOVLW B'10111011' ;E
MOVWF PORTB
CALL ADTIMER
CALL CLR
CALL TIMER
;------------------------------------------------------------
MOVLW B'01111'
MOVWF PORTA
MOVLW B'11110001'
MOVWF PORTB ;n
CALL ADTIMER
CALL CLR
CALL TIMER
RETURN
;---------------------------------------------------------------------
YUZ CALL CLR
MOVLW D'5'
MOVWF SAYAC4
YUZBAS MOVLW B'01101001'
MOVWF PORTB ;GÜLÜCÜK
MOVLW B'01111'
MOVWF PORTA
CALL ADTIMER
CLRF PORTA
CLRF PORTB
CALL MINITIMER
;---------------------------------------------------------------------
MOVLW B'01101111'
MOVWF PORTB ;TRİPLER
CALL ADTIMER
CLRF PORTB
CALL MINITIMER
;-------------------------------------------------------------------------
MOVLW B'01101111'
MOVWF PORTB
MOVLW B'01001' ;AĞLAYIŞ
MOVWF PORTA
CALL ADTIMER
CLRF PORTB
CLRF PORTA
CALL MINITIMER
DECFSZ SAYAC4,F
GOTO YUZBAS
RETURN
;-----------------------------------------------------------------------------
ESKORT CALL CLR
MOVLW D'10'
MOVWF SAYACE
DONGU CLRF PORTA
CLRF PORTB
MOVLW B'11110000'
MOVWF PORTB
CALL MINITIMER
CLRF PORTB
CALL MINITIMER
MOVLW B'11110000'
MOVWF PORTB
CALL MINITIMER
CLRF PORTB
CALL MINITIMER
MOVLW B'11110000'
MOVWF PORTB
CALL MINITIMER
CLRF PORTB
CALL MINITIMER
MOVLW B'01111'
MOVWF PORTA
CALL MINITIMER
CLRF PORTA
CALL MINITIMER
MOVLW B'01111'
MOVWF PORTA
CALL MINITIMER
CLRF PORTA
CALL MINITIMER
MOVLW B'01111'
MOVWF PORTA
CALL MINITIMER
CLRF PORTA
CALL MINITIMER
MOVLW B'01111'
MOVWF PORTA
CALL MINITIMER
CLRF PORTA
CALL MINITIMER
DECFSZ SAYACE,F
GOTO DONGU
RETURN
;-----------------------------------------------------
TEK MOVLW D'10'
MOVWF SAYACT
TEKBAS MOVLW B'00001'
MOVWF PORTA
CALL MINITIMER
CALL CLR
MOVLW B'00000001'
MOVWF PORTB
CALL MINITIMER
MOVLW B'00010000'
MOVWF PORTB
CALL MINITIMER
MOVLW B'00100000'
MOVWF PORTB
CALL MINITIMER
MOVLW B'01000000'
MOVWF PORTB
CALL MINITIMER
MOVLW B'10000000'
MOVWF PORTB
CALL MINITIMER
MOVLW B'00001000'
MOVWF PORTB
CALL MINITIMER
CALL CLR
MOVLW B'01000'
MOVWF PORTA
CALL MINITIMER
MOVLW B'00100'
MOVWF PORTA
CALL MINITIMER
MOVLW B'00010'
MOVWF PORTA
CALL MINITIMER
CALL CLR
DECFSZ SAYACT,F
GOTO TEKBAS
RETURN
;---------------------------------------------------------
MINITIMER MOVLW D'255'
MOVWF SAYAC8
D5 MOVLW D'255'
MOVWF SAYAC7
D9 DECFSZ SAYAC7,F
GOTO D9
DECFSZ SAYAC8,F
GOTO D5
RETURN
;--------------------------------------------------
TIMER MOVLW D'200'
MOVWF SAYAC2
D2 MOVLW D'200'
MOVWF SAYAC1
D1 DECFSZ SAYAC1,F
GOTO D1
DECFSZ SAYAC2,F
GOTO D2
RETURN
;--------------------------------------------------------------
ADTIMER MOVLW D'255'
MOVWF SAYAC6
MOVLW D'255'
MOVWF SAYAC3
D3 MOVLW D'255'
MOVWF SAYAC5
DECFSZ SAYAC3,F
GOTO D3
D4 DECFSZ SAYAC5,F
GOTO D4
DECFSZ SAYAC6,F
GOTO D3
RETURN
;----------------------------------------------------------------
CLR CLRF PORTA
CLRF PORTB
RETURN
;----------------------------------------------------------------
END