no, es decir cuando por teclado pido la clave no me reconoce
aqui en codigo
#USE DELAY(CLOCK=48000000)
#USE STANDARD_IO(A)
#USE STANDARD_IO(B)
#USE STANDARD_IO(C)
#USE STANDARD_IO(D)
#INCLUDE "FLEX_LCD420.C"
#INCLUDE <KBD.C>
//#INCLUDE <STDLIB.H>
//#ZERO_RAM
#ROM 0XF00000={'1','2','3','4'}
INT SECUENCIA=0;
INT ERRORES=0;
INT1 FLAG_CLAVE_OK=0;
VOID MAIN()
{
setup_adc_ports(NO_ANALOGS); //NO ENTRADAS ANALOGAS
setup_adc(ADC_OFF);
SETUP_SPI(FALSE);
SETUP_PSP(PSP_DISABLED);
SETUP_COMPARATOR(NC_NC_NC_NC);
SETUP_VREF(FALSE);
port_b_pullups(TRUE);
CHAR K;
INT I;
CHAR DATA[4], CLAVE[4];
LCD_INIT();
KBD_INIT();
LCD_GOTOXY(3,1);
LCD_PUTC("***BIENVENIDO***");
LCD_GOTOXY(8,2);
LCD_PUTC("PARA");
LCD_GOTOXY(3,3);
LCD_PUTC("INGRESAR PASSWORD");
LCD_GOTOXY(3,4);
LCD_PUTC("MARQUE LA TECLA #");
DO
{
K=KBD_GETC();
}WHILE(K!='#');
WHILE(TRUE)
{
K=KBD_GETC();
SWITCH(SECUENCIA)
{
CASE 0:
I=0;
PRINTF(LCD_PUTC,"\fPULSAR TECLA 1\n");
WHILE(I<=3)
{
K=KBD_GETC();
IF(K!=0)
{
DATA[I]=K;
I++;
LCD_GOTOXY(1,1);
PRINTF(LCD_PUTC,"PULSAR TECLA %u\n",I+1);
LCD_GOTOXY(I,2);
LCD_PUTC("*");
}
}
FOR(I=0;I<=3;I++)
{
CLAVE[I]= READ_EEPROM(I);
}
IF ((DATA[0]==CLAVE[0])&&(DATA[1]==CLAVE[1])&&(DATA[2]==CLAVE[2] && DATA[3]==CLAVE[3]))
{
PRINTF(LCD_PUTC,"\fPUERTA ABIERTA");
LCD_GOTOXY(1,2);
LCD_PUTC("BIENVENIDO");
LCD_GOTOXY(1,3);
LCD_PUTC("A");
LCD_GOTOXY(1,4);
LCD_PUTC("CASA");
OUTPUT_HIGH(PIN_A0);
DELAY_MS(1000);
LCD_PUTC("\f");
SECUENCIA=1; //SIGUIENTE PASO
}
ELSE
{
ERRORES++;
IF(ERRORES==3){
OUTPUT_HIGH(PIN_D0);}
LCD_GOTOXY(1,1);
PRINTF(LCD_PUTC,"\fCLAVE ERRONEA");
LCD_GOTOXY(1,2);
LCD_PUTC("PUERTA CERRADA");
LCD_GOTOXY(1,3);
LCD_PUTC("NUMERO DE FALLOS:");
LCD_GOTOXY(1,4);
PRINTF(LCD_PUTC,"%u",ERRORES);
DELAY_MS(1500);
SECUENCIA=0; // VOLVER AL INICIO
}
BREAK;
CASE 1: LCD_GOTOXY(1,1);
LCD_PUTC("QUE DESEA HACER");
LCD_GOTOXY(1,2);
LCD_PUTC("1-PRENDER LUZ");
LCD_GOTOXY(1,3);
LCD_PUTC("2-APAGAR LUZ");
IF(K=='1')
{
OUTPUT_HIGH(PIN_C0);
}
IF(K=='2')
{
OUTPUT_LOW(PIN_C0);
}
BREAK;
}//FIN DEL SWITCH
}//FIN DEL CICLO INFINITO WHILE
}//FIN DEL MAIN PRINCIPAL