On Fri, Sep 12, 2003 at 07:19:28PM -0500, michael brown wrote: > Byron A Jeff wrote: > > On Fri, Sep 12, 2003 at 02:59:00PM -0500, Patrick Richards wrote: > >> This brings up the questions of how long an individual segment has > >> to be on, how quickly to refresh the display, and by how much you can > >> overpower each segment. With 4 displays of 7 segments each, that is > >> 4 * 7 = 28 LEDs to light in turn. > > > > Yes. > > Am I missing something here? Yup. > As I understand it, the OP wishes to > multiplex 4 7-segment displays. That was the original discussion. I then branched off into the concept of multiplexing each segment, so that only one segment of each display is on at a time. > The duty cycle for each display will be > 25% as up to 7 segments (number 8) should be illuminated simultaneously > not in sequence. That's traditioal display multiplexing. This particular discussion walked off that path a while ago. It was triggered by the fact that Patrick didn't seem to any display driver hardware for the display. I pointed that out saying he had one of a few options: transistor driver, IC driver (7445 for example sinks up to 80ma), or segment multiplexing, which can either drive each segment very hard (upwards of 50ma), or can not use any additional driver hardware. > Therefore I would deduce that he would wish to pulse > each display at 4 times the normal power (40mA) to maintain brightness. It's not a linear relationship. And if he were using only the I/O ports he cannot drive it more than 20ma or so. However that's better than the 3ma (20ma/7segments) he can get if he sinks with a PIC port pin. > > >> So, at best, each LED is on 1/28 of the time. This is neglecting the > >> time between turning off one segment and turning on the next. If you > >> have an LED rated at 10mA displayed 1/28 of the time, do you need 28 > >> times the power? Surely not. The LED couldn't handle it and we can > >> rely on persistence of vision to some degree. > > > > Correct. LED datasheets usually have a duty cycle to amp rating chart. > > 1/28 is about 3.5 percent duty cycle. > > > >> > >> As far as looping through the segments, I would prefer to use a > >> variable with one bit set low and then rotate the byte once per > >> segment instead of using a jump table. Either way would work, but I > >> prefer seeing the logic in the code. > > > > As you wish! ;-) > > I suppose that one could do it this way, but why? I've already talked about two issues above: eliminate high power drivers or drive the segments even harder if you use high power drivers. Others include maintaining equal segment brightness, lowering the individual LED duty cycle, and reducing component count. BAJ -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu