;************************
;*	VöriJani  BIGYÓJA.  *
;************************

	LIST P= 16F627
	#INCLUDE "P16F627.INC"
	ERRORLEVEL 0, -302

	__CONFIG _CP_OFF&_WDT_OFF&_LVP_OFF&_INTRC_OSC_NOCLKOUT

	CBLOCK 0X70
		W_TEMP
		STATUS_TEMP
		T
	ENDC
		
	ORG 0x00
	GOTO MAIN

	ORG 0x04
	MOVWF W_TEMP
	SWAPF STATUS,W
	MOVWF STATUS_TEMP
	BTFSC INTCON,T0IF		
	GOTO T0MEGSZ	
	BTFSC INTCON,INTF
	GOTO MEGSZ_RB0
	GOTO MEGSZKILEP
	
MEGSZ_RB0			; led  ki/be
	BTFSS PORTA,1	
	GOTO BE
	GOTO KI

BE
	BSF PORTA,1
	GOTO MEGSZKILEP
	
KI
	BCF PORTA,1
	GOTO MEGSZKILEP
		
MAIN 
	MOVLW 0x07
	MOVWF CMCON
		
	BANKSEL TRISA
	MOVLW 0x00
	MOVWF TRISA
	MOVLW 0xFF
	MOVWF TRISB
	MOVLW B'01000111'
	MOVWF OPTION_REG
	BCF PCON,3

	BANKSEL PORTA
	BSF INTCON,INTE
	BSF INTCON,PEIE
	BSF INTCON,GIE
	
	MOVLW .10
	MOVWF T

LOOP
	NOP
	GOTO LOOP
	
MEGSZKILEP				
	BCF INTCON,INTE
	BSF INTCON,T0IE
	SWAPF STATUS_TEMP,W
	MOVWF STATUS
	SWAPF W_TEMP,F
	SWAPF W_TEMP,W
	
	RETFIE

T0MEGSZ					; 10 TIMER0 megszakítás
	DECFSZ T		
	GOTO KILEP		 
	
T0MEGSZKILEP			; Ha megvan a 10 T0 megsz., akkor engedélyezi újra az RB0 megsz.t.
	BCF INTCON,INTF
	BSF INTCON,INTE
	BCF INTCON,T0IF
	BCF INTCON,T0IE
	MOVLW .10
	MOVWF T
	SWAPF STATUS_TEMP,W
	MOVWF STATUS
	SWAPF W_TEMP,F
	SWAPF W_TEMP,W
	
	RETFIE
	
KILEP							; Ha nincs meg a 10 TIMER0 megsz, akkor csak visszalép
	BCF INTCON,T0IF
	SWAPF STATUS_TEMP,W
	MOVWF STATUS
	SWAPF W_TEMP,F
	SWAPF W_TEMP,W
	RETFIE	
	
	END
	
	
	



