       List	P=16F882
		#include	"P16F882.INC"
		__CONFIG	_CONFIG1,   _PWRTE_OFF  & _WDT_OFF & _HS_OSC & _BOR_OFF & _LVP_OFF & _CP_OFF & _MCLRE_ON
		__CONFIG    _CONFIG2,	_IESO_OFF & _FCMEN_OFF
	
        CBLOCK 0x20             ; Declare variable addresses 
          Loop1,Loop2, ADAT, DELAY
        ENDC 
; 
; ----------- 
; INITIALIZE 
; ----------- 
; 
        ORG    0x000           

        CLRF   PORTA           
        CLRF   PORTB           
        CLRF   PORTC           
 		
        BSF    STATUS,RP0      

        CLRF   TRISA          
		CLRF   TRISB           
		movlw	B'00011000'
		movwf	TRISC			

		BCF    STATUS,RP0      


I2C_Setup

		BANKSEL SSPSTAT
		movlw	B'0000000'
		movwf	SSPSTAT
		
		BANKSEL	SSPCON
		movlw	B'00110110'		; I2C slave mode, 7 bites cim
		movwf	SSPCON

		BANKSEL	SSPADD
		movlw	B'01000000'		; Eszkoz cime (7:1) bitek
		movwf	SSPADD


I2C_cim_ellenorzes

	BANKSEL	PIR1				
	BTFSS	PIR1,SSPIF			; Cim egyezes figyelese	
	goto 	$-1		

	BANKSEL	SSPCON	
	BCF		SSPCON,CKP			; Orajel vonal foldre
	BANKSEL	PORTC				; Cim egyezes LED be
	BSF		PORTC,0
	call	I2C_start

	
I2C_adat_fogadas_1

	BANKSEL PIR1
	BTFSC 	PIR1,SSPIF			; Adat beerkezes figyelese
	GOTO 	$-1

	BCF		SSPCON,CKP			;Orajel foldre huzasa
	MOVFW	SSPBUF				;SSPBUF kiolvasása
	MOVWF	PORTB				;PORTB-ra kiiratás
	call	I2C_start

I2C_adat_fogadas_2
	

	BTFSC	PIR1,SSPIF			;Adat beérkezés figyelése
	GOTO	$-1
	
	BCF		SSPCON,CKP
	MOVFW	SSPBUF
	MOVWF	PORTA
	call I2C_start
	
	goto $

I2C_start
	
	BANKSEL	PIR1
	BCF		PIR1,SSPIF			;Flag bit torlése
	BCF		SSPCON,SSPOV		;Overflow bit torlése
	BCF		SSPCON,WCOL			;Write Collision bit torlése
	BSF		SSPCON,CKP			;Orajel vonal felengedese
	return


	END