	LIST P=16F877
	INCLUDE "P16F877.INC"
	__CONFIG _CP_OFF &_WDT_OFF &_PWRTE_ON &_HS_OSC &_BODEN_OFF &_LVP_OFF &_CPD_OFF &_WRT_ENABLE_OFF 
LSB	EQU	H'0020'
MSB	EQU	H'0021'
BASS	EQU	H'0022'
TIZ	EQU	H'0023'
DENGE	EQU	H'0024'
SES	EQU	H'0025'
SAYAC1	EQU	H'0026'
SAYAC2	EQU	H'0027'
SAYI1	EQU	H'0028'	
SAYI2	EQU	H'0029'	
SEVIYE	EQU	H'002A'
SAYAC3	EQU	H'002B'
SAYAC4	EQU	H'002C'
	ORG 	H'0000'
	GOTO 	BASLA
BASLA
	BCF	STATUS,6
	BSF	STATUS,5
	CLRF	TRISB
	CLRF	TRISC
	CLRF	TRISD
	CLRF	TRISE
	MOVLW	H'FF'
	MOVWF	TRISA
	MOVLW	H'06'
	MOVWF	ADCON1
	BCF	STATUS,5
	CLRF	PORTB
	CLRF	PORTC
	CLRF	PORTD
	CLRF	PORTE
	CLRF	SES
	CLRF	BASS
	CLRF	TIZ
	CLRF	DENGE
	CLRF	MSB
	CLRF	LSB
	CLRF	SAYAC1
	CLRF	SAYAC2
	CLRF	SEVIYE
	CALL	TEMIZLE
	MOVLW	B'01110111'
	MOVWF	PORTC
	MOVLW	B'01110101'
	MOVWF	PORTD
	MOVLW	.7
	MOVWF	DENGE
	MOVLW	.5--->0
	MOVWF	SES
	MOVLW	.7
	MOVWF	BASS
	MOVWF	TIZ
	GOTO	SESAYAR
;****************************
SESAYAR
	CALL	TEMIZLE
	CALL	LCD_SES
	MOVF	SES,W
	CALL	GOSTER
	CALL	SESYAZ
	MOVF	SES,W
	MOVWF	LSB
SESTEST
	CALL	BEKLE
	CALL	BEKLE
	CALL	BEKLE
	BTFSS	PORTA,2
	GOTO	BASSAYAR
	CALL	TESTA
	MOVF	LSB,W
	SUBWF	SES,W
	BTFSC	STATUS,Z
	GOTO	SESTEST
	CALL	TEMIZLE
	CALL	LCD_SES
	MOVF	LSB,W
	MOVWF	SES
	CALL	GOSTER
	CALL	SESYAZ
	GOTO	SESTEST
SESYAZ
	BCF	PORTD,0
	BCF	PORTD,1
	BCF	PORTD,2
	BCF	PORTD,3
	BTFSC	SES,0
	CALL	SET0D
	BTFSC	SES,1
	CALL	SET1D
	BTFSC	SES,2
	CALL	SET2D
	BTFSC	SES,3
	CALL	SET3D
	RETURN
;****************************
SET0D
	BSF	PORTD,0
	RETURN
SET1D
	BSF	PORTD,1
	RETURN
SET2D
	BSF	PORTD,2
	RETURN
SET3D
	BSF	PORTD,3
	RETURN
SET4D
	BSF	PORTD,4
	RETURN
SET5D
	BSF	PORTD,5
	RETURN
SET6D
	BSF	PORTD,6
	RETURN
SET7D
	BSF	PORTD,7
	RETURN
;****************************
BASSAYAR
	CALL	TEMIZLE
	CALL	LCD_BASS
	MOVF	BASS,W
	CALL	GOSTER
	CALL	BASSYAZ
	MOVF	BASS,W
	MOVWF	LSB
BASSTEST
	CALL	BEKLE
	CALL	BEKLE
	CALL	BEKLE
	BTFSS	PORTA,2
	GOTO	TIZAYAR
	CALL	TESTA
	MOVF	LSB,W
	SUBWF	BASS,W
	BTFSC	STATUS,Z
	GOTO	BASSTEST
	CALL	TEMIZLE
	CALL	LCD_BASS
	MOVF	LSB,W
	MOVWF	BASS
	CALL	GOSTER
	CALL	BASSYAZ
	GOTO	BASSTEST
