How to interface 16x2 LCD with 8051 microcontroller (AT89C51)



It is very important to keep a track of the working of almost all the automated and semi-automated devices, be it a washing machine, an autonomous robot or anything else. This is achieved by displaying their status on a small display module. LCD (Liquid Crystal Display) screen is such a display module and a 16x2 LCD module is very commonly used. These modules are replacing seven segments and other multi segment LEDs for these purposes. The reasons being: LCDs are economical, easily programmable, have no limitation of displaying special & even custom characters (unlike in seven segments), animations and so on. LCD can be easily interfaced with a microcontroller to display a message or status of a device. This topic explains the basics of a 16x2 LCD and how it can be interfaced with AT89C51 to display a character.
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers.
1.      Command/Instruction Register - stores the command instructions given to the LCD. A command is an instruction given to LCD to do a predefined task like initializing, clearing the screen, setting the cursor position, controlling display etc.
2.      Data Register - stores the data to be displayed on the LCD. The data is the ASCII value of the character to be displayed on the LCD.
Commonly used LCD Command codes:
 Hex Code           Command to LCD Instruction Register
1              Clear screen display
2              Return home
4              Decrement cursor
6              Increment cursor
E              Display ON, Cursor ON
80           Force the cursor to the beginning of the 1st line
C0           Force cursor to the beginning of the 2nd line
38           Use 2 lines and 5x7 matrix

   If you want to C Code and more details about this circuit write your email id in comment box.we will send you details.

1 comment:

IF you any query about any project related than write your comment in comment box