lcd_gotoxy(1,1);
lcd_putc("NIVEL 3 \n"); //imprime este mensaje
lcd_putc(" \n"); //imprime este mensaje
if(input(pin_a1)==1) //Si en el Pin A1 hay un cero logico debido a que se pulse el boton enter
{
lcd_putc("\f");
i=0; // i igual a cero
lcd_gotoxy(1,1);
lcd_putc("DIGITE CLAVE"); //Imprime este mensaje
while(i<=3) //siempre que i sea menor o igual a 3
{
k=kbd_getc(); //Se obtiene el valor de la tecla pulsada
if (k!=0) //Si ka es diferente de nulo
{
data[i]=k; //Guarda e-l valor de la tecla pulsada en un
//Espacio de memoria
i++; //Incrementa i
lcd_gotoxy(i,2);
lcd_putc('*'); //se imprime * en representacion de un caracter
}
}
for (i=8;i<=11;i++) //Ciclo para guardar la clave en moria en una nueva variable
{
clave[i]=read_eeprom(i);//Lee la clave guardada en memoria y la guarda en una nueva variable
//Para luego comprobarla con la clave ingresada por el usuario
}
if ((data[0]==clave[8])&&(data[1]==clave[9])&&(data[2]==clave[10])&&(data[3]==clave[11])) //comparacion de la clave ingresada //Con la clave guardada en memoria
{
printf(lcd_putc,"\fCLAVE CORRECTA"); //Si las claves son iguales se imprime este mensaje
output_high(PIN_C0); //El PIN C0 se pone en ALTO
output_high(PIN_C1); //El PIN C1 se pone en ALTO
output_high(PIN_C2); //El PIN C2 se pone en ALTO
delay_ms(2000); // Espera 2 segundo
output_low(PIN_C0); //El PIN C0 se pone en BAJO
output_low(PIN_C1); //El PIN C1 se pone en BAJO
output_low(PIN_C2); //El PIN C2 se pone en BAJO
}
else
{
printf(lcd_putc,"\fCLAVE INCORRECTA"); //Si las claves no son iguales se imprime este mensaje
output_high(PIN_C3); //El PIN C3 se pone en ALTO
delay_ms(2000); // Espera 2 segundo
output_low(PIN_C3); //El PIN C3 se pone en BAJO
}
31