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 el 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=0;i<=3;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[0])&&(data[1]==clave[1])&&(data[2]==clave[2])&&(data[3]==clave[3])) //comparacion de la clave ingresada
//Con la clave guardada en memoria
{
lcd_gotoxy(1,1);
printf(lcd_putc,"BIENVENIDO \n");
printf(lcd_putc,"AL NIVEL 1");
output_high(PIN_C0); //El PIN C0 se pone en ALTO
delay_ms(1500);
lcd_gotoxy(1,1);
printf(lcd_putc,"\fPUEDE INGRESAR");
delay_ms(3000); // Espera 2 segundo
printf(lcd_putc,"\fCERRANDO PUERTA");
delay_ms(2000); // Espera 2 segundo
output_low(PIN_C0); //El PIN C0 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
}
item=0; //item se iguala a cero con el fin de que se devuelva al primer caso de item
}
break;
////////////////////////////////NIVEL DOS///////////////////////////////////////////////////////////////////////////////////
29