void main(void)
{
// Aca configuracion de los modulos
//Lees la EEPROM donde guardaste tu contraseña y guardas los datos en un Array, te quedaria por ejemplo: passwordEE[4] = {1,2,3,4}
Repetir para los 4 valores:
Lectura EEPROM;
Guardado en array
// Escribo en el LCD lo que deba escribir, y posiciono el LCD en donde deben aparecer los *
Escribir LCD "Ingrese contraseña"
LCD GOTO XY posicion donde pondria los primeros *
while(1)
//Aca haces la multiplexacion del teclado, si la tecla presionada es la misma que la anterior entonces no la tenes en cuenta y devolves un valor ilogico por ejemplo 0xFF
// Tambien si no hay nada presionado devolves un 0xFF, sino devolves el valor de la tecla
tecla = LeerTeclado()
if( tecla != 0xFF)
{
//Entra si es una tecla valida
// Para guardar en ese array voy a usar un indice, le vamos a poner nombre "ind", entonces cuando guardas haces passwordTeclado[ind]
Guardo en otro array
// Aumentamos el indice, para que se vaya guardando en 0, luego en 1, luego en 2 y asi contianumente
ind++
// 2 opciones, la primera es si ya ingresamos 4 teclas. la segunda cuando todavia no lo hicimos (va por la 1era,2da o 3era)
if(ind>3)
{
//Se ingresaron las 4 teclas, debo comparar
Comparo los array passwordEE y passwordTecla (cada elemento de adentro)
if( soniguales )
{
//Son iguales
Escribo en el LCD "Bienvenido"
Espero 1 segundo para que se pueda ver el mensaje
}
else
{
// Son distintos
Escribo en el LCD "Contraseña Incorrecta"
Espero 1 segundo para que se pueda ver el mensaje
}
// Reseteo el indice asi cargo otra contraseña
ind = 0;
// Escribo en el LCD que vuelva a pedir el pass
Escribir LCD "Ingrese contraseña"
LCD GOTO XY posicion donde pondria los primeros *
}
else
{
//Este caso es para el 1ro,2do o 3er entrada de teclado y debo escribir *
// Gracias a nuestros LCD_GOTO_XY de antes, ya esta posicionado correctamente, entonces solo debo escribir el *
Escribir en el LCD "*"
}
}
}