Académique Documents
Professionnel Documents
Culture Documents
Estos dispositivos tienen 4K palabras de Flash de programa, con un rango de direcciones de 0000h a 0FFFh para la PIC16F873A/874A . La memoria EEPROM permite leer y escribir un solo byte. La memoria de programa Flash permite leer una sola palabra (14y escribir un bloque de cuatro palabras. Las operaciones de escritura automtica en la memoria de programa realizan un borrado-antes de escribir el bloques de cuatro palabras. En la escritura de un byte de datos en la memoria EEPROM, el dispositivo borra automticamente la ubicacin y escribe el dato nuevo (borrar-antes-escritura). El tiempo de escritura es controlada automticamente por un temporizador en el chip. El voltajes de escritura / borrado son generados por una bomba de carga, apto para funcionar en el rango de tensin del dispositivo para las operaciones de un byte o palabra. EEADR y EEADRH: El par de registro EEADRH:EEADR pueden direccionar hasta un mximo de 128 bytes de datos de EEPROM, o hasta un mximo de 8K palabras de FLASH de programa. Cundo se ha seleccionando una direccin de EEPROM de datos, slo se escribe el LSB de la direccin en el registro EEADR. Cuando se selecciona la memoria FLASH, La direccin del programa, el MSByte de la direccin se escribe en el registro EEADRH y el LSByte se escribe en el registro EEADR.
Registro EECON1
BIT 7 - EEPGD: Bit de seleccin de memoria de FLASH de Programa / EEPROM de datos 1 = Acceso a la memoria de programa (FLASH) 0 = Accesos a la memoria de datos (EEPROM). Lee "0" despus de un POR; este bit no se puede cambiar mientras est en curso una operacin de escritura.
BIT 6-4: No implementados, se leen como "0 BIT 3 - WRERR: Bit de bandera de Error EEPROM 1 = Una operacin de escritura se termin prematuramente (cualquier MCLR o cualquier WDT Reset durante el normal funcionamiento) 0 = La operacin de escritura se complet.
BIT 2 - WREN: Permitir la Operacin de Escritura en la EEPROM o FLASH. 1 = Permite ciclos de escritura en la EEPROM o FLASH. 0 = Inhibe escribir en las memorias. BIT 1 - WR: Bit de control de escritura 1 = Inicia un ciclo de escritura. El bit se borra por hardware una vez que la escritura esta realizada. El bit WR Slo se puede establecer a 1 (no puede ser limpiado) por software. 0 = ciclo de escritura a la EEPROM se ha completado. BIT 0 - RD: Bit de control de lectura. 1 = Inicia una lectura de EEPROM, RD se borra por hardware. El bit RD slo se puede establecer a 1 (no puede limpiarse) por software. 0 = No inicia una lectura de EEPROM (o termino la operacin de lectura).
Los pasos para la lectura de la memoria EEPROM de datos son: 1. Se escribe la direccin en la EEADR. Asegrese de que la direccin no es mayor que el tamao de la memoria de el dispositivo. 2. Borrar el bit EEPGD para apuntar a los datos de la memoria EEPROM. 3. Establezca a 1 el bit RD para iniciar la operacin de lectura. 4. Leer los datos del registro EEDATA.
La escritura no se iniciar si la secuencia no es exactamente la correcta (escribir seguido 55h en EECON2, escribir luego AAh en EECON2, a continuacin, establezca a 1 el bit WR) para cada byte. Se recomienda que las interrupciones sean deshabilitadas durante este procedimiento. Adems, el bit WREN en EECON1 se debe establecer a 1 para permitir la escritura. Este mecanismo evita que accidentalmente se escriba en la memoria EEPROM de datos debido a inesperadas ejecuciones de cdigo (es decir, por perdidas de programas). El usuario debe mantener el WREN a cero (0) en todo momento, excepto cuando requiere la actualizacin de EEPROM. El bit WREN no se borrar por el hardware. En la realizacin del ciclo de escritura, el bit WR es limpiado por hardware cuando se completa la escritura, y el bit de Bandera de interrupcin (EEIF) sera colocado a 1. El usuario puede habilitar la interrupcion o bien realizar una encuesta de este bit. El bit bandera EEIF debe ser realizada por software.
BANKSEL EECON1 ; selecciona Banco 3 BTFSC EECON1, WR ; Espera que la escritura este completa GOTO ATRAS BCF STATUS, RP0 ; Selecciona Banco 2 MOVF REGDIR,W ; Carga direccin registro EEPROM en (w) MOWF EEADR ; Escribe direccin EEPROM en EEADR MOVF REGDATA,W ; Carga dato en (W) MOVWF EEDATA ; Escribe dato (W) en EEDATA BANKSEL EECON1 ; Selecciona banco 3 BCF EECON1, EEPGD ; Selecciona la memoria EEPROM BSF EECON1, WREN ; Habilita escritura BCF INTCON, GIE ; Deshabilita interrupciones globales MOVLW 0X55 ; carga clave parte baja en (W) MOVWF EECON2 ; Carga (W) en EECON2 MOVLW 0XAA ; Carga clave parte alta en (W) MOVWF EECON2 ; Guarda (W) en EECON2 BSF EECON1,WR ; Habilita escritura en EEPROM BCF EECON1, WREN ; Deshabilita escritura BCF INTCON, GIE ; Habilita interrupciones
Para proteger de escritura espurias, varios mecanismos son provistos en el dispositivo. En un Power Up, el WREN es limpiado. Tambin el PWT (Power Up Timer, 72 mseg de duracin) previene una escritura en la EEPROM.
El bit WREN previene de una escritura accidental durante un Brown Out producido por un parpadeo de energa o de una mal funcin del software. Operacin con Proteccin de Cdigo Cuando la EEPROM de datos esta protegido por cdigo, el microcontrolador internamente puede leer y escribir la memoria de programa y leer y escribir la EEPROM normalmente.
Sin embargo todos los accesos externos a la EEPROM son deshabilitada. Las escrituras externas a la memoria de programa tambin son deshabilitada.
Cuando la memoria de programa esta protegida por cdigo, el microcontrolador internamente puede leer y escribir la memoria de programa normalmente.