Searching \ for '[EE] Simple Clocklike LCD Usage' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/lcds.htm?key=lcd
Search entire site for: 'Simple Clocklike LCD Usage'.

Exact match. Not showing close matches.
PICList Thread
'[EE] Simple Clocklike LCD Usage'
2004\09\24@162912 by Mike Hord

picon face
If I were to buy a module like this one from Mouser:
696-LCD-S3X1C50TRA,
how would I drive it?

It specifies 3-5 V A.C., static driving mode.  Could I
hook the two COM pins to complementary output
PWM pins on a PIC at, say, 50 Hz, then drive the data
pins high/low to on/off them, or something else?  Maybe
High-Z for segment off and 50 Hz for on?

Microchip's AN563 seems to be along these lines, but
I'm not sure that all applies to this module.

Or maybe it does.  Maybe the thing to do is shell out for
a few and burn them up figuring it out.  The "datasheet"
on Mouser's website is less than informative, at least, for
me.

I guess I'm spoiled by the 44780 driven displays, but for
this project, one of those would be overkill, plus the current
draw wouldn't be appropriate.

There isn't a similar module for such displays, is there?

Mike H.
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\09\24@173822 by Rick Thompson

picon face

> If I were to buy a module like this one from Mouser:
> 696-LCD-S3X1C50TRA,
> how would I drive it?

> There isn't a similar module for such displays, is there?
>

I'm using a Microchip AY0438 32-segment LCD driver for a very similar panel.
The AY0438 is a generic static-mode driver that takes serial data input, and
you can wire the segments however you prefer.  You'll only need 3 output
pins to operate it, and a 4th if you desire to provide switched power to the
display.  The datasheet has an excellent example of using a 16C71 to drive a
4 x 7 segment display, similar to yours.

I've found the AY0438 to perform fantastically.  Latchup time is fast enough
that I don't have to place any NOPs in the output routine.  I don't have to
worry about any contrast adjustments and the driving frequency is adjustable
up to about 150Hz, which is nice for flicker-free display.  Speed is
important in my application.

The only 2 drawbacks I have found is that the pins are not conveniently
arranged so that the traces directly fan out to the LCD pins.  This results
in a hefty ratsnest of traces between the 2 devices.  There's a workaround
but it involves 4 times the number of lookup tables. The second drawback is
the size of the chip.  It only comes in a 40-pin dip x .600, or in a 44
PLCC.  As of yet I've only found one manufacturer who makes a smaller size,
but its specs aren't nearly as desirable.

I'm happy with the AY0438 but would sure love to hear about a similar device
where you can wire the traces directly to the LCD without having to provide
so many vias.

Maxim supplies a similar device (ICM7211 IIRC) and takes BCD data from 4 pic
pins.  It works okay, but you won't be able to utilize some of the extra
characters on that particular LCD.

Rick


_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist


'[EE] Simple Clocklike LCD Usage'
2004\10\06@102743 by M. Adam Davis
flavicon
face
Driving a static LCD isn't complex, but does require a little more
effort than what you suggest.

Key points:
* Segments with a certian voltage potential across them are "on"
* DC potentials destroy the properties of the LC fluid.

Therefore they must be driven in an AC fashion.

The common pins flip occasionally - 20Hz-80Hz.  The segment drivers flip
in sync - they match the common to turn a segment off, and are opposite
to turn a segment on.  There are no other special devices needed - LCD
segments can be modelled as capacitors.

So the segment drivers would somehow have to run in sync with your
common.  Perhaps you can drive an interrupt every time the common flips
and then flip all the outputs of your segments.  Alternately you can use
external XOR gates - the PWM drives one side of XOR, and the PIC port
drives the other side.  When the port is low the output of the XOR
matches the common, and thus the segment is off.  When the output is
high the XOR inverts the common and the segment turns on.  Lots of extra
gates, though - one for each segment.

I would be tempted to use a timed interrupt and control the common and
segment lines directly.
Use some memory to hold the display data - this is where the program
writes to change the display
Each interrupt
1) Invert the common line
2) If common is 0 then copy display data to segment output, if 1 then
invert during copy

Since it's so slow I wouldn't tie up a PWM for it.

Also you don't have to connect both commons - they are essentially the
same wire.

Driving a multiplexed (non static) display is much harder and not
practical without a driver chip.

-Adam

Mike Hord wrote:

{Quote hidden}

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@111024 by Mike Hord

picon face
I see.  So basically, I can just hook up my 24 or 25 control lines,
plus the common, and then call an interrupt every, say, 7 ms,
during which time I update the state, and then every 14 ms,
complement the ports?

Nice.

Mike H.

On Wed, 06 Oct 2004 10:27:32 -0400, M. Adam Davis <spam_OUTadampicTakeThisOuTspamubasics.com> wrote:
{Quote hidden}

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\06@164901 by Jinx
face picon face
> >If I were to buy a module like this one from Mouser:
> >696-LCD-S3X1C50TRA,
> >how would I drive it?

I'd suggest the ICM7211. Use the segment drives for digits 2
3 and 4 as normal, and a small table to convert digit 1 data to
meaningful drive for digit 1 and those annunciator segments if
needed

http://home.clear.net.nz/pages/joecolquitt/0sp505.html

That's an old page, written around a prototype. These days I use
the VI402 display (Varitronix) and the 16F628A. Circuit is much
the same but swisher

As mentioned on the page, 4543 works fine, 1 per digit or assorted
segments. You need to add an oscillator for the backplane. I may
move back to the 4543 as 4 are cheaper than the 7211 (NZ$6.53+)

_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\08@135306 by M. Adam Davis

flavicon
face
Mike Hord wrote:

>I see.  So basically, I can just hook up my 24 or 25 control lines,
>plus the common, and then call an interrupt every, say, 7 ms,
>during which time I update the state, and then every 14 ms,
>complement the ports?
>
>Nice.
>
>Mike H.
>  
>
>  
>
The two interrupts seem to be able to conflict - you might never get a
valid display with those two tasks.  Also, with the LCD you are using,
IIRC, the common line probably needn't be run faster than 40Hz.  So:

Interrupt every 25mS
 Complement common line
 If common is high
   Copy display data to W, invert, send to output lines
 else
   Copy display data to output lines

It's essentially the same thing as setting common low, copying the data,
then 1/2 cycle later complementing everything, then start over agin once
the cycle completes which is what I suspect you were suggesting above.

The reality is that with your LCD you can even run it much less than
30Hz (could change it 10 times a second if you wanted to) since the
digits have a very slow attack and decay period.  You run it more
quickly to avoid beating effects with flourescent lights and such.

Good luck!

-Adam
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

2004\10\08@151323 by Mike Hord

picon face
> It's essentially the same thing as setting common low, copying the data,
> then 1/2 cycle later complementing everything, then start over agin once
> the cycle completes which is what I suspect you were suggesting above.

I kind of worded it poorly.  The 7/14 ms thing would have been the same
interrupt.  Maybe I should have said "on every other interrupt, the register
which tracks the active segments gets output in its inverted state".  

> The reality is that with your LCD you can even run it much less than
> 30Hz (could change it 10 times a second if you wanted to) since the
> digits have a very slow attack and decay period.  You run it more
> quickly to avoid beating effects with flourescent lights and such.
>
> Good luck!

Thx.  Should be fun!

Mike H.

> -Adam
_______________________________________________
http://www.piclist.com
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist

More... (looser matching)
- Last day of these posts
- In 2004 , 2005 only
- Today
- New search...