Slave       equ     	B'10100000'     		    ; EEPROM I2C címe (B'1010xxxx')
			Timer0      equ     34              ; késleltetés számláló alsó bájt
			Timer1      equ     35              ; késleltetés számláló felső bájt



Start			nop
			bcf		STATUS,C
			bsf		STATUS,RP0	;BANK 1 kiválasztása
			bcf		STATUS,RP1	
			bcf		OPTION_REG,NOT_RBPU
			bcf		OPTION_REG,T0CS
			bsf		OPTION_REG,PSA
			bsf		INTCON,PEIE
			bsf		PIE1,TMR1IE
			
			movlw	0x06
			movwf	ADCON1
			movlw	0xF9
			movwf	TRISA
			movlw	0xF0
			movwf	TRISB
			movlw	0x00
			movwf	TRISD		;D port minden lába kimenet
			movlw	0x18
			movwf	TRISC
			bcf		STATUS,RP1
			bcf		STATUS,RP0	;bank0 kiválasztása
			movlw	B'00001111'	;1/4 osztás, külső oszcillátor
			movwf	T1CON
			movlw	B'01111110'	;1/16 előosztás 00000110
			movwf	T2CON
			bcf		INTCON,GIE	;GLOBÁLIS INTERRUPT tiltás

			clrf	PIE1		; a periféria megszakítások tiltása 
			clrf	INTCON		;
			movlw	0x80 
			movwf	SSPSTAT		; slew rate vezérlés tiltva
			movlw	0x31		; SSPADD=49
			movwf	SSPADD
			bcf		STATUS,RP0	; bank0 kiválasztás
			clrf	PORTD
			movlw	B'00101000'	; SSPEN=1, soros port engedélyezés
			movwf	SSPCON		; I2C master, Fosc/(4*(SSPADD+1))
			clrf	PIR1

			...
			...
			...






load		
			call	delbutton
			btfsc	PORTA,5
			return

			movlw	0x00			; olvasás kezdőcímének beállítása
			movwf	Addr_Hi
			movlw	0x00
			movwf	Addr_Lo


			bsf	STATUS,RP0		; bank1 kiválasztás
			bsf	SSPCON2,SEN		; start bit
			bcf	STATUS,RP0		; bank0 kiválasztás
			call	Wait
        		bcf	STATUS,C		; R/W bitet 0-ba állítja
            		rlf	Addr_Hi,0		; Addr_Hi -> W
			addlw	Slave			; W= slave + cím hi + R/W
			movwf	SSPBUF
			call	Wait
			movf	Addr_Lo,0		; cím lo
			movwf	SSPBUF
			call	Wait

			bsf	STATUS,RP0		; bank1 kiválasztás
			bsf	SSPCON2,RSEN		; ismételt start bit !!!
			bcf	STATUS,RP0		; bank0 kiválasztás
			call	Wait
		        bsf	STATUS,C		; R/W bitet 1-be állítja, olvasás !!!!!!!!!
            		rlf	Addr_Hi,0		; Addr_Hi -> W
			addlw	Slave			; W= slave + cím hi + R/W
			movwf	SSPBUF
			call	Wait
			bsf	STATUS,RP0	 	; bank1 kiválasztás
			bsf	SSPCON2,RCEN		; vétel engedélyezés
			bcf	STATUS,RP0		; bank0 kiválasztás
			call	Wait
			movf	SSPBUF,W		; vett adat másolása memory-ba
			movwf	memory

			bsf	STATUS,RP0		; bank1 kiválasztás
			bsf	SSPCON2,PEN		; stop bit
			bcf	STATUS,RP0		; bank0 kiválasztás
			call	Wait





			return


Wait			btfss	PIR1,SSPIF	; SSPIF megszakítás flagre vár
			goto	Wait
			
			bcf	PIR1,SSPIF	; SSPIF flag törlése
            
			return



Delay     		movlw   70		; kb. 10ms késleltetés
            		movwf   Timer1		
Delay1      		decfsz  Timer0,1
            		goto    Delay1
            		decfsz  Timer1,1
            		goto    Delay1
            
			return