You are on page 1of 16

PROJECT SOFTWARE CODE

/**************************************************************************
**************
Project Title

Library Management System Using RFID

Project File

Project12

Source File

librarymgmtsystem.c

Target IC

AT89S52

Description

Here in this project, we are optimizing library system by


Using RFID as base technology.

***************************************************************************
*************/
#include<reg51.h>
#include<string.h>
//temp=0X12;
void command(unsigned char);
void message(unsigned char);
void Display(unsigned char[ ]);
void delay(unsigned int);
void delay1(unsigned int);
void lcd_init( );
void mess_lcd(unsigned char,unsigned char[ ]);
void clrlcd( );
void serialinit(void);
void serialstore( );
//unsigned char compare(unsigned char[ ],unsigned char[ ]);
void cont_compare(void);
void cont_compare_R(void);
sfr ldata = 0X90;
62

sbit rs = P3^5;
sbit rw = P3^6;
sbit en = P3^7;
sbit sw1 =

P2^0;

sbit sw2 = P2^1;


unsigned char sa1=0,sa2=0,sa3=0,sa4=0,

sb1=0,sb2=0,sb3=0,sb4=0;

unsigned char status1=0,status2=0;


unsigned char id[13],t,h,m;
code unsigned char a[ ]={"380035083F3A"};
code unsigned char b[ ]={"380034028E80"};
code unsigned char c[ ]={"3600AB17AC26"};
code unsigned char d[ ]={"360067633D0F"};
code unsigned char e[ ]={"36006c424E56"};
code unsigned char f[ ]={"34006C49AABB"};
unsigned char cmd[ ] = {0x38,0x0E,0x01,0x06,0x83,0};
void main( )
{
lcd_init( );
clrlcd( );
serialinit( );
delay(100);
mess_lcd(0X80,"STARTING SYSTEM");
delay(100);
delay(100);
clrlcd( );
mess_lcd(0X81," SYSTEM READY");
delay(100);
delay(100);
clrlcd( );
63

again_start:
mess_lcd(0X80,"TAKE
mess_lcd(0XC0," 1

RETURN ");
2 ");

if(sw1==0)
{
while(sw1==0);
clrlcd( );
mess_lcd(0X80,"PLACE THE CARD");
message(id[h]);
serialstore( );
cont_compare( );
}
if(sw2==0)
{
while(sw2==0);
clrlcd( );
mess_lcd(0X80,"PLACE THE CARD");
message(id[h]);
serialstore( );
cont_compare_R( );
}
goto again_start;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd_init(void)
{
command(0x38);
command(0x80);
command(0x0e);
command(0x01);
command(0x06);
}

64

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void mess_lcd(unsigned char m,unsigned char arr[ ])
{
char a;
a=0;
command(m);
while(arr[a]!=0)
{
message(arr[a]);
a++;
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void clrlcd( )
{
command(0X01);
delay(100);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void serialstore(void)
{
unsigned char n=0;
while(n<=11)
{
while(RI==0);
RI = 0;
id[n]= SBUF;
n++;
}
65

id[n]='\0';
for(h=0;h<=11;h++)
delay(1);
message(id[h]);
clrlcd( );
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void serialinit(void)
{
TMOD = 0X20;
TH1 = 0XFD;
SCON = 0X50;
TR1 = 1;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void command(unsigned char value)
{
ldata = value;
rs = 0;
rw = 0;
en = 1;
delay(5);
en = 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void message(unsigned char value)
{
ldata = value;
rs = 1;
66

rw = 0;
en = 1;
delay(5);
en = 0;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void delay(unsigned int r)
{
unsigned int p,q;
for(p=0;p<r;p++)
for(q=0;q<=200;q++);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*unsigned char compare(unsigned char kk[ ],unsigned char hh[ ])
{
unsigned char i=0,j=0,e;
lcd_init( );
for(e=0;e<=11;e++)
if(kk[i]!=hh[i])
{
j=1;
break;
}
else
i++;
67

return 0;
}

*/

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
FUNCTION FOR TAKING THE BOOKS
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////
void cont_compare(void)
{
t=strcmp(id,"380035083F3A");
////////////////////////////////////////////////////STUDENT 1////////////////////////////////////
if(t==0)
{
mess_lcd(0x80,"STUDENT1");
delay(260);
command(0x01);
if((sa1 + sa2 + sa3 + sa4)==2)
while(1)
{
command(0x01);
mess_lcd(0x80,"PLACE THE BOOK");
message(id[h]);
serialstore( );
t=strcmp(id,"3600AB17AC26");
if(t==0)
{
mess_lcd(0x80,"BOOK1 TAKEN");
sa1=1;
status1++;
delay(260);
return;
}
68

else
{
sa1=0;
}
t=strcmp(id,"360067633D0F");
if(t==0)
{
mess_lcd(0x80,"BOOK2 TAKEN");
sa2=1;
status1++;
delay(260);
return;
}
else
{
sa2=0;
}
t=strcmp(id,"36006C424E56");
if(t==0)
{
mess_lcd(0x80,"BOOK3 TAKEN");
sa3=1;
status1++;
delay(260);
return;
}
else
{
sa3=0;
}
t=strcmp(id,"34006C49AABB");
if(t==0)
{
mess_lcd(0x80,"BOOK4 TAKEN");
69

sa4=1;
status1++;
delay(260);
return;
}
else
{
sa4=0;
}
}
return;
}

t=strcmp(id,"380034028E80");
///////////////////////////////////////////////////STUDENT2////////////////////////////////////
if(t==0)
{
mess_lcd(0x80,"STUDENT2");
delay(260);
command(0x01);
if((sb1 + sb2 + sb3 + sb4)==2)
while(1)
{
command(0x01);
mess_lcd(0x80,"PLACE THE BOOK");
message(id[h]);
serialstore( );
t=strcmp(id,"3600AB17AC26");
if(t==0)
{
mess_lcd(0x80,"BOOK1 TAKEN");
sb1=1;
status2++;
70

delay(260);
return;
}
else
{
sb1=0;
}
t=strcmp(id,"360067633D0F");
if(t==0)
{
mess_lcd(0x80,"BOOK2 TAKEN");
sb2=1;
status2++;
delay(260);
return;
}
else
{
sb2=0;
}
t=strcmp(id,"36006C424E56");
if(t==0)
{
mess_lcd(0x80,"BOOK3 TAKEN");
sb3=1;
status2++;
delay(260);
return;
}
else
{
sb3=0;
}
t=strcmp(id,"34006C49AABB");
71

if(t==0)
{
mess_lcd(0x80,"BOOK4 TAKEN");
sb4=1;
status2++;
delay(260);
return;
}
else
{
sb4=0;
}
}
return;
}
else
{
clrlcd( );
mess_lcd(0x80,"INVALID ID");
delay(260);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
FUNCTION FOR RETURNING THE BOOKS
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////
void cont_compare_R(void)
{
t=strcmp(id,"380035083F3A");
////////////////////////////////////////////////////STUDENT 1////////////////////////////////////
if(t==0)
{
mess_lcd(0x80,"STUDENT1");
72

delay(260);
command(0x01);
if((sa1+sa2+sa3+sa4)==2)
{
clrlcd( );
mess_lcd(0x80," YOU ARE NOT ");
mess_lcd(0xc0,"HAVING ANY BOOK ");
delay(450);
return;
}
while(1)
{
command(0x01);
mess_lcd(0x80,"PLACE THE BOOK");
message(id[h]);
serialstore( );
t=strcmp(id,"3600AB17AC26");
if(t==0)
{
mess_lcd(0x80,"BOOK1 RETURNED");
sa1=0;
status1--;
delay(260);
return;
}
else
{
sa1=1;
}
t=strcmp(id,"360067633D0F");
if(t==0)
{
mess_lcd(0x80,"BOOK2 RETURNED");
sa2=0;
status1--;
delay(260);
73

return;
}
else
{
sa2=1;
}
t=strcmp(id,"36006C424E56");
if(t==0)
{
mess_lcd(0x80,"BOOK3 RETURNED");
sa3=0;
status1--;
delay(260);
return;
}
else
{
sa3=1;
}
t=strcmp(id,"34006C49AABB");
if(t==0)
{
mess_lcd(0x80,"BOOK4 RETURNED");
sa4=0;
status1--;
delay(260);
return;
}
else
{
sa4=1;
}
}
return;
}
74

t=strcmp(id,"380034028E80");
//////////////////////////////////////////////////STUDENT2////////////////////////////////////
if(t==0)
{
mess_lcd(0x80,"STUDENT2");
delay(260);
command(0x01);
// if(status2==0)
if((sb1+sb2+sb3+sb4)==2)
{
clrlcd( );
mess_lcd(0x80," YOU ARE NOT ");
mess_lcd(0xc0,"HAVING ANY BOOK ");
delay(450);
return;
}
while(1)
{
command(0x01);
mess_lcd(0x80,"PLACE THE BOOK");
message(id[h]);
serialstore( );
t=strcmp(id,"3600AB17AC26");
if(t==0)
{
mess_lcd(0x80,"BOOK1 RETURNED");
sb1=0;
status2--;
delay(260);
return;
}
else
{
sb1=1;
75

}
t=strcmp(id,"360067633D0F");
if(t==0)
{
mess_lcd(0x80,"BOOK2 RETURNED");
sb2=0;
status2--;
delay(260);
return;
}
else
{
sb2=1;
}
t=strcmp(id,"36006C424E56");
if(t==0)
{
mess_lcd(0x80,"BOOK3 RETURNED");
sb3=0;
status2--;
delay(260);
return;
}
else
{
sb3=1;
}
t=strcmp(id,"34006C49AABB");
if(t==0)
{
mess_lcd(0x80,"BOOK4 RETURNED");
sb4=0;
status2--;
delay(260);
76

return;
}
else
{
sb4=1;
}
}
return;
}
else
{
clrlcd( );
mess_lcd(0x80,"INVALID ID");
delay(260);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////

77

You might also like