SX as LCD controller
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.
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
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
http://www.ortodoxism.ro/datasheets/philips/PCF8566_6.pdf
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
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.
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
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.
Yes, but was it Fun?
thanks,
Mark
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
mirk handwrote
admire nth work
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
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