Eeprom_Read MOVF Eadr, W BSF STATUS, RP1 ;***aus dem Datenblatt BCF STATUS, RP0 ;Bank 2 ;Write address MOVWF EEADR ;to read from BSF STATUS, RP0 ;Bank 3 BCF EECON1, EEPGD ;Point to Data memory BSF EECON1, RD ;Start read operation BCF STATUS, RP0 ;Bank 2 MOVF EEDATA, W ;W = EEDATA***Ende Code aus dem Datenblatt bcf STATUS, RP1 ;Bank 0 return Eeprom_Write BSF STATUS, RP1 ;***aus dem Datenblatt BSF STATUS, RP0 ;Bank 3 BTFSC EECON1, WR ;Wait for GOTO $-1 ;write to finish BCF STATUS, RP0 ;Bank 2 bcf STATUS, RP1 ;bank0 MOVF Eadr, W ;Address to bsf STATUS, RP1 ;bank 2 MOVWF EEADR ;write to bcf STATUS, RP1 ;bank0 MOVF Edata, W ;Data to bsf STATUS, RP1 ;bank 2 MOVWF EEDATA ;write BSF STATUS, RP0 ;Bank 3 BCF EECON1, EEPGD ;Point to Data memory BSF EECON1, WREN ;Enable writes BCF INTCON, GIE ;***** MOVLW 0x55 ;Write 55h to MOVWF EECON2 ;EECON2 MOVLW 0xAA ;Write AAh to MOVWF EECON2 ;EECON2 BSF EECON1, WR ;Start write operation BSF INTCON, GIE ;***** BCF EECON1, WREN ;Disable writes***Ende Code aus dem Datenblatt bcf STATUS, RP0y bcf STATUS, RP1 ;Bank 0 return