Hola, estoy tratando de lograr escribir la memoria eeprom de un pic16f628a y, si bien es el código textual que figura en la hoja de datos, simplemente no guarda nada.
Además desde el programador llené todos los espacios con ceros y al inicio de mi programa trato de leer esos valores pero lee otros números..
Este es el segmento de mi programa que debería escribir en la eeprom:
Les agradecería cualquier aporte que me ayude a encontrar dónde puede estar el problema.. Desde el programador puedo leer y escribir la eeprom correctamente por lo que no es un fallo del pic..
Desde ya muchas gracias.
Saludos..
Además desde el programador llené todos los espacios con ceros y al inicio de mi programa trato de leer esos valores pero lee otros números..
Este es el segmento de mi programa que debería escribir en la eeprom:
Código:
Boton4
clrf PortB
bsf Status, Rp0
clrf EEAdr ;Dirección = 0
movfw Digito1
movwf EEData ;Dato a escribir = Digito 1
bsf EECon1, WrEn ;Habilita Escritura de la EEprom
bcf IntCon, GIE ;-
movlw 0x55 ; |
movwf EECon2 ; | Código mágico
movlw 0xAA ; |
bsf EECon1, Wr ;-
btfsc EECon1, Wr ;Espera a que termine el proceso
goto $-1 ;de escritura de la memoria.
incf EEAdr ;Dirección = 1
movfw Digito2
movwf EEData ;Dato a escribir = Digito 2
bcf IntCon, GIE ;-
movlw 0x55 ; |
movwf EECon2 ; | Código mágico
movlw 0xAA ; |
bsf EECon1, Wr ;-
btfsc EECon1, Wr ;Espera a que termine el proceso
goto $-1 ;de escritura de la memoria.
incf EEAdr
movfw Digito3
movwf EEData ;Dato a escribir = Digito 3
bcf IntCon, GIE ;-
movlw 0x55 ; |
movwf EECon2 ; | Código mágico
movlw 0xAA ; |
bsf EECon1, Wr ;-
btfsc EECon1, Wr ;Espera a que termine el proceso
goto $-1 ;de escritura de la memoria.
bcf EECon1, WrEn ;Deshabilita escritura de la EEprom
bcf Status, Rp0 ;Vuelve al banco 0
bsf Control, Pulsador
goto Inicio
Desde ya muchas gracias.
Saludos..