Liquid crystal display interfacing with 8051 Microcontroller
- It is a popular technology employed in various electronic devices as of the modern century.
- It makes use of the light properties of liquid crystals.
- They consume less light than LED.
- They have more input connections compared to LED.
- Constant backlight and it works on the principle of blocking the light instead of emitting it, thus displaying the characters.
INTERFACING LCD WITH 8051:
- The LCD can be interfaced with 8051 microcontroller chip to display many characters or strings in different languages.
- It is employed in many public areas for displaying shop logos or boards so that it makes it attractive.
- The corresponding connections are given.
- Initially the connections are made as per the pin description table above.
- The reset pin( 9th pin) of the micro-controller is connected to the 5V port initially before powering on the circuit.
- After powering on the reset pin is connected to ground to enable the displaying of letters.
- My name is given as the string to be displayed on the LCD screen.
- The LCD initialisation process takes place first after that command is given for cursor and positioning cursor.
- Finally the data is displayed using PORT of the micro-controller with a delay of 50 ms between each letter of “KEVIN MATHEW”.
Program for LCD Interfacing with 8051 Microcontroller (AT89S52)
#define display_port P1 //Data pins connected to port 2 on microcontroller
sbit rs = P0^2; //RS pin connected to pin 2 of port 3
sbit rw = P0^3; // RW pin connected to pin 3 of port 3
sbit e = P0^4;
sbit DB0= P3^0;
sbit DB1 = P3^1;
sbit DB2= P3^2;
sbit DB4 =P3^4;
sbit DB5 =P3^5;
sbit DB7 =P3^7;//E pin connected to pin 4 of port 3
void msdelay(unsigned int time) // Function for creating delay in milliseconds.
unsigned i,j ;
void lcd_cmd(unsigned char command) //Function to send command instruction to LCD
display_port = command;
void lcd_data(unsigned char disp_data) //Function to send display data to LCD
display_port = disp_data;
void lcd_init() //Function to prepare the LCD and get it ready
lcd_cmd(0x38); // for using 2 lines and 5X7 matrix of LCD
lcd_cmd(0x0F); // turn display ON, cursor blinking
lcd_cmd(0x01); //clear screen
lcd_cmd(0x81); // bring cursor to position 1 of line 1
unsigned char a=”KEVIN MATHEW; //string of 14 characters with a null terminator.
while(a[l] != ‘\0’) // searching the null terminator in the sentence
Click here to see the video of LCD Interfacing with 8051 Microcontroller