

	list		p=16f887		; list directive to define processor
	#include <p16F887.inc>
	__CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
	__CONFIG    _CONFIG2, _WRT_OFF & _BOR21V
	Errorlevel	1,-302	

		
		CBLOCK	0X25
		IDOZIT1 
		IDOZIT2	
		WSAVE
		BIN
		ENDC

		ORG	0
 		GOTO	START

		ORG	4
		BCF		INTCON,T0IF
		DECFSZ	IDOZIT1		;COUNTER
		RETFIE
		MOVWF	WSAVE   ; W MENTÉSE
		MOVLW	7		; ELŐOSZTÓ 1
		MOVWF	IDOZIT1
		MOVFW	WSAVE	; W VISSZA
		DECFSZ	IDOZIT2
		RETFIE
		MOVWF	WSAVE
		MOVLW	23		;ELŐOSZTÓ 2
		MOVWF	IDOZIT2		;COUNTER END
		GOTO 	ELDONT

START:	BSF		STATUS,RP0	;BANK1
		MOVLW 	B'01100111' ; 4MHz BELSŐ ORAJEL
		MOVWF	OSCCON	
		MOVLW	B'11111111'	; PORT B MIND BEMENET			
		MOVWF	TRISB
		MOVLW	B'00000000'	; PORT D MIND KIMENET
		MOVWF	TRISD
		MOVLW	B'00000011'   ;TIMER0 BEÁLLÍTÁSA IN=OSC/4 PS=16
		MOVWF	OPTION_REG
		BCF		STATUS,RP0	;BANK0
		MOVLW	7	;ELŐOSZTÓ 1 ÉRTÉKADÁS	
		MOVWF	IDOZIT1
		MOVLW 	23	;ELŐOSZTÓ 2 ÉRTÉKADÁS
		MOVWF	IDOZIT2
		BSF		INTCON,GIE	; MEGSZAKÍTÁS ENGEDÉLYEZVE
		BSF		INTCON,T0IE	;	TMR0 MEGSZAKÍTÁS ENGEDÉLYEZVE
		CLRF 	BIN		; BIN NULLÁZÁSA

		BTFSS 	PORTB,1 ;UGRIK HA 1
		GOTO  	$-1
		BTFSC 	PORTB,1 ;UGRIK HA 0
		GOTO  	$-1
		INCF  	BIN  ; BIN NÖVELÉSE
		GOTO  	$-5		;VISSZA BEMENET FIGYELÉSRE

ELDONT:
		CLRC				;CARRY TÖRLÉSE
		MOVFW	BIN			;BIN BETÖLTÉSE	
		ADDLW 	B'11001011'	;HOZZÁAD 203-AT	
		BTFSC	STATUS,C	;HA TÚLCSORDUL AKKOR NAGYOBB 57HZ-NÉL
		GOTO	MAGAS
		MOVFW	BIN
		ADDLW	B'11010001'	;HOZZÁAD 209-ET 
		BTFSS	STATUS,C	;HA NEM CSORDUL TÚL AKKOR KISEBB 47 HZ-NÉL
		GOTO	ALACSONY
		MOVLW	B'00011000'	;HA JÓ AKKOR A KÉT KÖZÉPSŐ LED VILÁGIT
		MOVWF 	PORTD	; KIÍRÁS PORT D-RE
		CLRF 	BIN		; BIN NULLÁZÁSA
		MOVFW	WSAVE
		CLRC
		RETFIE
MAGAS:
		MOVLW	B'11000000'	;HA NAGYOBB AKKOR A KÉT FELSŐ LED VILÁGIT
		MOVWF	PORTD	
		CLRF	BIN	
		CLRC
		RETFIE
ALACSONY:	
		MOVLW	B'00000011'	;HA KISEBB AKKOR A KÉT ALSÓ VILÁGIT
		MOVWF	PORTD	
		CLRF	BIN
		CLRC
		RETFIE
	END

