Autor Tema: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?  (Leído 4507 veces)

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

Desconectado romarco

  • PIC10
  • *
  • Mensajes: 19
Muchos saludos...

Tengo un par de días que recomencé a estudiar el funcionamiento y la programación de microcontroladores. Ya he pasado por la construcción de mi propio programador, la programación de mi primer "hola mundo" (encender un led) y ya hoy he terminado un proyectico algo más complicado fijándome de algunos manuales que he visto tanto en Google como aquí en el foro, y se trata de un dimmer utilizando un pic16f84a. Me funciona perfecto y he conseguido entender muy bien el código, pero tengo una duda.

Se que lo más correcto es buscar en el foro mediante el buscador, pero es que no se cómo se le llamaría a esto porque soy muy novato... Pues bien, tengo ya el dimmer funcionando, pero cuando le quito la corriente y se apaga todo, ¿cómo hago para que la bombilla quede con la misma intensidad que como la dejé? En otras palabras, tengo un dato en uno de los registros, y quiero que al encender de nuevo el circuito, el PIC regrese tal y como estaba antes de desconectarlo... Es igual que si tengo una pantalla 7 segmentos con algún número y apago el PIC, ¿cómo coloco el mismo número que estaba al conectar todo de nuevo?

No se si fui claro, pero por favor, si alguien es tan amable que me pueda dar alguna teoría sobre esto... Gracias..

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #1 en: 25 de Abril de 2013, 17:58:07 »
Hola amigo, para retener los datos luego de apagar el Micro debes almacenar las variables que requieras en la memoria EEPROM.

Saludos.

Desconectado romarco

  • PIC10
  • *
  • Mensajes: 19
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #2 en: 25 de Abril de 2013, 18:12:45 »
Gracias por responder. A ver si entendí... Si tengo un micro con dos pulsadores, por ejemplo, y una pantalla de 7 segmentos que me muestre los números del 0 al 9, ¿cada vez que de una pulsación debo cambiar de banco, guardar el dato, volver al banco de trabajo y mostrar el mismo dato que guardé, ahora en la pantalla de 7 segmentos?

Perdona mi torpeza, es que así tengo una idea más clara antes de ponerme a buscar en Google. Programo en asm

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #3 en: 25 de Abril de 2013, 18:49:09 »
Si, esa puede ser una opción cada que el dato cambie podrías guardar el dato en la eeprom, me imagino que el dato no va cambiar en más de 1 millón de veces que es lo que según el datasheet permite grabar en esta memoria.

Desconectado romarco

  • PIC10
  • *
  • Mensajes: 19
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #4 en: 26 de Abril de 2013, 00:41:02 »
Bueno, es un dimmer... Pero cuando dices "esa es una opción", ¿quieres decir que hay otra opción más?

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #5 en: 26 de Abril de 2013, 02:41:55 »
a lo que se refiere Diego es que la eeprom solo permite grabarse un millón de veces, entonces a opción es que cada que cambies el dato se guarde automáticamente, aunque esto podría reducir el tiempo de vida de tu circuito si se cambia muy continuamente el valor

otra opción seria que le pusieras un botón de guardar así por ejemplo,si vas a pasar del 1 al 20 en lugar de guardar 20 veces el dato, solo lo guardas cuando llegues al 20 que es tu valor deseado
"Nada es imposible, no si puedes imaginarlo"

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #6 en: 26 de Abril de 2013, 08:22:54 »
Yo pondria un sistema de sensado de apagado (ya es un tema que se ha tratado varias veces), y cuando esto ocurra, tomo el dato a guardar, leo la posicion de eeprom donde debiera guardarlo y si es distinto al dato dentro de la eeprom, lo guardo, asi lo puedo recuperar cuando enciendo nuevamente, pero a la vez cuido la eeprom.
Si en vez de guardar cada vez que cambias, tu dato se guarda solo ante corte de la energia, la memoria eeprom alcanza su maxima durabilidad. :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado romarco

  • PIC10
  • *
  • Mensajes: 19
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #7 en: 26 de Abril de 2013, 15:43:00 »
Excelente idea que me han dado. Lo que haré es poner un temporizador que comenzará a funcionar inmediatamente el botón deje de ser presionado (el temporizador se reiniciará si presionan de nuevo el botón antes de que se acabe el tiempo). Cuando acabe el tiempo entonces mando a que guarde el dato en la eeprom siempre y cuando sea distinto al que ya está almacenado.

Lo de guardar cada vez que haya un corte también es una opción, pero supongo que hay que utilizar algún tipo de batería. Como el dato cambiará poco, creo que el micro puede durar algunos años. Si veo que no me resulta, optaré por el sistema de sendado de apagado..

Muchas gracias por su ayuda, tengan buenas tardes...
« Última modificación: 26 de Abril de 2013, 15:46:59 por romarco »

Desconectado neo

  • PIC10
  • *
  • Mensajes: 34
Re: Al desconectar el PIC y encenderlo de nuevo, ¿cómo vuelvo a recuperar todo?
« Respuesta #8 en: 27 de Abril de 2013, 10:11:23 »
Y como se hace para guardar el dato en la eeprom?