Shop OBEX P1 Docs P2 Docs Learn Events
SX as LCD controller — Parallax Forums

SX as LCD controller

CableGuy67CableGuy67 Posts: 38
edited 2008-01-06 17:34 in General Discussion
As I work on my pet project (a RF attenuation calculator/designer) I keep trying to find ways to make it as cost effective as possible. In my searches I was handed a number of 14-segment LCD modules, P/N VIM-828-DP and VIM-878-DP. I think my brother's exact words were, "If you want these stupid things just get them out of my sight." [noparse]:)[/noparse]

Datasheet http://www.varitronix.com/Product/LCD/VIM-828-DP(R0).pdf
Datasheet http://www.varitronix.com/Product/LCD/VIM-878-DP(R0).pdf

So, without any understanding of how LCDs worked I slapped together a circuit using an SX28. I wired the 4 commons to RA and the 4 lines for the first character to RB 0...3 thinking, I'll just make sure this works first. I can get to the remaining 28 pins on the LCD once I can get what I want on 1.

DEVICE SX28, OSC4MHZ, TURBO, STACKX, OPTIONX
FREQ 4_000_000
ID "RFFR0002"

ClearAll SUB
SetAll SUB

PROGRAM Start

Start:
  TRIS_A = %0000_0000
  TRIS_B = %0000_0000

Main:

  DO
    GOSUB ClearAll
    PAUSE 10
    GOSUB SetAll
    PAUSE 10
  LOOP

ClearAll:
  RA = %0000
  RB = %0000
  RETURN

SetAll:
  RB = %1111
  RETURN



So far so good. Or so I think. I have all the individual segments lit just like that. But.... as soon as I try to effect the RA port I start getting strange results. That is, all of the unconnected segments are lit due to the changes on their commons. Not what I had in mind. So I did a little more searching and found that I need to "talk" to my LCD with a different language. This is where I ran into a wall. I'm reasonably sure that I will need to set up my pins to pulse (I'm thinking PULSOUT or PWM) the LCD in a way it can understand. Looking at datasheets for LCD drivers at Maxim started the lights flickering but the bulb isn't quite on yet. However, it did make me realize that even if I need to use 2 SX28s to drive the entire 8 chars and can build the character generator on an SX I will be ahead of the game $wise. Maybe one SX48 might be more along the right lines.

If I was able to define enough (about 30) custom characters with a regular LCD I wouldn't even be having this problem. But it seems most have the regular characters built in and just a few (8 with the 4 by 20 from Parallax) custom chars. It wouldn't work for my purpose.

If anyone can help me along my way even to point out some documentation that I can study I would be most grateful. I'm not looking for a complete solution as this is a learning hobby for me but just a good shove in the right direction. In return, I will document my work and resubmit it as a complete project to the community. This is a great place for that kind of thing and have learned much just from reading through old postings. Maybe I'll luck out and someone will find a worked thread here that can get me going. [noparse];)[/noparse]

Thanks for any consideration,
Mark

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
mirk handwrote
admire nth work

Comments

  • JonnyMacJonnyMac Posts: 9,218
    edited 2008-01-05 17:35
    Those kinds of LCDs require special drivers; you can't treat them like multiplexed LEDs. One driver you might consider, an I2C device, is the Phillips PCF8566; ic can driver four backplanes and 24 segments. You can control it with the SX using I2C.

    http://www.ortodoxism.ro/datasheets/philips/PCF8566_6.pdf
  • BeanBean Posts: 8,129
    edited 2008-01-05 18:02
    Here is a link to the best document I have found that describes how to control LCDs.
    http://www.jimfranklin.info/microchipdatasheets/00658a.pdf

    I have done some LCD control with the SX28, but it's not easy.

    Bean.
    ·


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com



    Post Edited (Bean (Hitt Consulting)) : 1/5/2008 6:34:36 PM GMT
  • CableGuy67CableGuy67 Posts: 38
    edited 2008-01-05 20:16
    JonnyMac said...
    Those kinds of LCDs require special drivers; you can't treat them like multiplexed LEDs. One driver you might consider, an I2C device, is the Phillips PCF8566; ic can driver four backplanes and 24 segments. You can control it with the SX using I2C.

    http://www.ortodoxism.ro/datasheets/philips/PCF8566_6.pdf

    Thanks JonnyMac. I had actually been looking at the PCF21xxC family docs this morning. It's good to know I was closing in on the target. eyes.gif

    I have a look and see what enlightenment comes from there. http://www.nxp.com/acrobat_download/datasheets/PCF8566_6.pdf

    Mark

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    mirk handwrote
    admire nth work

    Post Edited (CableGuy67) : 1/6/2008 12:04:03 PM GMT
  • CableGuy67CableGuy67 Posts: 38
    edited 2008-01-05 20:26
    Bean (Hitt Consulting) said...
    Here is a link to the best document I have found that describes how to control LCDs.
    http://www.jimfranklin.info/microchipdatasheets/00658a.pdf

    Thanks Bean! I do believe that was the document I was questing for. Taking a quick scan through the first half seems to back that up. I really appreciate both you guys sharing the info. It reminds me of a thread I saw a few days (week) back about why people stick with the SX. This is why.
    Bean (Hitt Consulting) said...
    I have done some LCD control with the SX28, but it's not easy.
    Yes, but was it Fun? idea.gif

    thanks,
    Mark

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    mirk handwrote
    admire nth work
  • CableGuy67CableGuy67 Posts: 38
    edited 2008-01-06 11:52
    JonnyMac said...
    Those kinds of LCDs require special drivers; you can't treat them like multiplexed LEDs. One driver you might consider, an I2C device, is the Phillips PCF8566; ic can driver four backplanes and 24 segments. You can control it with the SX using I2C.

    http://www.ortodoxism.ro/datasheets/philips/PCF8566_6.pdf

    Just a quick follow up for now. You put me on the right track to find the part that would do what I want JonnyMac...

    PCF8562

    That one will do 4 backplanes and 32 segments, exactly what I have on the LCD. Page 13 is exactly the info I was looking for.

    Mark

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    mirk handwrote
    admire nth work

    Post Edited (CableGuy67) : 1/6/2008 12:03:13 PM GMT
  • CableGuy67CableGuy67 Posts: 38
    edited 2008-01-06 17:34
    While I'm sure I will poke at my original intentions, finding the proper LCD drive with JonnyMac's help proves that it is cheaper and easier to just located the proper item. [noparse]:)[/noparse]

    From DigiKey the 32 segment 4MUX driver is only $1.29 per and the 24-seg dip package is $2.24.

    Oh well, I did learn a lot about how things work behind the scenes with LCDs. There are worse ways to burn up time...

    Mark

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    mirk handwrote
    admire nth work
Sign In or Register to comment.