C Code
#include <regx51.h>
#define LCD_COMMAND 0
#define LCD_DATA 1
#define LCD_RS P0_0 //Edit it per your circuit design
#define LCD_RW P0_1 //Edit it per your circuit design
#define LCD_EN P0_2 //Edit it per your circuit design
#define LCD_PORT P2 //Edit it per your circuit design
char *message_1 = "electronicsprojs";
char *message_2 = ".blogspot.com";
/*Function Prototypes*/
void LCD_delay(unsigned int);
void LCD_putc(int,int);
void LCD_puts(unsigned char*);
void LCD_init();
main()
{
LCD_init();
LCD_putc(0x80,LCD_COMMAND); //Write to Row 1
LCD_puts(message_1);
LCD_putc(0xC0,LCD_COMMAND); //Write to Row 2
LCD_puts(message_2);
LCD_delay(1000);
while(1);
}
void LCD_init()
{
LCD_EN = 1;
LCD_RS = 0;
LCD_putc(0x38,LCD_COMMAND); //Use 2 lines 5X7 matrix
LCD_putc(0x0C,LCD_COMMAND); //Display on Cursor on
LCD_putc(0x01,LCD_COMMAND); //Clear Screen
LCD_delay(256);
}
void LCD_delay(unsigned int i)
{
while(i>0)
i--;
}
void LCD_putc(int character, int type)
{
LCD_delay(10);
LCD_RS = type; //1 : Write Data, 0 : Write Command
LCD_RW = 0;
LCD_PORT = character;
LCD_EN = 0; //Latch data with a low to high pulse
LCD_delay(10);
LCD_EN = 1;
}
void LCD_puts(unsigned char *string)
{
while (*string)
{
LCD_putc(*string++,LCD_DATA);
}
}