Archive of the former Yahoo!Groups mailing list: ComputerVoltageSources

previous by date index next by date
previous in topic topic list next in topic

Subject: Re: LCD

From: "djbrow54" <davebr@...>
Date: 2006-03-09

It depends. This is where I started. I had a really nice serial
VFD display. I figured out how to use the S_OUT pin for an extra
output and interfaced this to the display. However, timing is the
issue. Since I used my hardware serial for MIDI, you have to use
software serial for any other pins. Software serial timing is
incompatible with interrupts so you can't reliably talk to the
display and use either the timer or MIDI interrupts. I do use both
MIDI and timer interrupts so this was an issue. One way to solve it
is to always disable interrupts prior to the display but since MIDI
is at 31250 and the displays typically are at 9600 you will loose
MIDI notes. Also, your code gets littered with enable and disable
statements.

A parallel interface is a waste of pins. These LCDs take 11 bits.
Plus the overhead is tremendous. Each line is non-contiguous with
the next. There is a 64 byte offset between the first characters of
each line and horizontally scrolling is a real pain if you want
the lines contiguous (e.g. line 2 starts at the end of line 1). As
such, I used a $3 microcontroller to minimize the number of lines
and manage the overhead of the display. I believe all of these
RS232 serial displays do the same. However, you still have the
timing issue with interrupts.

I ended up encoding my serial communications stream to the display
as a MIDI sysex command. Thus I could use the interrupt mechanism
to communicate with the display and not have any MIDI or timer
issues. That was the benefit of the microcontroller. And, once you
have it, you can use any of the $10 LCDs with a parallel or non-
RS232 serial interfaces. You could also use SPI but that requires
more pins. I'd rather save my pins for I/O and not the display.

Just what I found with my experimentation.

Dave


--- In ComputerVoltageSources@yahoogroups.com, Eric Brombaugh > None
of these options would require anything more than
> a power/data header on the main board.