Something just occurred to me as I was calculating the current-limiting=20 resistor and pull-up resistor values for this.... why do I need a (the us= ual)=20 current-limiting resistor for an open-collector output, when the current = in=20 the ON state (base is high, open collector o/p is off/floating) will come= =20 from the pull-up resistor. So this is the usual cmos o/p ckt... | / PIC O/P >-----'\/\/\,-------------|< Rb | \ I added this resistor f/the open collector o/p... Rp .--'\/\/\,---> V+ | =20 | | / PIC O/P >---'--'\/\/\,------------|< Rb | \ But this seems like a workable option to me... Rp .--'\/\/\,---> V+ | =20 | | / PIC O/P >---'---------------------|< | \ In each of these scenarios, the transistor collector is connected to the = 7-seg=20 common (display is CC) and the emitter is connected to ground. When the = pic=20 pin is low, the transistor base will be driven low, forcing it to stay of= f. =20 When the pic pin is high, it's output floats, so it gets pulled up by Rp.= Am=20 I missing anything here? Cheers, -Neil. On Tuesday 06 May 2003 21:19, Picdude scribbled: > Using a 16F872 to it's max i/o capacity, and down to using RA2, RA4, an= d > RA5 to drive the commons of three 7-seg led displays (via npn transisto= rs > w/base resistors, of course). The display is common cathode. But RA4 = is > open collector o/p and the other 2 are cmos. I'm thinking I can pull R= A4 > high with a resistor, then let the pic drive it low in code, but what i= f I > switched to pnp transistors, and used a common-anode display? Can I sa= ve > from using the base pull-up resistor? (I'd still leave the base > current-limiting resistor though). > > Cheers, > -Neil. -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu