JecarDatha Electronics MICROCONTROLADOR 16F877A | Page 33

case 2: // si item es igual a 2

lcd_gotoxy(1,1);

lcd_putc("NIVEL 2 \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 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=4;i<=7;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[4])&&(data[1]==clave[5])&&(data[2]==clave[6])&&(data[3]==clave[7])) //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 2");

output_high(PIN_C0); //El PIN C0 se pone en ALTO

output_high(PIN_C1); //El PIN C1 se pone en ALTO

delay_ms(1000);

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

output_low(PIN_C1); //El PIN C1 se pone en bajo

}

else

{

30