|
Using
a Graphics-Based LCD
Module with C
by Bob Perrin
and Tak Auyeung
Start
• Software Overview •
The Bottom Layer • Initializing
the LCD Display • Shadow
Display • Drawing Dots
and Lines • Printing
Text • Extensions
• Sources and PDF
Many embedded control
applications require a display. Character-based
displays are ubiquitous. This is partially because
of the low cost of character-based displays and
partly a result of their ease of use.
As technology has marched
forward, the cost of graphics-based LCDs has brought
them into the budget of many embedded applications.
However, the ease-of-use factor simply isn’t there
for graphics modules.
In this article, we
will give you the tools necessary to build a graphics-based
LCD into your next project.
THE HARDWARE
When writing for an
audience as skilled, yet diverse as the readers
of Circuit Cellar, it is always a challenge
to pick a hardware platform with which everyone
feels comfortable. This is particularly important
for this article because the magic is in the software.
We settled on the V25+
Flashlite from JK Microsystems as the supporting
hardware. This product was selected for several
reasons. First, a previous Considering the Details
column covered the basics of using this embedded
PC. [1] Second, the software development environment
is Borland C/C++ 4.52, which is easy to use and
widely accepted. Third, the JK Microsystems, Borland
C tools and hardware development kit costs less
than $200.
Once an embedded PC
was selected, we had to choose a graphics-based
LCD module. These devices are available from a large
number of manufacturers. Optrex and Densitron are
the first two places we usually look for LCD displays.
However, after a trip to Wescon last year, we discovered
an interesting new form factor for displays, the
Chip-On-Glass (COG) module.
COG modules do away
with the bulky metal bezel and PCB found in other
modules. The controller IC dice is mounted directly
to the LCD’s glass substrate. This makes the COG
devices much smaller than their older cousins. For
a couple of years, LCD manufacturers have offered
standard product in COG. Because the cost of the
COG modules is the same as the more traditional
displays, we settled on the Hantronix HDG12864F-1
128 × 64 pixel COG display.
Of all the COG manufacturers
that we spoke with, Hantronix was the most willing
to work with us even though we didn’t have a high-volume
application. Also, Hantronix publishes its product
specifications and application notes on the Internet.
Although Hantronix would not supply us with a sample
module, they do accept VISA transactions over the
phone.
After receiving the
display, the next obstacle was connecting it to
the JK Microsystems V25+ embedded PC. This task
consisted of two parts, electrical and mechanical.
The electrical interface
was trivial (see Figure 1). The Hantronix application
note "Interfacing to a Hantronix 128 × 64 Chip-On-Glass
LCD" was extremely useful. [2] The app-note
was written for a Parallax BASIC Stamp II, but the
interface described is generic enough to use with
any embedded controller.
|
|
| Figure 1—The
HDM12864F-1 is a breeze to hook up to a 7-bit
output port. |
The worst hardware problem
was making the mechanical connection to the 0.020˛
pitch flex strip that comes off the COG module.
The people at Future Electronics helped identify
and samples a cable-to-board connector (SFV20R-1-STE1
by FCI Berg) that accepted the fine-pitch flex cable.
FCI Berg makes a similar
part, the SFV20R-2-STE1, which is also of interest.
The difference between the two connectors is whether
the contacts enter the connector facing up or down.
Because we did not
spin a circuit board for this project, soldering
30-AWG wire-wrap wire to the fine-pitch FCI Berg
connector was a challenging four-hour adventure
under a 10× binocular microscope. After the wires
were attached to the flex-to-board connector, we
plugged the COG module into the connector and wire-wrapped
the display to the JK Microsystems embedded PC and
the requisite capacitors.
Then, we connected
a serial cable between the target system (the V25+
Flashlite) and the development platform (a desktop
PC), and hooked up 5 V to the target system.
NEXT
Circuit
Cellar provides up-to-date information for engineers.
Visit www.circuitcellar.com
for more information and additional articles.
For subscription information, call (860) 875-2199,
subscribe@circuitcellar.com
or subscribe
online. ©Circuit Cellar, the Magazine for Computer
Applications. Posted with permission.
|