Hola me ocurre un problema a la hora de direccionar la grabación de la EEPROM interna del 16f876. y especificar a la Dirección donde se grabara..
Quiero coger los datos que hay dentro del registro 0x23(dirmem1) en este caso el valor cargado es 0x06, y lo que me esta cogiendo al ejecutar esta instruciónes es el valor de la dirección del registro dirmem1 y no del contenido osea se me carga el valor 0x23 y lo que deseo es el contenido de dicha dirección no la dirección en si
movlw dirmem1 ;dirección de EEPROM
movwf EEADR ;ponerla en EEADR
EEADR se carga con el valor 0x23 es dcir con la direccíon de la variable que declare como dirmem1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
grabaEEPROM
movwf eepromdata ;aquí va el dato a escribir en EEPROM
bsf STATUS,RP1 ;cambiar a Banco 2
bsf STATUS,RP0
bsf EECON1,WREN ;habilitar grabación de EEPROM
bcf STATUS,RP0
movwf EEDATA ;poner dato en en EEDATA
movlw dirmem1 ;dirección de EEPROM
movwf EEADR ;ponerla en EEADR
bsf STATUS,RP0
movlw 0X55
movwf EECON2 ;comando
movlw 0XAA
movwf EECON2 ;comando
bsf EECON1,WR ;agregar el dato en la EEPROM
btfsc EECON1,WR ;esperar a que termine (10 ms)
goto $-1
bcf STATUS,RP1 ;cambiar a Banco 0
bcf STATUS,RP0
return
Donde tengo el fallo?
un saludo