Skip to main content

Theft preventer alarm project coding

#include <REGX51.H>
#include "lcd.c"

#define MAX_DELAY() delay(65000)

sbit IR_Sense=P3^1;
sbit Buz=P1^0;
sbit Load=P0^1;

void intro()
{
 lcd_init();lcd_clr();
 lcd_str("Theft Preventer ",0x80);
 lcd_str(" Security Alarm ",0xc0);
 MAX_DELAY();MAX_DELAY();
 lcd_clr();
 }

 void main()
 {
unsigned int i = 0, j= 0;
Buz = 1; Load = 0;
intro();
   while(1)
   {
if(IR_Sense == 1)
{
lcd_clr();
lcd_str("No Intruder Detet",0x80);
lcd_str("Home is Safe now ",0xc0);
delay(1000);
Buz = 1; Load = 0;
while(IR_Sense == 1);
}
else
{
lcd_clr();
lcd_str(" Intruder Deteted",0x80);
lcd_str("Home at Risk now ",0xc0);
delay(1000);
Buz = 0; Load = 1;
while(1);
}


   }
 }


LCD CODING:


#define AT89C51
#undef PIC16F877A

#ifdef AT89C51
#undef PIC16F877A

sbit rs=P0^5;
sbit rw=P0^6;
sbit en=P0^7;

#define DATA P2

#else

#define rs RB1
#define rw RB2
#define en RB4
#define DATA PORTD

#endif

#define DELAY() delay(20)

void delay(unsigned int i)
{
while(i--);
}
void lcd_cmd(unsigned char c)
{
rs=0;
DATA=c;
en=1;
DELAY();
en=0;
}

void lcd_data(unsigned char d)
{
delay(500);
rs=1;
DATA=d;
en=1;
DELAY();
en=0;
}

void lcd_clr()
{
 lcd_cmd(0x01);
 delay(100);
 lcd_cmd(0x80);
}

void lcd_init()
{
  #ifdef PIC16F877A
    TRISB1=TRISB2=TRISB4=0;
    TRISD=0;
  #endif
    rw=0;
    lcd_cmd(0x38);
    lcd_cmd(0x0c);
lcd_clr();
}

void lcd_str(const unsigned char *str, const unsigned char pos)
{
 if(pos != 0xff) /*to follow previous written position*/
  lcd_cmd(pos);
 while(*str)
  lcd_data(*str++);
 
}

Comments