Que tal a todos los foristas
El problema que tengo es el siguiente:
estoy haciendo un sistema de seguridad para mi casa, estoy usando un pic16f877, el sistema se activa y desactiva con un teclado numerico, todo me funciona bien pero al momento de cambiar el password este no se graba en la eeprom, ya lo he intentado de muchas maneras y el resultado es el mismo, lo simule en el Proteus y ahi si me funciona mas sin embargo no tengo idea por que en el hardware no se comporta como debiera, el codigo lo hice en Pic Basic Pro, ya habia usado las instrucciones READ y WHITE con un 16f84 y ahi no tuve ningun problema mas no entiendo por que ahora no me funciona, esta es la parte del codigo que cambia los passwords si alguien me pudiera ayudar se lo agradeceria bastante..
Gracias
nota* se ve que use 5 direcciones de memoria y luego concatene el password , lo estaba haciendo directamente y si funciona, pero solo en el proteus..
'---------------------------------------RUTINA QUE CAMBIA EL PASSWORD---------------------------------------------------
select case pasw
case 1 'si cae aqui es que se pretende cambiar el password, avisa y manda a pedir el nuevo password
high 7 ' avisa que se ha realizado la operacion de cambio de password prendiendo el led
pause 3000 'lo retardamos unos 3 segundos para que el usuario se de cuenta de que se acepto la operacion
'read 1,access 'leer en la eeprom el pasword anterior y almacenarlo en access
if nume=pass then 'comparar nume con access
intruso=0
alarma1=0
nume=0 'la variable que almacena el password se resetea para almacenar el nuevo password
goto back 'si la comparacion es verdadera, se va a la rutina del teclado a esperar el nuevo password
else
problema=1
pause 1000
pasw=0
endif
case 2
pass=nume
n1=pass dig 4
n2=pass dig 3
n3=pass dig 2
n4=pass dig 1
n5=pass dig 0
pass=n1
pass=pass*10+n2
pass=pass*10+n3
pass=pass*10+n4
pass=pass*10+n5
write 1,n1
write 2,n2
write 3,n3
write 4,n4
write 5,n5
nnn=12
write 8,nnn
nume=0
gato=0
pasw=0
intruso=1
pause 5000
alarma1=1
goto reiniciar
case else
problema=1
end select
return
'----------------------------------------------------RUTINA QUE CAMBIA EL PASSWORD-------------------------------------
El problema que tengo es el siguiente:
estoy haciendo un sistema de seguridad para mi casa, estoy usando un pic16f877, el sistema se activa y desactiva con un teclado numerico, todo me funciona bien pero al momento de cambiar el password este no se graba en la eeprom, ya lo he intentado de muchas maneras y el resultado es el mismo, lo simule en el Proteus y ahi si me funciona mas sin embargo no tengo idea por que en el hardware no se comporta como debiera, el codigo lo hice en Pic Basic Pro, ya habia usado las instrucciones READ y WHITE con un 16f84 y ahi no tuve ningun problema mas no entiendo por que ahora no me funciona, esta es la parte del codigo que cambia los passwords si alguien me pudiera ayudar se lo agradeceria bastante..
Gracias
nota* se ve que use 5 direcciones de memoria y luego concatene el password , lo estaba haciendo directamente y si funciona, pero solo en el proteus..
'---------------------------------------RUTINA QUE CAMBIA EL PASSWORD---------------------------------------------------
select case pasw
case 1 'si cae aqui es que se pretende cambiar el password, avisa y manda a pedir el nuevo password
high 7 ' avisa que se ha realizado la operacion de cambio de password prendiendo el led
pause 3000 'lo retardamos unos 3 segundos para que el usuario se de cuenta de que se acepto la operacion
'read 1,access 'leer en la eeprom el pasword anterior y almacenarlo en access
if nume=pass then 'comparar nume con access
intruso=0
alarma1=0
nume=0 'la variable que almacena el password se resetea para almacenar el nuevo password
goto back 'si la comparacion es verdadera, se va a la rutina del teclado a esperar el nuevo password
else
problema=1
pause 1000
pasw=0
endif
case 2
pass=nume
n1=pass dig 4
n2=pass dig 3
n3=pass dig 2
n4=pass dig 1
n5=pass dig 0
pass=n1
pass=pass*10+n2
pass=pass*10+n3
pass=pass*10+n4
pass=pass*10+n5
write 1,n1
write 2,n2
write 3,n3
write 4,n4
write 5,n5
nnn=12
write 8,nnn
nume=0
gato=0
pasw=0
intruso=1
pause 5000
alarma1=1
goto reiniciar
case else
problema=1
end select
return
'----------------------------------------------------RUTINA QUE CAMBIA EL PASSWORD-------------------------------------