TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: chofas2009 en 05 de Julio de 2007, 22:11:27
-
Hola! Alguien sabe como escribir en la eeprom del pic 16f876a usando el lenguaje de ensamblador, espero respuestas,bye.
-
ahh, En la hoja de datos del PIC puedes encontrar el codigo ejemplo de la EEPROM, espero resultados, bye
-
http://www.todopic.com.ar/foros/index.php?topic=17209.0
http://www.todopic.com.ar/foros/index.php?topic=16617.0
PD: te recomiendo que uses el buscador del foro , hay bastante informacion sobre la grabacion en la memoria " EEPROM " .
-
offtopic:
cuando no kedutpic pasando la plancha :mrgreen:
-
PD: te recomiendo que uses el buscador del foro , hay bastante informacion sobre la grabacion en la memoria " EEPROM " .
Me parece muy bien que se haga incapié en usar el buscador
Saludos :-/ :-/
-
Ok gracias por sus comentarios, los pondre a prueba pero ya trate lo de las datasheets. de hecho por ahi empece pero no queda
-
Hola. Como dicen los compañeros, esta en el sheet, pero a veces no encontramos las cosas (me pasa seguido :D)
Ejemplo de lectura:
bsf status,rp0
movlw d'2' ;posicion que queres leer
movwf EEADR
bsf EECON1,RD ;inicias la lectura.
movf EEDATA,w ;cargas lo leido en W
bcf status,rp0
Ejemplo de escritura:
Para poder escribir en la EEPROM tenes que ingresar unos "codigos" en un registro especial
bsf STATUS,RP0
movlw d'2' ;posicion donde queresmos escribir
movwf EEADR
movlw 'x' ;dato que queremos escribir
movwf EEDATA
bsf EECON1,WREN ;habilita la escritura
bcf INTCON,GIE ;se desabilitan las interrupciones, ya que si se interrumpe la escritura se produce un error
movlw 0x55 ;aca se viene lo de los "codigos"
movwf EECON2
movlw 0xAA
movwf EECON2
bsf EECON1,WR ;inicia la escritura
btfsc EECON1,WR ;esperamos a que termine de escribir
goto $-1
bsf INTCON,GIE
bcf STATUS,RP0
...
Bueno esto es todo, espero haber ayudado. Saludos!
-
Aplicación en un contador de 6 dígitos.
Para almacenar 6 datos en la EEPROM, supongo que debo hacer el proceso anterior para cada byte, por ejemplo: Unidad, Decena, Centena, UMillar, DMillar y CMillar, pero lo he realizado y solo conserva el digito de Unidad o no enciende ningún display.
Otra pregunta es, ¿cómo hago para que la primera vez que coloco el PIC en mi circuito comience desde 000000 y despues de apagarlo, al volverlo a energizar comience ya desde el dato almacenado?
Esto es para un contador de 6 digitos que estoy experimentando basado en lo que he aprendido en este foro.
Saludos.