Duda para escribir datos no volatiles en pic 16f877A

Buenas tengo un pequeño problema, estoy haciendo un programa para el pic 16f877A, un temporizador con lcd 16x2, lo tengo listo pero quiero introducirle varios idiomas, y no quiero que pregunte por el idioma cada vez que se inicia el programa del pic, solo cuando haya entrado en modo setup y que retenga ese dato aun habiendo cortado el suministro energetico del pic, es posible que guarde un dato introducido por el usuario y que no se borre excepto si el usuario decide cambiar ese dato?
por ejemplo
Español 1
Ingles 2
Frances 3
Por defecto coge Ingles pero si el usuario decide cambiarlo a Español, entonces automaticamente se inicia en Español siempre, eso lo podria hacer guardando un dato en la eeprom, pero yo quiero que retenga ese dato en algun sitio y que se pueda modificar sin perderlo aun cortando el suministro energetico.
Es posible hacerlo o tengo que guardar solo en la eeprom sin posibilidad de modificar ese dato?
 
Última edición:
Buenas tengo un pequeño problema, estoy haciendo un programa para el pic 16f877A, un temporizador con lcd 16x2, lo tengo listo pero quiero introducirle varios idiomas, y no quiero que pregunte por el idioma cada vez que se inicia el programa del pic, solo cuando haya entrado en modo setup y que retenga ese dato aun habiendo cortado el suministro energetico del pic, es posible que guarde un dato introducido por el usuario y que no se borre excepto si el usuario decide cambiar ese dato?
por ejemplo
Español 1
Ingles 2
Frances 3
Por defecto coge Ingles pero si el usuario decide cambiarlo a Español, entonces automaticamente se inicia en Español siempre, eso lo podria hacer guardando un dato en la eeprom, pero yo quiero que retenga ese dato en algun sitio y que se pueda modificar sin perderlo aun cortando el suministro energetico.
Es posible hacerlo o tengo que guardar solo en la eeprom sin posibilidad de modificar ese dato?

Hola me parece que te enredaste un poco. Grabas después del setup en una poscición fija(EJ:0)de la EEPROM el valor del lenguaje a utilizar(1,2o3).En el comienzo de tu programa lees dicha direccion y de acuerdo a el valor asignas el lenguaje. Si es FF como esta por defecto de fabrica le asiganas por ejemplo el lenguaje 1 y listo si tiene algun otro valor lo dejas como este hasta ser modificado por el usuario en el setup.
Saludos.

Ric.
 
Buenas ricbevi, si, eso lo comprendo, hasta ahi lo tengo todo claro,
Por defecto seria 0 en la posicion 00, esto hace que el programa lea la posicion 00 de la eeprom y sabe que segun ese valor ha de saltar a la rutina asignada al valor 0, hasta aqui lo tengo claro, pero si el usuario decide cambiar idioma de nuevo y lo hace varias veces el cambio de idioma podria modificar el valor de esa posicion de memoria varias veces sin problemas? puedo decirle al programa que escriba en la posicion 00 el valor que eligio el usuario sin problemas mas de una vez? o deberia usar otra posicion de memoria ya que al ser una posicion de la eeprom se supone que no se puede modificar ese dato una vez escrito no?
 
Última edición:
La EEPROM se puede grabar varias veces.. pero tiene un limite de escrituras, que va desde los 10 mil hasta 1 millon segun el fabricante y la tecnologia usada... asi que por eso no tienes problema..
 
La EEPROM se puede grabar varias veces.. pero tiene un limite de escrituras, que va desde los 10 mil hasta 1 millon segun el fabricante y la tecnologia usada... asi que por eso no tienes problema..

Comprendo osea que el user se cansara antes del temporizador que acabarse los intentos de elegir idioma grabados en la eeprom por el setup del programa.
Gracias y saludos.
 
Atrás
Arriba