The HD44780U dot-matrix liquid crystal display controller and driver LSI displays alphanumerics,
Japanese kana characters, and symbols. It can be configured to drive a dot-matrix liquid crystal display
under the control of a 4- or 8-bit microprocessor. Since all the functions such as display RAM, character
generator, and liquid crystal driver, required for driving a dot-matrix liquid crystal display are internally
provided on one chip, a minimal system can be interfaced with this controller/driver.
A single HD44780U can display up to one 8-character line or two 8-character lines.
The HD44780U has pin function compatibility with the HD44780S which allows the user to easily replace
an LCD-II with an HD44780U. The HD44780U character generator ROM is extended to generate 208 5 ×
8 dot character fonts and 32 5 × 10 dot character fonts for a total of 240 different character fonts.
The low power supply (2.7V to 5.5V) of the HD44780U is suitable for any portable battery-driven product
requiring low power dissipation.
Features
• 5 × 8 and 5 × 10 dot matrix possible
• Low power operation support:
2.7 to 5.5V
• Wide range of liquid crystal display driver power
3.0 to 11V
• Liquid crystal drive waveform
A (One line frequency AC waveform)
• Correspond to high speed MPU bus interface
2 MHz (when VCC = 5V)
• 4-bit or 8-bit MPU interface enabled
• 80 × 8-bit display RAM (80 characters max.)
• 9,920-bit character generator ROM for a total of 240 character fonts
208 character fonts (5 × 8 dot)
32 character fonts (5 × 10 dot)
1
HD44780U
• 64 × 8-bit character generator RAM
8 character fonts (5 × 8 dot)
4 character fonts (5 × 10 dot)
• Programmable duty cycles
1/8 for one line of 5 × 8 dots with cursor
1/11 for one line of 5 × 10 dots with cursor
1/16 for two lines of 5 × 8 dots with cursor
• Wide range of instruction functions:
Display clear, cursor home, display on/off, cursor on/off, display character blink, cursor shift,
display shift
• Pin function compatibility with HD44780S
• Automatic reset circuit that initializes the controller/driver after power on
DB0 to DB34I/OMPUFour low order bidirectional tristate data bus pins.
CL11OExtension driverClock to latch serial data D sent to the extension
CL21OExtension driverClock to shift serial data D
M1OExtension driverSwitch signal for converting the liquid crystal
D1OExtension driverCharacter pattern data corresponding to each
COM1 to COM16 16OLCDCommon signals that are not used are changed
SEG1 to SEG40 40OLCDSegment signals
V1 to V55—Power supplyPower supply for LCD drive
VCC, GND2—Power supplyVCC: 2.7V to 5.5V, GND: 0V
OSC1, OSC22—Oscillation
LinesI/O
4I/OMPUFour high order bidirectional tristate data bus
Device
Interfaced withFunction
0: Instruction register (for write) Busy flag:
address counter (for read)
1: Data register (for write and read)
0: Write
1: Read
pins. Used for data transfer and receive between
the MPU and the HD44780U. DB7 can be used
as a busy flag.
Used for data transfer and receive between the
MPU and the HD44780U.
These pins are not used during 4-bit operation.
driver
drive waveform to AC
segment signal
to non-selection waveforms. COM9 to COM16
are non-selection waveforms at 1/8 duty factor
and COM12 to COM16 are non-selection
waveforms at 1/11 duty factor.
V
–V5 = 11 V (max)
CC
When crystal oscillation is performed, a resistor
resistor clock
must be connected externally. When the pin input
is an external clock, it must be input to OSC1.
8
HD44780U
Function Description
Registers
The HD44780U has two 8-bit registers, an instruction register (IR) and a data register (DR).
The IR stores instruction codes, such as display clear and cursor shift, and address information for display
data RAM (DDRAM) and character generator RAM (CGRAM). The IR can only be written from the MPU.
The DR temporarily stores data to be written into DDRAM or CGRAM and temporarily stores data to be
read from DDRAM or CGRAM. Data written into the DR from the MPU is automatically written into
DDRAM or CGRAM by an internal operation. The DR is also used for data storage when reading data
from DDRAM or CGRAM. When address information is written into the IR, data is read and then stored
into the DR from DDRAM or CGRAM by an internal operation. Data transfer between the MPU is then
completed when the MPU reads the DR. After the read, data in DDRAM or CGRAM at the next address is
sent to the DR for the next read from the MPU. By the register selector (RS) signal, these two registers can
be selected (Table 1).
Busy Flag (BF)
When the busy flag is 1, the HD44780U is in the internal operation mode, and the next instruction will not
be accepted. When RS = 0 and R/ W = 1 (Table 1), the busy flag is output to DB7. The next instruction
must be written after ensuring that the busy flag is 0.
Address Counter (AC)
The address counter (AC) assigns addresses to both DDRAM and CGRAM. When an address of an
instruction is written into the IR, the address information is sent from the IR to the AC. Selection of either
DDRAM or CGRAM is also determined concurrently by the instruction.
After writing into (reading from) DDRAM or CGRAM, the AC is automatically incremented by 1
(decremented by 1). The AC contents are then output to DB0 to DB6 when RS = 0 and R/W = 1 (Table 1).
Table 1Register Selection
RSR/WOperation
00IR write as an internal operation (display clear, etc.)
01Read busy flag (DB7) and address counter (DB0 to DB6)
10DR write as an internal operation (DR to DDRAM or CGRAM)
11DR read as an internal operation (DDRAM or CGRAM to DR)
9
HD44780U
Display Data RAM (DDRAM)
Display data RAM (DDRAM) stores display data represented in 8-bit character codes. Its extended
capacity is 80 × 8 bits, or 80 characters. The area in display data RAM (DDRAM) that is not used for
display can be used as general data RAM. See Figure 1 for the relationships between DDRAM addresses
and positions on the liquid crystal display.
The DDRAM address (ADD) is set in the address counter (AC) as hexadecimal.
• 1-line display (N = 0) (Figure 2)
When there are fewer than 80 display characters, the display begins at the head position. For
example, if using only the HD44780, 8 characters are displayed. See Figure 3.
When the display shift operation is performed, the DDRAM address shifts. See Figure 3.
AC
(hexadecimal)
Display position
(digit)
DDRAM
address
(hexadecimal)
High order
bits
AC6AC5 AC4 AC3AC2 AC1AC0
Low order
bits
Figure 1 DDRAM Address
123 457980
00 01 0203 044E 4F
Figure 2 1-Line Display
Display
position
DDRAM
address
For
shift left
For
shift right
12345678
00 01 02 03 04 05 06 07
01 02 03 04 05 06 07 08
00 01 02 03 04 05 06
4F
Example: DDRAM address 4E
1001110
. . . . . . . . . . . . . . . . . .
10
Figure 3 1-Line by 8-Character Display Example
HD44780U
• 2-line display (N = 1) (Figure 4)
Case 1: When the number of display characters is less than 40 × 2 lines, the two lines are displayed
from the head. Note that the first line end address and the second line start address are not
consecutive. For example, when just the HD44780 is used, 8 characters × 2 lines are displayed. See
Figure 5.
When display shift operation is performed, the DDRAM address shifts. See Figure 5.
Display
position
DDRAM
address
(hexadecimal)
123 453940
00 01 0203 0426 27
40 41 4243 4466 67
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
Figure 4 2-Line Display
Display
position
DDRAM
address
For
shift left
For
shift right
12345678
00 01 02 03 04 05 06 07
40 41 42 43 44 45 46 47
01 02 03 04 05 06 07 08
41 42 43 44 45 46 47 48
00 01 02 03 04 05 06
27
40 41 42 43 44 45 46
67
Figure 5 2-Line by 8-Character Display Example
11
HD44780U
Case 2: For a 16-character × 2-line display, the HD44780 can be extended using one 40-output
extension driver. See Figure 6.
When display shift operation is performed, the DDRAM address shifts. See Figure 6.
Display
position
DDRAM
address
For
shift left
For
shift right
1 2345678910111213141516
00 01 02 03 04 05 06 07 08 09 0A 0B0C0D0E0F
40 41 42 43 44 45 46 47 48 49 4A 4B4C4D4E4F
HD44780U displayExtension driver
display
02010304 05 06 07 08 09 0A 0B0C0D0E0F10
4142 43 44 45 46 47 48 49 4A 4B4C4D4E 4F 50
00 01 02 03 04 05 06 07 08 09 0A 0B0C0D0E27
40 41 42 43 44 45 46 47 48 49 4A 4B4C4D4E67
Figure 6 2-Line by 16-Character Display Example
12
HD44780U
Character Generator ROM (CGROM)
The character generator ROM generates 5 × 8 dot or 5 × 10 dot character patterns from 8-bit character
codes (Table 4). It can generate 208 5 × 8 dot character patterns and 32 5 × 10 dot character patterns. Userdefined character patterns are also available by mask-programmed ROM.
Character Generator RAM (CGRAM)
In the character generator RAM, the user can rewrite character patterns by program. For 5 × 8 dots, eight
character patterns can be written, and for 5 × 10 dots, four character patterns can be written.
Write into DDRAM the character codes at the addresses shown as the left column of Table 4 to show the
character patterns stored in CGRAM.
See Table 5 for the relationship between CGRAM addresses and data and display patterns.
Areas that are not used for display can be used as general data RAM.
Modifying Character Patterns
• Character pattern development procedure
The following operations correspond to the numbers listed in Figure 7:
1. Determine the correspondence between character codes and character patterns.
2. Create a listing indicating the correspondence between EPROM addresses and data.
3. Program the character patterns into the EPROM.
4. Send the EPROM to Hitachi.
5. Computer processing on the EPROM is performed at Hitachi to create a character pattern listing, which
is sent to the user.
6. If there are no problems within the character pattern listing, a trial LSI is created at Hitachi and samples
are sent to the user for evaluation. When it is confirmed by the user that the character patterns are
correctly written, mass production of the LSI proceeds at Hitachi.
13
HD44780U
UserHitachi
Start
Computer
processing
Create character
pattern listing
No
Evaluate
character
patterns
OK?
Yes
Art work
M/T
Masking
Trial
Determine
character patterns
5
Create EPROM
address data listing
Write EPROM
EPROM → Hitachi
1
2
3
4
14
Sample
Sample
evaluation
OK?
Yes
Mass
production
Note: For a description of the numbers used in this figure, refer to the preceding page.
6
No
Figure 7 Character Pattern Development Procedure
HD44780U
• Programming character patterns
This section explains the correspondence between addresses and data used to program character patterns
in EPROM. The HD44780U character generator ROM can generate 208 5 × 8 dot character patterns and
32 5 × 10 dot character patterns for a total of 240 different character patterns.
Character patterns
EPROM address data and character pattern data correspond with each other to form a 5 × 8 or 5 ×
10 dot character pattern (Tables 2 and 3).
Table 2Example of Correspondence between EPROM Address Data and Character Pattern
(5 × 8 Dots)
EPROM Address
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
A11
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 0 0 0 1 0
Character code
Notes: 1. EPROM addresses A11 to A4 correspond to a character code.
2. EPROM addresses A3 to A0 specify a line position of the character pattern.
3. EPROM data O4 to O0 correspond to character pattern data.
4. EPROM data O5 to O7 must be specified as 0.
5. A lit display position (black) corresponds to a 1.
6. Line 9 and the following lines must be blanked with 0s for a 5 × 8 dot character fonts.
1. EPROM data outside the character pattern area: Always input 0s.
2. EPROM data in CGRAM area: Always input 0s. (Input 0s to EPROM addresses 00H to FFH.)
3. EPROM data used when the user does not use any HD44780U character pattern: According to the user
application, handled in one of the two ways listed as follows.
a. When unused character patterns are not programmed: If an unused character code is written into
DDRAM, all its dots are lit. By not programing a character pattern, all of its bits become lit. (This is
due to the EPROM being filled with 1s after it is erased.)
b. When unused character patterns are programmed as 0s: Nothing is displayed even if unused
character codes are written into DDRAM. (This is equivalent to a space.)
Table 3Example of Correspondence between EPROM Address Data and Character Pattern
(5 × 10 Dots)
EPROM Address
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
A11
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 0 1 0 0 1 0
Character code
Notes: 1. EPROM addresses A11 to A3 correspond to a character code.
2. EPROM addresses A3 to A0 specify a line position of the character pattern.
3. EPROM data O4 to O0 correspond to character pattern data.
4. EPROM data O5 to O7 must be specified as 0.
5. A lit display position (black) corresponds to a 1.
6. Line 11 and the following lines must be blanked with 0s for a 5 × 10 dot character fonts.