#DEFINE BANK0 BCF STATUS,5
#DEFINE BANK1 BSF STATUS,5
;------ CONFIGURACION -----------------
main
BANK0
CLRF PORTB
MOVLW 0X07
MOVWF CMCON ;comparadores apagados
BANK1
CLRF TRISB
CLRF TRISA
BSF TRISA,5
BANK0
;---------------------------------------
BTFSC PORTA,5 ;Puedes omitir esto, es solo para usarlo con el simulador al presionar MCLR
GOTO $-1
BTFSS PORTA,5
GOTO $-1
;----------------------------------------
;-----------------------------------------
CLRF INTCON ;NO INTERRUOCIONES
BANK1
MOVLW 0X01 ;--DIRECCION DEL DATO-- Yo le di 01,puedes ocupar en tu rutina el FSR si lo haces de
MOVWF EEADR ;forma incrementar , etc...
MOVLW 0XF0 ;--DATO-- Yo cargue el dato 0xF0 , puedes cambiarle por cualquier registro
MOVWF EEDATA
;---------Secuencia Para grabar la EEPROM ----------------------
BSF EECON1,WREN ;HABILITA LA ESCRITURA
MOVLW 0X55
MOVWF EECON2 ;SE INSERTA CODIGO DE
MOVLW 0XAA ;DE HABILITACION
MOVWF EECON2
BSF EECON1,WR ;SE INICIA ESCRITURA
NOP
BTFSC EECON1,WR ; Esperas a que termine la escritura en caso de no usar interrupciones como este ejemplo
GOTO $-2
;--------------------------------------------
BCF PIR1,EEIF
BCF EECON1,WREN ;DESHABILITA ESCRITURA
;--------------- Lectura de la EEPROM --------------
BANK1
MOVLW 0X01
MOVWF EEADR ; SE DIRECCIONA EN LA POSICION 0X01
BSF EECON1,RD ; INICIA LECTURA
MOVF EEDATA,W ;CARGA LOS DATOS LEIDOS EN " W "
BANK0
MOVWF PORTB
GOTO $-1
END ; directive 'end of program'