6.2 Displaying User Defined Data

Figure 6.6 shows the block diagram of the HD44780 LCD module. The module contains three types of memories: an 80 × 8 bits display data RAM (DDRAM), 64 bytes of character generator RAM (CGRAM), and a 9920 bit character generator ROM (CGROM). The data displayed currently by the LCD is stored in the DDRAM. On displays with fewer than 80 characters, any unused DDRAM locations can be used as a general purpose RAM. The CGRAM stores the user defined character set. The CGROM stores the fixed character set of the LCD, which can vary between different manufacturers. The device has two registers, an instruction register (IR) and a data register (DR). The IR can be written from the microcontroller and it stores the instruction codes and address information. The DR stores the data to be written into the DDRAM or the CGRAM. Data written into the DR is automatically transferred to the DDRAM or the CGRAM. An address counter is used to address the DDRAM and CGRAM. This counter is incremented or decremented automatically after writing (or reading) into the DDRAM or the CGRAM.

Figure 6.6 Block diagram of the HD44780 module

img

The user can specify any pattern of up to 8 characters made up of a 5 × 7 matrix, or up to 4 characters with a 5 × 10 matrix. Figure 6.7 shows the relationship between the character codes, CGRAM address and the CGRAM data for 5 × 7 display matrix. ...

Get Using LEDs, LCDs and GLCDs in Microcontroller Projects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.