Autor Tema: Escritura y lectura de EEPROM en pic16f84a  (Leído 5074 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DanMech21

  • PIC10
  • *
  • Mensajes: 31
Escritura y lectura de EEPROM en pic16f84a
« en: 14 de Mayo de 2009, 00:16:10 »
que tal, haciendo unas practicas en la escuela llegue a una en la que tenia que hacer lo siguiente.
Con 1 solo boton encender y apagar un led hubicado en rb0 ... pero este tiene que recordar en que estado estaba aunque se le quite la energìa, ahora el programa de encender y apagar en 1 solo botton ya lo tengo funcionando y demas, y llegue a la conclusion que para que recuerde en que estado estaba cuando se le quito la energìa tenia que usar la EEPROM escribiendo en ella el valor de un registro con el que identifico el estado del led para prenderlo o apagarlo . El punto es que no  conosco como las rutinas para escribir o leer un dato de la eeprom del 16f84a alguien me podria decir como puedo hacerlo? ya eh leido los ejemplos de la hoja de datos de el 16f84a pero vienen muy confusos a mi parecer.
de antemano muchas gracias... les dejo el programa del On/off del led con 1 solo pushbotton , lo que quiero hacer es escribir el valor del registro "conta" en la eeprom y leerlo al principio del programa para despues de leerlo pasarlo a el registro conta y asi recuerde si estaba prendido o apagado, espero haberme explicado...

Código: [Seleccionar]
LIST P=16F84a
#INCLUDE P16F84A.INC

;ETAPA DE DECLARACION DE REGISTROS
CNT1 EQU 0X0B
CNT2 EQU 0X0C
CNT3 EQU 0X0D
CONTA EQU 0X0E

;ETAPA DE CONFIGURACION

INICIO BSF STATUS,5
MOVLW B'11000'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
BCF STATUS,5

;PROGRAMA PRINCIPAL

MAIN CLRWDT
BTFSC PORTA,4
CALL PRENDER
GOTO MAIN

PRENDER BTFSC CONTA,0
GOTO APAGA
CALL RETARDO
BSF PORTB,0
BSF CONTA,0
GOTO MAIN
APAGA CALL RETARDO
BCF PORTB,0
BCF CONTA,0
GOTO MAIN


RETARDO MOVLW 10
MOVWF CNT1
TRES MOVLW 40
MOVWF CNT2
DOS MOVLW 50
MOVWF CNT3
UNO DECFSZ CNT3,1
GOTO UNO
DECFSZ CNT2,1
GOTO DOS
DECFSZ CNT1,1
GOTO TRES
RETURN

END

De antemano gracias.
« Última modificación: 14 de Mayo de 2009, 00:18:22 por DanMech21 »
Aprendiendo cada dia algo nuevo.

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Escritura y lectura de EEPROM en pic16f84a
« Respuesta #1 en: 14 de Mayo de 2009, 11:00:36 »
Hola.
Lo primero que debes hacer es poner una rutina de lectura al principio del programa, luego de definir los puertos...esta rutina debe leer el registro conta, y de ahí pasarlo al puerto B. Luego debes iniciar la rutina de lectura del pulsador y cuando halla un cambio de estado de dicho pulsador lo grabas en el registro conta, y este a la rutina de escritura en la memoria y vuelves a la rutina de chequeo de estado del pulsador.

En el foro hay ejemplos de como usar la EEprom de este PIC te recomiendo que uses la busqueda.

Suerte con tu práctica

Saludos