Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cuando se interconecta con la memoria de datos EEPROM, EEDATA contiene los datos de 8-bits para lectura / escritura y EEADR mantiene la direccin del lugar EEPROM que se accede. Los dispositivos PIC16F873/A poseen 128 registros (00h a 7Fh) de 8 bits y 256 registros los PIC16F876A/877A. Cuando se realiza una conexin con la memoria de programa (FLASH), los registros EEDATA y EEDATH forman una palabra de dos bytes que contiene los datos de 14-bit de lectura/escritura y el EEADR y los registros EEADRH contienen la direccin 13-bits (ocupa dos bytes) de ubicacin de la memoria del programa que se accede. Los dispositivos PIC16F873A/874A poseen 4K palabras de Flash de programa, con un rango de direcciones de 0000h a 0FFFh. (16F876A/877A hasta 8 K palabras).
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 habilitar 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 (u orden) 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 (u orden) 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).
Operaciones en la memoria EEPROM (16F873A) Esta memoria permite leer y escribir solo palabras de 8 bits (128 registros de 1 Byte). 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: El registro EEADR pueden direccionar hasta un mximo de 128 bytes de datos de EEPROM. 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.
El usuario asigno el registro REGDIR para que contenga la direccin del reg. EEPROM a leer
128 Registros
7Fh
8Bit
10. En la realizacin del ciclo de escritura, el bit WR se borra y el bit EEIF de interrupcin se establece a 1.(EEIF deben ser borrado por el firmware.)
1. Compruebe el bit RD para ver si no hay una lectura en curso. 2. Escriba la direccin a la EEADR (parte baja) y en EEADRH (parte alta). Asegrese de que la direccin no es mayor que el tamao de la memoria del dispositivo (128 registros 00h a 7Fh). 3. Colocara a 1 el bit EEPGD para apuntar a la memoria FLASH de programa. 4. Establecer a uno el bit RD para ordenar la operacin de lectura. 5. Colocar dos instrucciones NOP a continuacin para permitir la operacin.
6. El valor del dato de 14-bit que se encuentra en esa direccin de FLASH se escribir
en el registro EEDATA (parte baja) y EEDATAH (parte alta).
Ejemplo de programa Lectura de datos en Memoria FLASH BANKSEL EEADR MOVF MOWF MOVF MOWF BSF BSF NOP NOP BANKSEL EEDATA MOVF MOVWF MOVF MOVWF EEDATA,W REGDATAL EEDATAH,W REGDATAH REGDIRL,W EEADR REGDIRH,W EEADRH ; selecciona Banco 2 ; Carga direccin baja del registro FLASH en (W) ; Escribe direccin EEPROM en EEADR ; Carga direccin alta del registro Flash en (W) ; Escribe direccin alta FLASH en EEADRH ; selecciona Banco 3 ; Selecciona lectura de datos en FLASH ; Lectura de datos ; Lectura de datos ; selecciona Banco 2 ; Lee dato bajo en (W) ; Escribe dato en registro de usuario ; Lee dato alto en (W) ; Escribe dato en registro de usuario
Los registros REGDIRL, REGDIRH, REGDATA, REGDATAH son definido por el usuario para llevar un puntero de direcciones y datos de lectura de la memoria FLASH
Los datos estn disponibles en el ciclo siguiente, en el EEDATA y registros EEDATH. Proteccin contra escrituras expureas Hay condiciones en al cual el dispositivo no debe escribir en la memoria de datos EEPROM o en la memoria de programa FLASH. 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.