Searching \ for 'Driving 7segment displays' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/index.htm?key=driving+7segment
Search entire site for: 'Driving 7segment displays'.

Truncated match.
PICList Thread
'Driving 7segment displays'
1999\10\02@204553 by John De Villiers

flavicon
face
This might sound like a stupid question, but at what speed can i drive
7segment displays?? In my current analogue design i use a 4Hz clock to pulse
the displays, but using a pic this is a little difficult.

Will the 7segment display anything at all if i switch them at say once every
100 instuctions ( on a 10 Mhz clock )? I suppose it all depends on the duty
cycle.

Also, do i have to connect anything to the two clock lines in a 16c84 if im
using the internal clock ?

Thanx

 John

1999\10\03@001715 by Chris Eddy

flavicon
face
John;

First, I'm not sure what ou mean by a 4Hz clock.  Most digit multiplexing is
done over 30Hz.  This refers to the digit to digit scan rate.  You should
take care not to go too high, though, since changing digits takes some time,
and if you go too fast, a larger and larger portion of your time is spent
changing and not displaying.  The displays sure have no flicker left in
them, but the brightness will then fall off.  I like to set a byte for scan
rate in software and let timer0 run the scan.  Then I tinker with the scan
value to get the best quality scan.  Scientific, huh?

Chris Eddy
Pioneer Microsystems, Inc.


>This might sound like a stupid question, but at what speed can i drive
>7segment displays?? In my current analogue design i use a 4Hz clock to
pulse
>the displays, but using a pic this is a little difficult.
>
>Will the 7segment display anything at all if i switch them at say once
every
>100 instuctions ( on a 10 Mhz clock )? I suppose it all depends on the duty
>cycle.
>
>Also, do i have to connect anything to the two clock lines in a 16c84 if im
>using the internal clock ?
>
>Thanx
>
>  John

1999\10\03@004045 by apines

flavicon
face
The question isn't what rate CAN you scan them, it's what rate SHOULD you scan
them.  The rate of fusion for your eyes is in the range of 45 flashes per
second (any slower and you'll see flicker).  LED's have little (if any)
persistance, unlike a CRT, for instance.  So, you should scan the entire
display at least 45 (or so) times per second.  I usually shoot for around 60
complete scans per second to be safe.  LEDs react very quickly, so you can scan
a lot faster without affecting the display, but it doesn't buy anything unless
you're trying to do something fancy like control the brightness by pulse-width
modulating them, and it costs processor overhead (a greater percentage of your
total time is spent updating the display).

I suspect by the wording of the question that something may be missing,
though....


{Quote hidden}

--

Andrew Pines
spam_OUTapinesTakeThisOuTspamcosmodog.com
http://www.cosmodog.com

1999\10\03@012057 by Wagner Lipnharski

picon face
Ok, just to make sure you know that Toshiba produce a nice and low cost
chip to control 4 x 7seg displays, they do decode, multiplex, driver
scan with brightness control in 16 levels, serial interface and more.
Forget about scan rates and software overhead. :) The problem is;
sometimes you just don't have more processor time to do it, and even so,
it will involve transistors or some other driver chips... sometimes
expensive than this Toshiba solution.

For common anode:
http://www.marktechopto.com/tb62709f.htm
http://www.marktechopto.com/tb62709n.htm

They also produce 4 digit x 7 seg in a single package with 12 pins (6+6,
100mil x 600 mil spaced) code MTN 4456R-11A, so save you some pcb work,
perfect for the above chips.
http://www.marktechopto.com/fourdigit.htm

Marktechopto people are very nice and they deserve this free ad.  They
also have several other optoelectronics products, including drivers for
5x7 dot char displays, and the displays.

If you know some other manufacturer similar chip, email me or post here,
I think more people are interested.

Wagner.

1999\10\03@013342 by Robert A. LaBudde
flavicon
face
At 12:15 AM 10/3/99 -0400, Chris Eddy wrote:
>them, but the brightness will then fall off.  I like to set a byte for scan
>rate in software and let timer0 run the scan.  Then I tinker with the scan
>value to get the best quality scan.  Scientific, huh?