BASSYAZ
	BCF	PORTD,4
	BCF	PORTD,5
	BCF	PORTD,6
	BCF	PORTD,7
	BTFSC	BASS,0
	CALL	SET4D
	BTFSC	BASS,1
	CALL	SET5D
	BTFSC	BASS,2
	CALL	SET6D
	BTFSC	BASS,3
	CALL	SET7D
	RETURN
;***************************
TIZAYAR
	CALL	TEMIZLE
	CALL	LCD_TIZ
	MOVF	TIZ,W
	CALL	GOSTER
	CALL	TIZYAZ
	MOVF	TIZ,W
	MOVWF	LSB
TIZTEST
	CALL	BEKLE
	CALL	BEKLE
	CALL	BEKLE
	BTFSS	PORTA,2
	GOTO	DENGEAYAR
	CALL	TESTA
	MOVF	LSB,W
	SUBWF	TIZ,W
	BTFSC	STATUS,Z
	GOTO	TIZTEST
	CALL	TEMIZLE
	CALL	LCD_TIZ
	MOVF	LSB,W
	MOVWF	TIZ
	CALL	GOSTER
	CALL	TIZYAZ
	GOTO	TIZTEST
TIZYAZ
	BCF	PORTC,0
	BCF	PORTC,1
	BCF	PORTC,2
	BCF	PORTC,3
	BTFSC	TIZ,0
	CALL	SET0C
	BTFSC	TIZ,1
	CALL	SET1C
	BTFSC	TIZ,2
	CALL	SET2C
	BTFSC	TIZ,3
	CALL	SET3C
	RETURN
;**************************
DENGEAYAR
	CALL	TEMIZLE
	CALL	LCD_DENGE
	MOVF	DENGE,W
	CALL	GOSTER
	CALL	DENGEYAZ
	MOVF	DENGE,W
	MOVWF	LSB
DENGETEST
	CALL	BEKLE
	CALL	BEKLE
	CALL	BEKLE
	BTFSS	PORTA,2
	GOTO	SESAYAR
	CALL	TESTA
	MOVF	LSB,W
	SUBWF	DENGE,W
	BTFSC	STATUS,Z
	GOTO	DENGETEST
	CALL	TEMIZLE
	CALL	LCD_DENGE
	MOVF	LSB,W
	MOVWF	DENGE
	CALL	GOSTER
	CALL	DENGEYAZ
	GOTO	DENGETEST
DENGEYAZ
	BCF	PORTC,4
	BCF	PORTC,5
	BCF	PORTC,6
	BCF	PORTC,7
	BTFSC	DENGE,0
	CALL	SET4C
	BTFSC	DENGE,1
	CALL	SET5C
	BTFSC	DENGE,2
	CALL	SET6C
	BTFSC	DENGE,3
	CALL	SET7C
	RETURN
;***************************
SET0C
	BSF	PORTC,0
	RETURN
SET1C
	BSF	PORTC,1
	RETURN
SET2C
	BSF	PORTC,2
	RETURN
SET3C
	BSF	PORTC,3
	RETURN
SET4C
	BSF	PORTC,4
	RETURN
SET5C
	BSF	PORTC,5
	RETURN
SET6C
	BSF	PORTC,6
	RETURN
SET7C
	BSF	PORTC,7
	RETURN
;****************************
TESTA
	BTFSS	PORTA,0
	CALL	ART
	BTFSS	PORTA,1
	CALL	AZAL
	RETURN
ART
	NOP
	MOVLW	.15
	SUBWF	LSB,W
	BTFSC	STATUS,Z
	RETURN
	INCF	LSB,F
	RETURN
AZAL
	NOP
	MOVLW	.0
	SUBWF	LSB,W
	BTFSC	STATUS,Z
	RETURN
	DECF	LSB,F
	RETURN
GOSTER
	MOVWF	MSB
	MOVWF	SEVIYE
	CALL	HESAP
	MOVLW	H'30'
	ADDWF	SAYI2,W
	CALL	VERIYAZ
	MOVLW	H'30'
	ADDWF	SAYI1,W
	CALL	VERIYAZ
