Professional Documents
Culture Documents
Pgina 1
Inicio
Actualidad / Noticias
Foros
Contactar
Acerca de ..
Men Principal
Inicio Actualidad / Noticias Por qu donar? Registrarse Enlaces Web Foros
Siguenos en ...
ltimos Tutoriales
ndice Programacin PIC en C ndice prcticas PIC C Comandar un PIC a travs de la voz Contador de 0 a 10 Bluetooth HC-05 Acceso a datos en tiempo real sin parar MCU Test GLCD (KS0108)
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html
Pgina 2
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html
Pgina 3
Chat
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html
Pgina 4
papel12300 : alguien puede proporcionar algunos ejemplos de como utilizar el desplazamiento de bits utilizando <<
29 jul 13, 05:44
anders:
29 jul 13, 05:41
ayuda
Licencia
Paulo: Excelente pagina, justo encontr lo que de Todo el contenido necesitaba. Sigue adelante.
este sitio est bajo una 12 jul 13, 02:32 licencia de Creative Juan : Ya lo hice, muchas Commons gracias por tu ayuda! SAlu2
10 jul 13, 08:32
Inicio
Juan : DEsde la pagina oficial, pueden subirlo a algun servidor, les agradezco de antemano
10 jul 13, 02:57
Juan : Hola amigos,Ncsito de su ayuda, ya q no puedo bajar el LCD Assitant est daado el archivo
9 jul 13, 13:47
CCS implementa muchas funciones para trabajar con las memorias EEPROM, algunas de ellas son: value = read_eeprom (address): funcin bsica para leer el valor de la EEPROM interna del PIC. Devuelve un valor entero (int8) de un byte. "address" puede ser un entero de 8 16 bit. Dependiendo del PIC que utilicemos dispondremos de mas menos memoria EEPROM, por ejemplo el PIC 16f84A dispone de 64 bytes y los pic16F87X tienen 256 bytes que se direccionan del 0 a 255. write_eeprom (address, value): esta funcin escribe un dato (entero de 8 bit) en la direccin especificada en address en la memoria interna del PIC. Al igual que read_eeprom address puede ser un entero de 8 16 bit. Algunos dispositivos permiten leer y escribir datos en la memoria de programa en tiempo de ejecucin, para los dispositivos que soportan esta funcionalidad CCS, nos proporciona las siguientes funciones: value = read_program_eeprom (address): esta funcin lee un dato de la memoria de programa del PIC y devuelve el valor ledo como un entero de 16 bits. Adrress es un entero de 16 32 bits que depende del dispositivo empleado. write_program_eeprom (address, data): funcin homologa a la anterior pero que nos permite escribir datos en la memoria de programa. data tiene que ser un entero de 16 bits. CCS tambin incorpora funciones para leer y escribir en memorias EEPROM externas: read_external_memory(address, dataptr, count )
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html
Pgina 5
Algunas consideraciones a tener en cuenta sobre las memorias EEPROM es que son rpidas en el proceso de lectura, pero pueden tardar varios ms en realizar un proceso de escritura. Otro factor a tener en cuenta es que se pueden hacer operaciones de lectura sobre el valor de sus registros el numero de veces que se quiera, pero soportan un nmero limitado de ciclos de escritura / borrado. Ese nmero segn Microchip es de aproximadamente un milln, el que quiera que lo compruebe. La memoria EEPROM de datos no est mapeada en la zona de la memoria de datos donde se ubican los registros SFR y GPR, si programramos en Ensamblador deberamos realizar una serie de pasos para su lectura y escritura que aunque no difciles resultan al menos laboriosos, CCS nos permite abstraernos por completo del proceso de lectura y escritura, lo nico que tenemos que saber es las funciones que tenemos que aplicar y los parmetros y valores que devuelven dichas funciones. Como 1 ejemplo del uso de este tipo de memorias vamos a utilizar las funciones bsicas para leer y escribir datos en la memoria interna del PIC: read_eeprom (address) y write_eeprom (address, value). El ejemplo es un contador del tipo "su turno" que solemos encontrar en algunos establecimientos como carniceras y pescaderas. Como funcionalidades mnimas he puesto que sea capaz de contar del 0 al 99. Y por supuesto que si se va la corriente guarde en memoria el ltimo valor. El esquema del circuito ser el siguiente:
Cuando queremos utilizar mas de un display y minimizar el nmero de patillas en el PIC para su control hay varias formas de hacerlo, una de ellas (la que he utilizado en este ejemplo) es utilizar un decodificador BCD a 7 segmentos como el 7447, el datasseht lo tenis aqu. Donde se puede ver el diagrama lgico y su tabla de verdad. Otra forma es multiplexar las lneas de datos, es decir en cada instante solo habr un display activo pero el cambio de uno a otro ser tan rpido que para el ojo humano parecer que los dos estn activos a la vez, este sistema es bueno porque nos ahorramos los decodificadores, pero si utilizamos mas de cuatro display, notaremos un parpadeo molesto. El cdigo del programa ser el siguiente: 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. /*-----------------------------------------------------------*\ | Uso de la memoria EEPROM del PIC | | autor: biblioman | | www.aquihayapuntes.com | \*-----------------------------------------------------------*/ #include <16F877.h> //Configuracin de los fusibles. #FUSES NOWDT, XT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG #use delay(clock=4000000) //Frecuencia de reloj 4MHz #byte puerto_D = 0x08 // Identificador para el puerto C. #int_EXT void EXT_isr( void ) { if ((read_eeprom(0)==0x99)||(read_eeprom(0)==0xFF)) { write_eeprom(0,0); puerto_D=read_eeprom(0);
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html
Pgina 6
http://www.aquihayapuntes.com/indice-practicas-pic-en-c/memoria-eeprom-interna-del-pic.html