Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Problema con la memoria eeprom de pic16f876


       



#1  Problema con la memoria eeprom de pic16f876
marcelo26
Registrado: 12 May 2008
Mensajes: 40
citar
problema con la memoria eeprom de pic16f876

El problema es que cuando intento grabar los datos en la eeprom no lo hace con un 16f84 si puedo, pero con el 16f876 no. Les dejo la rutina que utilizo y si pueden pasarme un ejemplo lo agradecería y la rutina la simulo con el proteus.

Código: Seleccionar todo

EDITNDO   BSF    STATUS,RP1 ;     Salto desde el programa para editar
   
   MOVF   conta,W      ;dato a guardar
   MOVWF   0X19      
   MOVF   0x18,W      ;Dirección de eeprom '0 a 3'
   MOVWF   EEADR      ;cargo dirección
   MOVF   0X19,W      ;Didito del teclado
   MOVWF   EEDATA      ;Cargo digito
   BSF    STATUS,RP0
   BcF    EECON1,EEPGD
   BSF   EECON1,WREN
   MOVLW   0x55
   MOVWF   EECON2
   MOVLW   0xAA
   MOVWF   EECON2
   BSF   EECON1,WR
ESPERO   BTFSC   EECON1,WR   ;espero que grabe
   GOTO   ESPERO      ;
   BCF    EECON1,WREN
   BCF   EECON1,EEIF
   BCF   STATUS,RP0

   BCF   STATUS,RP1
   
;ESTA PARTE ES PARA INCREMENTAR LA DIRECCIN DE LA EEPROM
   BSF   PORTC,7
   INCF   0x18,F      ;incremento dirección de eeprom
   MOVF   0X018,W      ;direccion de eeprom 0 a 3
   XORLW   0X04      ;comparo direción con 4
   BTFSS   STATUS,2   ;si es 4 Z es 1 y salt
   BSF   PORTC,3
   GOTO   DIGEE      ;sino sigo editando
   BCF   TETEE,0
   GOTO   RESET      ;fin de edicion de eeprom



GRACIAS!

#2  
ERCH07
Ubicación: Monterrey Mexico
Registrado: 24 Jul 2008
Mensajes: 6
citar
Creo que te falta seleccionar bien la pagina de los registros EEADR y EEDATA se encuentran en la pagina 2 de los registros de función especial y EECON1,EECON2 en la pagina 3, en el 16F876 es diferente que el 16F84. Dale un vistazo a la hoja de datos de Microchip donde encontraras ejemplos de como leer y escribir en la EEPROM.

#3  
Moyano Jonathan
Ubicación: Mendoza, argentina
Registrado: 21 Abr 2008
Mensajes: 518
citar
Very Happy Mirá si te sirve acá te dejo un ejemplo de lectura/escritura con memoria EEPROM del pic 16f876 en lenguaje c, lo probe en proteus y funciona
Archivos Adjuntos

Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#4  Problema con la ram y eeprom del pic 16f876
JJ-ROTOR
Registrado: 29 Oct 2008
Mensajes: 3
citar
Moyano Jonathan escribió: Very Happy Mirá si te sirve acá te dejo un ejemplo de lectura/escritura con memoria EEPROM del pic 16f876 en lenguaje c, lo probe en proteus y funciona


hola amigo, no se muy bien el funcionamiento del foro y es por eso que te pongo aqui el problema por si me puedes ayudar

Hola Amigos tengo lo que para mi es un gran problema y espero que no tanto para vosotros
siempre he programado sobre el pic 16f84 y ahora necesito el 16f876 pero por mas que miro en los libros no se descifrar cuales son las direcciones de la ram y de la eeprom donde puedo escribir
os ruego si me podeis ayudar que me mandeis estos datos

miles de gracias

#5  
Meta
Ubicación: 16F84A
Registrado: 20 Ene 2008
Mensajes: 1190
citar
Moyano Jonathan escribió: Very Happy Mirá si te sirve acá te dejo un ejemplo de lectura/escritura con memoria EEPROM del pic 16f876 en lenguaje c, lo probe en proteus y funciona


Si es posible, entrégalo con el hex.

#6  
Alejandro Sherar
Ubicación: Va. Martelli, Bs. As., Argentina
Registrado: 07 Abr 2008
Mensajes: 709
citar
Trabajando con Assembler, para no errarle el banco de la RAM donde está el registro es muy útil la macro banksel. Evita tener que andar seteando los bits RP0 y RP1.
Se debe invocar inmediatamente antes de usar un registro, no importa si es del usuario o del sistema.

Ejemplo:
Código: Seleccionar todo

banksel  trisa
movfw    trisa
banksel  porta
clrf   porta

#7  Problema con la ram y eeprom del pic 16f876
JJ-ROTOR
Registrado: 29 Oct 2008
Mensajes: 3
citar
Hola de Nuevo,
no se si era para mi el mensaje anterior pero sio fuese asi aparte de agradecido, dire que no lo entiendo en los manuales, tengo muchos manuales pero no lo pone bien o al menos de forma que yo lo entienda

necesito saber la direccion de todos los registros de ram ejemplo 0x0c y de eeprom ya no se ninguno

me gustaria saber esto porque me hace muchisima falta, necesito escribir en al menos en 40 registros de la eeprom y en otros tantos de la ram

gracias de nuevo

#8  Re: Problema con la ram y eeprom del pic 16f876
Alejandro Sherar
Ubicación: Va. Martelli, Bs. As., Argentina
Registrado: 07 Abr 2008
Mensajes: 709
citar
JJ-ROTOR escribió: Hola de Nuevo,
no se si era para mi el mensaje anterior pero sio fuese asi aparte de agradecido, dire que no lo entiendo en los manuales, tengo muchos manuales pero no lo pone bien o al menos de forma que yo lo entienda

necesito saber la direccion de todos los registros de ram ejemplo 0x0c y de eeprom ya no se ninguno

me gustaria saber esto porque me hace muchisima falta, necesito escribir en al menos en 40 registros de la eeprom y en otros tantos de la ram

gracias de nuevo


Disculpa pero recién veo este mensaje.
Las dimensiones de memoria las encontrás en las hojas de datos que se pueden bajar del sitio de microchip.
Tanto el Pic 16F876 como su versión A (876A) tienen:
368 registros de 8 bits en memoria Flash para datos de usuario,
256 registros de 8 bits en memoria EEPROM.

La EEPROM tiene las direcciones numeradas desde la 00 hasta FF.
Para la memoria de datos tenés un mapa de direcciones en:
la página 13 de la hoja de datos del PIC16F876,
y la página 17 de la hoja de datos del PIC16F876A.

#9  
Moyano Jonathan
Ubicación: Mendoza, argentina
Registrado: 21 Abr 2008
Mensajes: 518
citar
vos el problema lo tenes que solucionar si o si en asm o en c tamabien lo podes? ya que el ejemplo que te deje graba perfectamente la eeprom interna. En asm es mas complicado el tema pero estuve viendo tu codigo y tendría que funcionar

 Responder



 Otros temas de interés 
No hay mensajes nuevos Adquisicion de datos a traves de serial o puerto paralelo
No hay mensajes nuevos Adquisicion de datos con JK3 (motorola)
No hay mensajes nuevos Adquisición de datos por Tarjeta de audio
No hay mensajes nuevos Anchos de banda (Transmisión de datos VoIP videoconferencia)
No hay mensajes nuevos Datos de Norma PAL N (Television)

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||
Contacto | Acerca de | Ayuda | Normas de la Comunidad | Privacidad | Mapa de los foros
© Foros de Electrónica - Comunidad Internacional de Electrónicos