It is a 4-MUX LCD. Requires all four Com lines to display characters using segments.
Configuration found here:
The documentation for MSP430F449STK2 is even worse :)
The Olimex LCD on this kit is 4-Mux type.
> In addition, I have looked at the documentation for your kit. The schematic shows that COM0 is not connected, but it actually is. Look at pin 36 on the chip in the schematic and you will see it is for COM0. They probably did this to avoid cluttering.
Thats right. Thanks. They had me confused because the schematic had
no connection on COM0, but the tables (called memory map???) for the
LCD had COM0 in it.
Can you send me the LCD display programs you wrote for your 449 kit?
I read the 'LCD Controller Operation' chapter in the TI user guide,
but couldn't make much sense. I have also downloaded the example
programs from TI's website and trying to make some sense out of them.
> but couldn't make much sense. I have also downloaded the example
> programs from TI's website and trying to make some sense out of them.
I hate to pull an Al here, but they really are simple ;) especially if
you're not going to design your own lcd. The key I think is that you don't
really need to understand the low-level driving method, try ignoring the
sections with example waveforms for different mux methods. If you skim or
skip it, the LCD portion of the manual becomes simple register writes.
I too was annoyed at first by how cursory the LCD peripheral is treated
throughout TI docs. But after I spent a week or two deciphering the system
and reading about LCD theorry elsewhere, I realized that (and I may take
some flak for saying this) unless you want to write your own driver for a
micro without an LCD peripheral, as far as I could tell taking the time to
really understand the low-level drive strategy was a waste of my time in
terms of the LCD subsystem working.
Getting the LCD subsystem to function with a demo board and demo code is
pretty much a no-brainer: all you do is write to memory and presto the
segment lights. Having said that, when designing a system around another
glass, or writing code from scratch, it is a bit confusing determining which
bits in which memory location will control which segments. Other than
static mode, which can spread a seven segment display numeral's segs bits
across several bytes of display memory, it's fairly efficient to code a
segment driver, ususally a seven segment numeral is packed into a single
byte, it's just a matter of figuring out (or copying) the mapping between
the segments and the bits. Even if you're designing your own board around a
different glass, I've found demo code for most every method out there
somewhere on the web, which can pretty easily be modified.
Long story short, just try copying the demo program's memory map and update
strategies into your own apps.
>strategies into your own apps.
Another thing to keep in mind when working with LCDs is the board layout.
Be nice to your board layout person. Depending on where you put things in
the LCD memory map, the board layout could be easy or difficult. I always
work with our board layout guy and give him areas of freedom so his job is
not such a pain. There are also certain things I will say are fixed to not
make my job a pain. Like segment patterns for digits within a byte of LCD
memory must be consistent for all digits, but the locations of digits in the
LCD memory can be moved around.
> Software sent. Check your e-mail.
Thanks guys and IL in particular. I am now able to display what I
want on the LCD. As someone pointed out earlier, I don't understand
every bit of it, but I can now work with it and maybe I will post a
few more questions to really understand it when I get around to it.
For now, displaying what I want is easy.
I intend to post some code here soon for the MSP430F413STK2 board and
on Sparkfun's forum.