Sunteți pe pagina 1din 3

// switch on back light -->0xBF

/*******************************************************************************
**************************************
P0.0 -->D0
P0.1 -->D1
P0.2 -->D2
P0.3 -->D3
P0.4 -->EN
P0.5 -->R/S
0 command , 1 data
P0.6 -->
P0.7 -->
********************************************************************************
*************************************/
#include<reg51.h>
sbit EN = P0^5;
sbit RS = P0^7;
void delay(unsigned char Delval)
{
for(;Delval!=0;Delval--);
}
void delay_ms(unsigned int Delval_ms)
{
for(;Delval_ms!=0;Delval_ms--)
{
delay(165);
}
}
void Lcd_Dat(unsigned char lcd_char)
{
RS=1;
delay(20);
P0 &= 0xF0;
P0 |= (lcd_char>>4) & 0x0F;
delay(20);
EN=1;
delay(20);
EN=0;
delay(700);
delay(20);
P0 &= 0xF0;
P0 |= (lcd_char) & 0x0F;
delay(20);
EN=1;
delay(20);
EN=0;
delay(700);
}
void Lcd_Cmd(unsigned char lcd_char)
{
RS=0;
delay(20);
P0 &= 0xF0;
P0 |= (lcd_char>>4) & 0x0F;
delay(20);

EN=1;
delay(20);
EN=0;
delay(700);
delay(20);
P0 &= 0xF0;
P0 |= (lcd_char) & 0x0F;
delay(20);
EN=1;
delay(20);
EN=0;
delay(700);
}
void Lcd_Init()
{
RS=0;
P0 &= 0xF0;
P0 |= 0x03;
delay(100);
EN=1;
delay(100);
EN=0;
delay_ms(50);
P0 &= 0xF0;
P0 |= 0x02;
delay(100);
EN=1;
delay(100);
EN=0;
delay_ms(50);
Lcd_Cmd(0x28);
delay(5000);
Lcd_Cmd(0x0c);
delay(5000);
Lcd_Cmd(0x06);
delay(5000);
Lcd_Cmd(0x01);
delay(1000);
}
void Display_Lcd (unsigned char *arr,unsigned char cur_posn)
{
bit ovr;
unsigned char data count ;
Lcd_Cmd(cur_posn);
delay_ms(1);
for(count=0;count<16;count++)
{

if(arr[count]==0)
{
ovr=1;
break;
}
Lcd_Dat(arr[count]);
}
if(!ovr)
{
Lcd_Cmd(0xc0);
for(count=16;count<32;count++)
{
if(arr[count]==0)
break;
Lcd_Dat(arr[count]);
}
}
ovr=0;
}
void Lcd_Char (unsigned char charval,unsigned char cur_posn)
{
Lcd_Cmd(cur_posn);
delay(700);
Lcd_Dat(charval);
}
void main(void)
{
unsigned int i;
RW=0;
Lcd_Init();
Display_Lcd("HI",0x80);
while(1)
{
P0 ^= 0xFF;
//Toggle the PORT2 pin LOGIC used is 0 XOR 1=
1 or 1 XOR 1=0
for(i=0;i<25000;i++);//Waste Time here
}
}

S-ar putea să vă placă și