SVEKRAN
	MOVLW	.0
	SUBWF	SEVIYE,W
	BTFSC	STATUS,Z
	RETURN
	CALL	SATIR2
S_EKRAN
	CALL	IMLEC
	DECFSZ	SEVIYE,F
	GOTO	S_EKRAN
	RETURN
;****************************
HESAP
	MOVLW	.0
	MOVWF	SAYI1
	MOVWF	SAYI2
HES
	MOVLW	.10
	SUBWF	MSB,W
	BTFSS	STATUS,C
	GOTO	HES1
	MOVLW	.10
	SUBWF	MSB,F
	INCF	SAYI2,F
	GOTO	HES	
HES1
	MOVLW	.1
	SUBWF	MSB,W
	BTFSS	STATUS,C
	GOTO	HESSON
	MOVLW	.1
	SUBWF	MSB,F
	INCF	SAYI1,F
	GOTO	HES1
HESSON
	RETURN
;****************************
SATIR2
	MOVLW	H'C0'
	CALL	KOMUTYAZ
	RETURN
SATIR1
	MOVLW	H'80'
	CALL	KOMUTYAZ
	RETURN
IMLEC
	MOVLW	A'*'
	CALL	VERIYAZ
	RETURN
VERIYAZ
	BSF	PORTE,1
	MOVWF	PORTB
	BCF	PORTE,0
	CALL	GECIKME
	BSF	PORTE,0
	RETURN
TEMIZLE
	MOVLW	H'0C'
	CALL	KOMUTYAZ
	MOVLW	H'01'
	CALL	KOMUTYAZ
	MOVLW	H'38'
	CALL	KOMUTYAZ
	MOVLW	H'0C'
	CALL	KOMUTYAZ
	RETURN
KOMUTYAZ
	BCF	PORTE,1
	MOVWF	PORTB
	BCF	PORTE,0
	CALL	GECIKME
	BSF	PORTE,0
	RETURN
GECIKME
	MOVLW	.10
	MOVWF	SAYAC1
DON1
	MOVLW	.100
	MOVWF	SAYAC2
DON2
	DECFSZ	SAYAC2,F
	GOTO	DON2
	DECFSZ	SAYAC1,F
	GOTO	DON1
	RETURN
LCD_BASS
	MOVLW	A' '--->b
	CALL	VERIYAZ
	MOVLW	A' '--->a
	CALL	VERIYAZ
	MOVLW	A'B'--->s
	CALL	VERIYAZ
	MOVLW	A'A'--->s
	CALL	VERIYAZ
	MOVLW	A'S'--->z
	CALL	VERIYAZ
	MOVLW	A'S'--->u
	CALL	VERIYAZ
	MOVLW	A' '--->s
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	RETURN
LCD_TIZ
	MOVLW	A' '
	CALL	VERIYAZ
	MOVLW	A' '--->m
	CALL	VERIYAZ
	MOVLW	A'T'--->a
	CALL	VERIYAZ
	MOVLW	A'I'--->g
	CALL	VERIYAZ
	MOVLW	A'Z'--->a
	CALL	VERIYAZ
	MOVLW	A' '--->s
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	RETURN
LCD_DENGE
	MOVLW	A' '
	CALL	VERIYAZ
	MOVLW	A'D'--->k
	CALL	VERIYAZ
	MOVLW	A'E'--->o
	CALL	VERIYAZ
	MOVLW	A'N'--->z
	CALL	VERIYAZ
	MOVLW	A'G'--->e
	CALL	VERIYAZ
	MOVLW	A'E'--->p
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	RETURN
LCD_SES
	MOVLW	A' '
	CALL	VERIYAZ
	MOVLW	A' '--->h
	CALL	VERIYAZ
	MOVLW	A'S'--->a
	CALL	VERIYAZ
	MOVLW	A'E'--->n
	CALL	VERIYAZ
	MOVLW	A'S'--->g
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	MOVLW	A' '
	CALL	VERIYAZ
	RETURN
BEKLE
	MOVLW	.100
	MOVWF	SAYAC3
DON11
	MOVLW	.255
	MOVWF	SAYAC4
DON22	
	DECFSZ  SAYAC4,F
	GOTO DON22
	DECFSZ	SAYAC3,F
	GOTO DON11
	RETURN
;************************
	END
