2x24LCD Information
2x24LCD Information
Serial Wombat
a general-purpose digital interface device for hobbyists, engineers and students
This is a used, 24 character by two line (24 x 2) LCD panel with E/L backlight currently being sold by All
Electronics . This may be an Emerging Display Technologies Corporation display # 24210, or some similar
display. The back panel looks like this:
It has two chips, an HD44780A00, and an HD66100F. The silkscreen says PC-016ATE , and 9607.
The Serial Wombat supports this LCD directly. Just tell it through the RS-232 connection which LCD pins
are attached to which Wombat pins, and what string to display. It's just that easy. The Wombat also has
commands to load custom bitmap characters. While you're driving this LCD you can also control servos,
measure analog inputs, or perform hysteresis control. Read more about Wombat's Direct support for this LCD...
This LCD panel uses the Hitachi HD44780 dot-matrix lcd controller. You can get the datasheet for the
controller here:
hd44780.pdf
http://www.serialwombat.com/parts/lcd107.htm Page 1 of 6
HD44780 24x2 Display Information 1/14/08 3:23 PM
And the datasheet for this particular LCD (or compatible) display here:
LCD-107.pdf
http://www.serialwombat.com/parts/lcd107.htm Page 2 of 6
HD44780 24x2 Display Information 1/14/08 3:23 PM
Note that my connector had the red-marked wire on the ribbon cable connected to pin 14.
To light the E/L strip I used an inverter I bought from All Electronics. This inverter worked good from my +5v
supply. It pulled about 63mA from the +5 source, and put out about 90v AC, which did a good job lighting the
LCD. This inverter gave off an audible hum while working. I'm personally not a big fan of E/L displays,
because of the cost and inconvenience of the inverter circuit if you only have DC. I also don't like having
things in my project which can shock me... See the Heart demo below for a picture taken in the dark with the
E/L on.
http://www.serialwombat.com/parts/lcd107.htm Page 3 of 6
HD44780 24x2 Display Information 1/14/08 3:23 PM
8 DB1
9 DB2
10 DB3
11 DB4 Least significant bit in 4 bit mode
12 DB5
13 DB6
14 DB7 Most Significant Data Bit
To clock in a byte:
1. Set the E line low.
2. Set the RS line high if you're sending data, or low if your sending a command.
8 Set the E line low The E line should remain low until you're ready to clock in another byte.
If you're using a microcontroller to do this, I'd make sure there was at least a microsecond between all of the
above steps, and at least a millisecond between clocked in bytes. This is a long time to wait, but you want to
be careful if you're hardwiring the Read/Write line low and not reading the busy status of the LCD.
http://www.serialwombat.com/parts/lcd107.htm Page 4 of 6
HD44780 24x2 Display Information 1/14/08 3:23 PM
0x00 to 0x0F are reserved for user-definable bitmaps. Characters 0x10 to 0x1F are blank. This display supports
up to 8 user defined bitmaps.
0x80 to 0xAF:
0xB0 to 0xDF:
0xE0 to 0xFF:
Custom Characters:
The hd44780 allows the user to create up to 8 custom characters by sending bitmaps for the characters
appearance. The custom characters are available as 0x00, through 0x07 data. I used 6 custom characters to
make a big heart, and one to make a small heart:
This picture was taken in the dark with the E/L backlight active.
http://www.serialwombat.com/parts/lcd107.htm Page 5 of 6
HD44780 24x2 Display Information 1/14/08 3:23 PM
Each character is 5 pixels wide, and 8 pixels tall. When sending bitmaps, send the top line first, followed by the
second line, and so on. The five least significant bits of each byte represent the five pixels, with the 2^4 bit
representing the leftmost pixel. The upper 3 bits of each byte are unused. A '1' bit represents a black pixel.
For example, the upper left segment of the heart would be made up of data 0x00, 0x03, 0x07, 0x0F,0x0F,
0x1F,0x1F,0x1F.
Pixel data is stored in the character RAM area. To set the pointer to the character RAM area, set the RS pin
low, and clock in the byte 0x40. Then set the RS pin high and clock in between 8 and 64 bytes of data,
depending on how many custom characters you want to use (8 bytes for each character). Issue the 0x80
command above to return to sending data into the standard string buffer.
Copyright Wombat Interface Products, 2006. All Rights Reserved.
http://www.serialwombat.com/parts/lcd107.htm Page 6 of 6