;**********************************************************************
;                                                                     				
;    Filename:	    CONTROL I2C          	
;    Date:          25.03.08                                         				
;    File Versión:   *.*                                     	     			               
;                                                                  					
;    Autor: LUCIANO GARCÍA ALMENA                                    			
;    Company: TECNOCAT                                                				
;                                                                     					 
;                                                                  					
;**********************************************************************


	list      p=16f877            ; list directive to define processor
	#include <p16f877.inc>        ; processor specific variable definitions
	ERRORLEVEL -302
	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _XT_OSC & _WRT_ENABLE_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF 


;**********************************************************************

	
BYTE_I2C	EQU	20

	ORG     0X00             ; processor reset vector
 	NOP
	GOTO 	INICIO
	ORG	0X05


	


INICIO	
	

	CALL	CONFIGURACION
	BSF 	STATUS,RP0
	BCF 	STATUS,RP0
	BCF		OPTION_REG,NOT_RBPU
	MOVLW	B'11111111'
	MOVWF 	TRISB
	BTFSC	PORTB,0
	GOTO INICIO
	
	CALL S_START 			;start 
	MOVLW B'10100000' 		; byte identificador a W 
	CALL S_BYTE 			; envio de byte en W, que es identificador 
	MOVLW 0X00		 			; direccion alta 
	CALL S_BYTE 			; envio de direccion alta 
	MOVLW 0X00			; direccion baja 
	CALL S_BYTE 			; envio de direccion baja 
	INCF	BYTE_I2C
	MOVF	BYTE_I2C,W	; dato a grabar en posicion 000h 

	 						
	CALL S_BYTE 			; envio de dato a grabar 
	CALL S_STOP 			; stop, si deseas, mandas mas datos antes de parar

	GOTO INICIO

	INCLUDE  <I2C.INC>
	END