The essence of science is experimentation, so the answer to your rhetorical
question is 'Yes!'.

================================================================
Robert A. LaBudde, PhD, PAS, Dpl. ACAFS  e-mail: .....ralKILLspamspam@spam@lcfltd.com
Least Cost Formulations, Ltd.                   URL: http://lcfltd.com/
824 Timberlake Drive                            Tel: 757-467-0954
Virginia Beach, VA 23464-3239                   Fax: 757-467-2947

"Vere scire est per causae scire"
================================================================

1999\10\03@053238 by Robin Abbott

flavicon
face
As stated by others a good scan rate is greater than 50Hz, therefore you
should switch digit on a 4 digit display once every 5mS, Normally with a
4MHz clock I set TMR0 on an internal prescalar of divide by 16 and use the
overflow interrupt to switch digit.

The 16c84 does not have an internal oscillator - it always needs external
components, those PIC's which do have an internal oscillator do not need a
connection to the external pins - often these pins are dual purpose and are
I/O ports when not used for the oscillator.

Robin Abbott - robin.abbottspamKILLspamdial.pipex.com

**************************************************************************
*
* Forest Electronic Developments
* http://dspace.dial.pipex.com/robin.abbott/FED
*
**************************************************************************

{Original Message removed}

1999\10\03@060823 by John De Villiers

flavicon
face
> The 16c84 does not have an internal oscillator - it always needs external
> components, those PIC's which do have an internal oscillator do not need a
> connection to the external pins - often these pins are dual
> purpose and are
> I/O ports when not used for the oscillator.

Oops, missed that bit.  What crystal and cap values should i use then to get
a nice stable 10Mhz clock; or should i use an RC circuit instead? I need it
to be pretty accurate though.

My knowledge on PICs is still very much in its infancy, but im learning. My
electronics is even more rudimentary, but i know what i want and i can learn
how to do it.

And learning how to code in assembler again makes me sleepy :-)

Basically what im trying to do it read 2 frequencies and display the values.
One frequency is the pulses from one of the coils on a motorbike. The other
is for it's speedo. The problem with the revcounter one is that i have to
multiply the freq with a constant value in order to still display the
correct value. Should i do this in assembler or with a PLL?

Thats all for now.

John

1999\10\03@062020 by David J Binnington

flavicon
face
Wagner wrote:

> If you know some other manufacturer similar chip, email me or post here,
> I think more people are interested.

The MAXIM MAX7219 works very well and only needs one resistor to select the
maximum segment drive current.  Drives any combination of up to 8 digits or
discrete LED matrices.  Requires 3 I/O - clock, serial data & chip select
but the clock and chip select can be multiplexed with other I/O. Brightness,
number of digits, decoding etc. etc. are all under digital control.  Serial
register also has an output to allow devices to be chained.

Dave

1999\10\03@062855 by John De Villiers

flavicon
face
Do you know a www addy for a datasheet.   http://www.maxim.com = some
pharmaceutical company.

{Quote hidden}

1999\10\03@063305 by John De Villiers

flavicon
face
fount it at http://209.1.238.250/arpdf/1339.pdf
> -----Original Message-----
> From: pic microcontroller discussion list
> [PICLISTspamspam_OUTMITVMA.MIT.EDU]On Behalf Of David J Binnington
> Sent: 03 October 1999 12:20
> To: @spam@PICLISTKILLspamspamMITVMA.MIT.EDU
> Subject: Re: Driving 7segment displays
>
>
> Wagner wrote:
>
> > If you know some other manufacturer similar chip, email me or post here,
> > I think more people are interested.
>
> The MAXIM MAX7219 works very well and only needs one resistor to
> select the
> maximum segment drive current.  Drives any combination of up to 8

1999\10\03@063725 by David J Binnington

flavicon
face
John De Villiers wrote:

> Do you know a www addy for a datasheet.   http://www.maxim.com = some
> pharmaceutical company.
>

Try

http://www.maxim-ic.com/

Cheers

Dave

1999\10\03@085420 by paulb

flavicon
face
John De Villiers wrote:

> One frequency is the pulses from one of the coils on a motorbike.  The
> other is for it's speedo.  The problem with the revcounter one is that
> I have to multiply the freq with a constant value in order to still
> display the correct value.  Should I do this in assembler or with a
> PLL?

 What's the PLL got to do with it, and why's it an alternative to
assembler?  Do you mean a HLL?

 I'm applying traction to your femur ;-)  Actually, I think I know how
you are muddled.  If you *were* to use a PLL, you have to code the PLL
in assembler (or if it suits you, "C").  It goes sort of like this:

 At a given rate (determined by your timing loops) you add a phase
increment to a register which is your phase accumulator.  Every time
you receive a timing pulse, you look at the phase accumulator and see
how close it is to the "zero" point.  The error is scaled, and added to/
subtracted from the phase increment.

 This can be made to work as long as your internal "flywheel" (PLL)
responds faster than the *real* one.  The phase increment is scaled
closely (binary factor) to the actual RPM value.  There is some risk of
locking to a (sub-)harmonic with this phase detection algorithm,
perhaps you should use the "digital" algorithm from the 4046 chip
instead...

 Interesting concept really, you do the measurement "backwards" using
successive approximation of your presumed frequency to your (sub-
multiple) real one.
--
 Cheers,
       Paul B.

1999\10\03@105358 by Steve Kelley

picon face
John . . . .
anything from static operation , up to micro-seconds is possible for the LED
drive.  You're right , the question is * what is your duty cycle going to be * and
how many * digits * are you going to drive ?   The 4 hz. pulse you are currently
using can easily be reproduced by creating a  * time base *  and using the
interrupt ( tmr0 ) to enter an * incrementing * routine.  The bit count ( 2,4,8,16,etc)
can be used to select the * multiplier * of the * time base * and hense the
timer period.

Don't forget that the PIC is capable of * D.C. * operation up to the upper frequency
limit.  So , if you find that selecting a lower clock frequency would work out better,
then go for it .  There are numerous application notes on the PIC website that give
good examples of multiplexing several LED digits and most are written with a clock
speed of 4 mhz. in operation.

Personally , I like to use a 5 millisecond , TMR0 interrupt loop , then during the
service routine , update all of the digits data , then select the digit * drive * , for
the LED which is next in the multiplexing routine.  So , this produces 5 milliseconds
of * on * time , per digit and is repeated each  20 milliseconds.  This will produce a
* flicker-free * update to the LED digits and would still allow you to use a  *servo *
to blink the display if desired.  Use PORTB to drive all of the seven segments , plus
the decimal point ( if used ) , in parallel .  Use PORTA to drive the LED digits , either
directly ( if below 25 mA , common cathode ) or I recommend  the use of drive
transistors ( 2n2222  or equiv. ) placed in series with the common cathode of each
LED digit and ground.  Using the transistors ( instead of direct drive ) will keep the
LED digits off , when PORTA is low and allow for a higher  drive current , per digit.
Don't forget the current limiting resistors , in series with each LED  * segment *  and
PORTB.  Remember , you are multiplexing the eight segments and need to specify
the current limiting resistor for a single segment .  Also , the resistor will need to be
reduced in value , due to multiplexing , to achieve the same LED illumination that you
are calculating using a static formula ( I=e/r ).   The individual digit duty cycle is 25%.

With the above timing , expect a 50 hz. refresh rate  from the four LED's . . . . .
If you dig through the Microchip applications , on the website , you'll find a few
that are using the 16C7x  as an example for the multiplexing . . . . . if you have
any trouble getting these to work . . . . then email me * off-line * and I'll give you
some working examples.

About the internal clock . . . . . . I'm not sure what you are referencing to , but you will
need to provide either an RC , Xtal , resonator or * external - oscillator * to drive
the chips clock.  You then can divide this frequency by four to obtain the frequency
of the * internal clock * . . . . . which is unaccessible by you , but determines the
time required to execute instructions.  Some require one , some require two.

Oh . . . . almost forgot . . . . no such thing as a stupid question , get as many  views
as you can and pick the one's that are reasonable to you.  Although I'm not one of
them . . . .you'll find some very talented PIC people on the list , who really know
their stuff !

Regards . . . .
                           Steve Kelley

{Original Message removed}

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