domingo, 13 de enero de 2019

Librerias para XC8 PIC16F877A (EEPROM parte 1)


El microcontrolador PIC16F877A incluye una memoria EEPROM de 256 bytes que tiene un ciclo de escritura y borrado de 100000 de veces. Esta memoria interna puede utilizarse para guardar valores de configuración o para guardar algún dato que sea necesario mantener  cuando el microcontrolador se quede sin energía. A continuación explicamos las funciones para manejo de la EEPROM de  de nuestra librería para XC8,

Antes de usar la memoria EEPROM de estos microcontroladores se debe tomar en cuenta lo siguiente:
  • Solo permite que se pueda leer y escribir un byte a la vez.
  • Cuando se escribe un byte automáticamente se borra el anterior valor y se escribe el nuevo dato.
  • El tiempo de borrado y escritura puede llegar hasta los 8 ms, esto se debe tomar en cuenta si se usan interrupciones.
Funciones

unsigned char Read_b_eep (unsigned char badd);

Esta función lee un dato desde una posición de la EEPROM, recibe como parámetro la dirección de la cual se quiere leer el dato (máximo 255) y retorna el valor del dato guardado en esa dirección.

void Write_b_epp (unsigned char badd, unsigned char b_data);

Se utiliza para guardar un dato de un byte en la EEPROM, recibe como parámetros la dirección  y el dato que se quiere guardar. Mientras se realiza la escritura la función deshabilita todas las interrupciones y las vuelve a habilitar al terminar la escritura.

Macros

Busy_epp()

Se utiliza para conocer si se esta realizando un proceso de escritura. Devuelve 0 si la EEPROM esta libre.


No hay comentarios:

Publicar un comentario