Home
Project Mate
Projects
BOOKS
8051 books
PIC Books
ARM Books
AVR BOOKS
C books
C Notes
Tutorials
8051
>
LED with 8051
Switch with 8051
7 Segment with 8051
LCD with 8051
Keypad with 8051
I2C interfacing using8051
8051 sequrity door lock
PIC
>
LED with PIC
Switch with PIC
7 Segment with PIC
LCD with PIC
Keypad with PIC
Relay with PIC
stepper motor with PIC
External ADC with PIC
External EEPROM with PIC
External RTC with PIC
ARM
>
LED with LPC2148
Switch with lpc2148
7 Segment with LPC2148
LCD with LPC2148
Keypad with LPC2148
Relay Buzzer with LPC2148
stepper motor with LPC2148
External ADC with LPC2148
External EEPROM with LPC2148
External RTC with LPC2148
AVR
>
LED with ATmega32
Switch with ATMEGA32
7 Segment with ATMEGA32
LCD with ATMEGA32
Keypad with ATMEGA32
Relay Buzzer with ATMEGA32
stepper motor with ATMEGA32
Internal ADC with ATMEGA32
External EEPROM with ATMEGA32
External RTC with ATMEGA32
linux
Contact
About
Home
Project Mate
Projects
BOOKS
8051 books
PIC Books
ARM Books
AVR BOOKS
C books
C Notes
Tutorials
8051
>
LED with 8051
Switch with 8051
7 Segment with 8051
LCD with 8051
Keypad with 8051
I2C interfacing using8051
8051 sequrity door lock
PIC
>
LED with PIC
Switch with PIC
7 Segment with PIC
LCD with PIC
Keypad with PIC
Relay with PIC
stepper motor with PIC
External ADC with PIC
External EEPROM with PIC
External RTC with PIC
ARM
>
LED with LPC2148
Switch with lpc2148
7 Segment with LPC2148
LCD with LPC2148
Keypad with LPC2148
Relay Buzzer with LPC2148
stepper motor with LPC2148
External ADC with LPC2148
External EEPROM with LPC2148
External RTC with LPC2148
AVR
>
LED with ATmega32
Switch with ATMEGA32
7 Segment with ATMEGA32
LCD with ATMEGA32
Keypad with ATMEGA32
Relay Buzzer with ATMEGA32
stepper motor with ATMEGA32
Internal ADC with ATMEGA32
External EEPROM with ATMEGA32
External RTC with ATMEGA32
linux
Contact
About
code for 8051 sequrity door lock
/****************************************main.c file for the project*******************************/
#include<reg51.h>
#include<string.h>
#include"lcd4.h"
sbit c1= P1^0;
sbit c2= P1^1;
sbit c3= P1^2;
static unsigned char x[5];
sbit r1= P1^4;
sbit r2= P1^5;
sbit r3= P1^6;
sbit r4= P1^7;
sbit m1= P3^3;
sbit m2= P3^4;
sbit m3= P3^5;
sbit m4= P3^6;
char status();
char check();
void main()
{
int i;
char a;
char p[]="12345";
m1=m2=m3=m4=0;
init();
start:
cmd(0x01);
cmd(0x80);
lcd("ENTER DOOR CODE");
m1=m2=0;
m4=m3=1;
cmd(0xc0);
for(i=0;i<5;i++)
{
a=status();
dat(a);
x[i]=a;
}
if(strcmp(x,p))
{
cmd(0x01);
cmd(0x80);
lcd("Invalid user");
}
else
{
cmd(0x01);
cmd(0x80);
lcd("welcome user ");
m1=m4=1;
m2=m3=0;
delay(500);
goto start;
}
}
//-----------------------------------------------------------------
char check()
{
c1=c2=c3=r1=r2=r3=r4=1;
r1=0;//row one 1 2 3-----------
if(c1==0)
{
delay(1);
while(c1==0);
return '1';
}
r1=0;
if(c2==0)
{
delay(1);
while(c2==0);
return '2';
}
r1=0;
if(c3==0)
{
delay(1);
while(c3==0);
return '3';
}
//-------------------------------------------------------
r1=1;
r2=0; // row2, 4 5 6
if(c1==0)
{
delay(1);
while(c1==0);
return '4';
}
r1=1;
r2=0;
if(c2==0)
{
delay(1);
while(c2==0);
return '5';
}
r1=1;
r2=0;
if(c3==0)
{
delay(1);
while(c3==0);
return '6';
}
//---------------------------------------------------------
r2=1;
r3=0; // row3 ,7 8 9
if(c1==0)
{
delay(1);
while(c1==0);
return '7';
}
r2=1;
r3=0;
if(c2==0)
{
delay(1);
while(c2==0);
return '8';
}
r2=1;
r3=0;
if(c3==0)
{
delay(1);
while(c3==0);
return '9';
}
//---------------------------------------------------
r3=1;
r4=0; // row4 ,* 0 #
if(c1==0)
{
delay(1);
while(c1==0);
return '*';
}
if(c2==0)
{
delay(1);
while(c2==0);
return '0';
}
if(c3==0)
{
delay(1);
while(c3==0);
return '#';
}
r1=r2=r3=r4=1;
return 'n';
}
//-------------------------------------------------------------
char status()
{
char s='n';
while(s=='n')
s=check();
return s;
}
/***************************lcd.h file******************************/
#include<reg51.h>
#define lcd_pin P2
sbit rs=P3^0;
sbit rw=P3^1;
sbit en=P3^2;
void dat(unsigned char x);
void cmd(unsigned char x);
void init();
void delay(unsigned int x);
void lcd_2digit(unsigned int x);
void lcd(unsigned char *p);
void dat(unsigned char x)
{
lcd_pin=x;
rs=1;
rw=0;
en=1;
delay(5);
en=0;
lcd_pin=x<<4;
en=1;
delay(5);
en=0;
}
void cmd(unsigned char x)
{
lcd_pin=x;
rs=0;
rw=0;
en=1;
delay(5);
en=0;
lcd_pin=x<<4;
en=1;
delay(5);
en=0;
}
void init()
{
cmd(0x38);
cmd(0x01);
cmd(0x02);
cmd(0x28);
cmd(0x06);
cmd(0x0e);
cmd(0x80);
}
void delay(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
{
for(j=0;j<=1200;j++);
}
}
void lcd_2digit(unsigned int x)
{
unsigned int i,j,k,l;
i=x/100;
j=x%100;
k=j/10;
l=j%10;
dat(i+48);
dat(k+48);
dat(l+48);
}
void lcd(unsigned char *p)
{
while(*p!='\0')
{
dat(*p);
p++;
}
}