#include <REG51F.H>
#include<lcd1.h>
sbit sl1=P1^0;
sbit sl2=P1^1;
sbit sl3=P1^2;
sbit sl4=P1^3;
sbit krl1=P1^4;
sbit krl2=P1^5;
sbit krl3=P1^6;
sbit krl4=P1^7;
unsigned char scan,keyvalue,z;
unsigned char password[3];
unsigned char password1[]={'0','1','2','3'};
int count11;
int cc=4;
int aa,bb;
void keyscan();
void keypad();
void main()
{
lcdint();
string("password :");
count11=0;
while(cc)
{
if(count11<4)
{
keyscan();
if(keyvalue==0)
{
}
else
{ lcd_data(keyvalue);
password[count11]=keyvalue;
delay(200);
count11++;
cc--;
}
}
}
for(aa=0;aa<4;aa++)
{
if (password[aa]!=password1[aa])
{
bb=1;
}
}
if (bb==0)
{
lcdcomm(0xc0);
string("access granted");
}
else
{
lcdcomm(0xc0);
string("wrong password");
}
delay(1000);
}
void keyscan()
{
scan=keyvalue=0;
sl2=sl3=sl4=1;
sl1=0;
keypad();
sl1=sl3=sl4=1;
sl2=0;
keypad();
sl1=sl2=sl4=1;
sl3=0;
keypad();
sl1=sl2=sl3=1;
sl4=0;
keypad();
}
void keypad()
{
if(krl1==0)
{
if(scan<=9)
{
keyvalue=scan+0x30;
}
else
{
keyvalue=scan+0x37;
}
}
scan++;
if(krl2==0)
{
if(scan<=9)
{
keyvalue=scan+0x30;
}
else
{
keyvalue=scan+0x37;
}
}
scan++;
if(krl3==0)
{
if(scan<=9)
{
keyvalue=scan+0x30;
}
else
{
keyvalue=scan+0x37;
}
}
scan++;
if(krl4==0)
{
if(scan<=9)
{
keyvalue=scan+0x30;
}
else
{
keyvalue=scan+0x37;
}
}
scan++;
}