Issue
158 September 2003
The
XY-Plotter
Drive
High-Resolution LCDs For Less
Mad
Dash for Flash Cash Contest Winner
PROBLEMS
SOLVED
Strangely,
my firmware generated a serious problem: some of the
LCD’s columns were darker than others, and it was dependent
on the operating mode and input signals. It took me
several nights of thinking before I realized that this
was because of the slightly different CPU time spent
between columns. Because the LCD is dumb, its buffers
had stayed open longer on the columns, and they gave
a darker display.
As
always, when you can clearly define a problem, the solution
tends to be straightforward. For this particular problem,
I simply configured one of the on-board timers and waited
until precisely 65 µs had been spent on each column.
Problem solved.
IMPROVEMENTS
TO COME
The
fully operational XY-Plotter prototype demonstrates
that the concept actually works. The screen is refreshed
70 times per second and doesn’t flicker. The A/D management,
graph generation, and textual display are perfect in
every mode.
It
took me roughly 100 h to complete this project. I still
have a couple of bugs to correct but nothing too critical.
A few more nights of work, and the plotter will be embedded
in my new spectrum analyzer.
This
project clearly demonstrated the power of low-cost microcontrollers.
In addition, it proved that efficient debugging requires
a good simulator. I also learned that LCD backlight
high-voltage generators are harmful, but that’s another
story.
I
have a long list of future improvements, one of which
is PC-based configuration software to customize the
display for new applications (e.g., modification of
the textual information). That will be easy thanks to
the flash memory-based PIC I used.
Developing
this useful project was extremely fun. I hope reading
about it was fun too!