RFID EM-18 Card Reader Interfacing with 8051

EM-18 RFID reader is one of the commonly used RFID reader to read 125KHz tags. It features low cost, low power consumption, small form factor and easy to use. It can be directly interfaced with microcontrollers using UART and with PC using an RS232 converter.



1) Display_rf_lcd.c


//TAKE INPUT FROM READER AND WRITE TO LCD
#include "rfid.h"
#include "lcd.h"
#include <string.h>
#define psw "1234567"
void main()
{
char * str;
int i=0;
rf_init();
lcd_init();
lcd_data(rf_rx());

// comparing passwords
while(i<12){
*str++=rf_rx();
}
if(strcmp(str,psw)==0)
{
lcd_command(0x01);
lcd_disp("Access Granted");
}
}

2) RFID Header File (rfid.h)

#include<reg51.h>
void rf_init()
{
SCON=0x50;
TMOD=0x20;
TH1=0xFD;// 9600 BAUD RATE
TR1=1; 

}
char rf_rx()
{
while(RI==0);
RI=0;
return SBUF;
}


3) LCD Header File (lcd.h)

#include<reg51.h>
sbit rs=P3^4;
sbit rw=P3^5;
sbit en=P3^6;
void delay(int n)
{
int i=0;
for(;i<n*1000;i++);
}
void lcd_command(char c)
{
P0=c;
rs=0;
rw=0;// write
en=1;
delay(1);
en=0;
delay(1);
}
void lcd_disp(char d)
{
P0=d;
rs=1;
rw=0;// write
en=1;
delay(1);
en=0;
delay(1);
}
void lcd_init()
{
lcd_command(0x01);
lcd_command(0x38);
lcd_command(0x06);
lcd_command(0x0C);
lcd_command(0x80);
}



No comments:

Post a Comment