Programación De La Eeprom - EVOLUPIC b Manual Del Usuario

Tabla de contenido

Publicidad

ser determinada a través de un poleo en los bits 0, 1 y 2 del registro INTCON y bit 4 del registro EECON1. Dentro de la subrutina de
atención a las interrupciones, debe también de escribirse un 0 en el bit de bandera correspondiente, para impedir que la misma
interrupción vuelva a activarse una y otra vez. La instrucción RETFIE, habilita de nuevo la bandera GIE.
13. Programación de la EEPROM:
La memoria EEPROM residente en el chip 16F88, posee 256 bytes. Dichas localidades pueden ser leídas o bien, puede
escribirse en ellas durante la ejecución de un programa. Sus direcciones son de la 0 a la FF H. El acceso a esta memoria es a través de
direccionamiento indirecto utilizando 4 de los registros SFR (special fuction registers) EECON1, EECON2, EEDAT, y EEADR.
EEDAT guarda el dato que habrá de escribirse en la EEPROM, mientras que EEADR guarda la dirección. EECON1
es un registro cuyos bits permiten al usuario habilitar o deshabilitar la lectura y escritura en la EEPROM. EECON2 es un registro de
control usado para evitar escrituras accidentales, de tal manera que deben escribirse en dicho registro los valores 55H y AAH, antes
de iniciar un ciclo de escritura. En seguida se muestran los bits de control del registro EECON1:
REGISTRO EECON1 (DIRECCION 9CH)
-
Bit 7
-
para leer la EEPROM, debe de escribirse un 1 en el BIT 0 del registro. Este bit tomará automáticamente el valor de 0
después de haberse efectuado la lectura del dato.
-
Para iniciar el ciclo de escritura en la EEPROM, debe escribirse un 1 en el BIT 1 del registro. Una vez terminado el ciclo de
escritura, el bit tomará automáticamente el valor de 0.
-
El BIT 2 habilita o deshabilita el ciclo de escritura. Si vale 1, se habilita y si vale 0, se deshabilita.
-
El BIT 3, es una bandera que anuncia, después de un ciclo de escritura, que ésta fue completada en forma exitosa. Si el valor
es 1, existió un error y si el valor es de 0, entonces la escritura fue completada sin error.
-
El BIT 4 es una bandera de interrupción asociada a la escritura en la EEPROM. Si el valor es de 1, el ciclo de escritura
terminó. Si el valor es de 0, el ciclo de escritura no ha iniciado ó no ha concluído.
-
Los bits 5, 6 y 7, no se usan.
;subrutina para leer dato de EEPROM
;para usar esta subrutina, debe escribirse antes la dirección deseada
;en el registro EEADR (BANCO2). La rutina regresa con el dato en w.
EERD: BANCO3
BCF
BSF
BANCO2
MOVF
RETURN
;subrutina para escribir dato en EEPROM
;para usar esta subrutina, debe escribirse antes la dirección DE LA EEPROM
;en el registro EEADR (BANCO2) y el dato en el registro EEDATA (BANCO2)
;la rutina regresa una vez que el dato fue escrito en la localidad deseada.
EEWR: BANCO3
BCF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
EW:
BTFSC
GOTO
BCF
BSF
RETURN
-
-
EEIF
EECON1,EEPGD
EECON1,RD
EEDATA,W
EECON1,EEPGD
EECON1,WREN
INTCON, GIE
H'55'
EECON2
H'AA'
EECON2
EECON1,WR
EECON1,WR
EW
EECON1, WREN
INTCON, GIE
EVOLUPIC Bootloader 16F88 Punto Flotante, S.A. 2011
14
WRERR
WREN
;APUNTA HACIA EEPROM DE DATOS
;HABILITA EL BIT 0 (RD) DEL REGISTRO EECON1
;TRANSFIERE EL DATO EN EEDATA A W,
;HABILITA EL BANCO 3
;APUNTA HACIA EEPROM DE DATOS
;HABILITA ESCRITURA EN EEPROM
;DESHABILITA INTERRUPCIONES
;PREPARA SECUENCIA DE SEGURIDAD
;ESCRIBE PRIMER DATO DE SECUENCIA
;SEGUNDO DATO
;ESCRIBE SEGUNDO DATO DE SECUENCIA
;INICIA CICLO DE ESCRITURA
;MALLA PARA ESPERAR AL FINAL DEL CICLO
;SI WR=1, CICLO DE ESCRITURA AUN NO TERMINA
;DESHABILITA ESCRITURA
;HABILITA INTERRUPCIONES
WR
RD
Bit 0

Publicidad

Tabla de contenido
loading

Tabla de contenido