LIST P=16F877A
#include <P16F877A.INC>
__config H'3F31'
SAYI1 EQU 0X20
SAYI2 EQU 0X21
SONUCH EQU 0X22
SONUCL EQU 0X23
HANGISI EQU 0X24
SYC0 EQU 0X25
SYC1 EQU 0X26
ORG 0X000
GOTO PROGRAM
PROGRAM
BANKSEL TRISB
CLRF TRISB
MOVLW D'1'
MOVWF TRISA
MOVLW D'6'
MOVWF ADCON1
BANKSEL PORTB
CLRF PORTB
CLRF PORTA
CLRF SONUCH
CLRF SONUCL
CLRF HANGISI
MOVLW D'200'
MOVWF SAYI1
MOVLW D'5'
MOVWF SAYI2
CLRW
GOTO ISLEM
ISLEM
ADDWF SAYI1,W
BTFSC STATUS,C
INCF SONUCH,F
BCF STATUS,C
DECFSZ SAYI2
GOTO ISLEM
MOVWF SONUCL
GOTO DUGME
HIGH_GOSTER
MOVFW SONUCH
MOVWF PORTB
RETURN
LOW_GOSTER
MOVFW SONUCL
MOVWF PORTB
RETURN
DUGME
BTFSC PORTA,0
CALL DEGISTIR
CALL KONTROL
GOTO DUGME
DEGISTIR
COMF HANGISI,1
CALL GECIKME
CALL GECIKME2
CALL GECIKME
CALL GECIKME2
RETURN
KONTROL
BTFSS HANGISI,0
CALL LOW_GOSTER
BTFSC HANGISI,0
CALL HIGH_GOSTER
RETURN
GECIKME
MOVLW 0XFF
MOVWF SYC0
MOVLW 0XFF
MOVWF SYC1
RETURN
GECIKME2
DECFSZ SYC1,F
GOTO GECIKME2
DECFSZ SYC0,F
GOTO GECIKME2
RETURN
END