You are on page 1of 3

#include <reg52.

h>
#include <intrins.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
//Port bit defination
//P0 BIT DEFINATION-----------------------------------------
sbit RS = P0^0;
sbit ENB = P0^1;
sbit LED = P0^2;
//P1 BIT DEFINATION------------------------------------------
sbit key = P1^3;
sbit D4 = P1^4;
sbit D5 = P1^5;
sbit D6 = P1^6;
sbit D7 = P1^7;
//------------------------------------------------------------
//unsigned char bdata Flag1;
//sbit ki = Flag1^0;
unsigned char disp_buffer[32]=" Jai Mataji "
" Sarang Joshi ";
unsigned char i;
//compiler directives
void delay(unsigned long int);
//lcd functions-----------------
void init_lcd();
void command_lcd(unsigned char);
void data_lcd(unsigned char);
void disp_value(void);
void main(void)
{
P0=0XFF;
P1=0XF0;
P2=0XFF;
P3=0XFF;
LED=1;
delay(2000);
P0=0XFF;
P1=0XF0;
P2=0XFF;
P3=0XFF;
LED=0;
init_lcd();
disp_value();
while(1)
{
if(key)
{
LED=1;
}
else LED=0;
disp_value();
}
}
void init_lcd()
{
delay(20);
RS=0;
delay(100);
for(i=0;i<4;i++)
{
// ENB=1;
P1=((P1 & 0x0F)|(0X30));
RS=0;
ENB=1;
delay(60);
ENB=0;
delay(500);
}
command_lcd(0x02);
command_lcd(0x0f);
command_lcd(0x06);
command_lcd(0x0c);
command_lcd(0x01);
}
void command_lcd(unsigned char a)
{
delay(20);
RS=0;
delay(60);
P1=((P1 & 0x0F)|(a & 0XF0));
ENB=1;
delay(60);
ENB=0;
P1=((P1 & 0x0F)|((a<<4) & 0XF0));
delay(60);
ENB=1;
delay(60);
ENB=0;
delay(60);
}
void data_lcd(unsigned char a)
{
RS=1;
delay(60);
P1=((P1 & 0x0F)|(a & 0XF0));
ENB=1;
delay(60);
ENB=0;
delay(60);
P1=((P1 & 0x0F)|((a<<4) & 0XF0));
ENB=1;
delay(60);
ENB=0;
}
void disp_value(void)
{
unsigned char ap;
for(ap=0;ap<32;ap++)
{
if(ap==0)command_lcd(0x80);
if(ap==16)command_lcd(0xc0);
data_lcd(disp_buffer[ap]);
}
}
void delay(unsigned long int a)
{
while(--a);
}

You might also like