Interfacing to a HD44780 Controller based LCD

Interfacing to a HD44780 Controller based LCD

If a designer has used 2x16 dot matrix LCD (Liquid crystal display) in his application, then most probably the designer must have used a display based on HD44780 controller chip. When we say 2x16, it meant, 2 rows with 16 characters per line. While there are other line counts and character count possible, let us restrict our discussion to 2x16.

The functionality of HD44780 is to isolate the LCD driving functionality and provide a simple interface to data drivers likes microcontrollers. The controller has a display RAM which helps to compensate for the  speed differences between external controller and the display.

Below is the block diagram of the HD44780 controller from its' datasheet:


The signal from the left are the interfacing signals to the microcontroller. The following signals drive the LCD:
  • CL (Latch)
  • SEG (Segment)
  • COM (Common) 
HD44780 has two registers:
  • Data Register (DR)
  • Instruction Register (IR)
The data to be written to display shall be written to DR and instructions like clear screen shall be written to IR. The RS pin which is called the Register select selects the DR or IR. So, the external microcontroller can control RS pin to intimate the HD44780 that data or instruction is being written. 

HD44780 also has two registers:
  • Display Data RAM (DDRAM)
  • Character Generator RAM (CGRAM)
/The Data Register (DR) writes the DDRAM and CGRAM. Data written into the DR from the MPU is automatically written into DDRAM or CGRAM by an internal operation.

The pin connectivity of 2x16 LCD to interface to controller is as below:


The pin out explanation of the 2x16 LCD interfacing is as below:


The interfacing to c microcontroller board is shown as an example below:

Post a Comment

0 Comments