Reply by October 28, 20052005-10-28
The key to understanding is:

The output stage auf a CMOS circuit is allways a switched current 
source. If you set a logical 1 to an output pin and short the pin to 
ground you may messure a current of som mA but no voltage.
If your load has a high impedancce like a MOFFET, you will see no 
current an a high level signal.

hth.

Hans
Reply by Sagar October 27, 20052005-10-27
jam4ar wrote:

> Hello,
> When driving an LED from a pin, he says the port is in "current source > mode", and when using the pin to produce a tone with a small speaker > connected to a n channel MOSFET, he says the output is in "Voltage > Mode" and that the speaker will turn on when it is at Logic High (+5V).
Though I am not working with 8051 forlast 2 years, I think it should be the way mentioned below. Its the way the device connected to 8051 will interact with it. I think there should be a Vcc to pin connection through LED and a current limiting resistor. Here the port pin acts as a current sink and becuase of the current, LED turns on. So if you set the port with 0, the LED will glow and vice versa. In case of MOSFET, it is basically driven by a voltage source.(I assume here you are clear with voltage and current source terminology) So whn you set the port high, it starts sourcing the current out.
> Could anyone clue me in about what he means by these different modes > and what might determine the mode? > > Thanks > > -Josh
Reply by October 27, 20052005-10-27
jam4ar wrote:
> I've still been searching and I can't find anything. Like you, I > suspect its an analysis of what is connected to it.. but I lack the > knowledge to really understand the difference enough to tell what is > going on. > > I don't think I explained the LED situation very well. the LED > connects from Vcc to the pin (with a resistor), when the pin is high > the LED is off.
Well, sinking actually, because we use the terms for the fictious + to - current (holes) instead of the real - to + current (electrons).
> I think the difference is in that in one mode the pin is sourcing the > current to drive the LED, in Voltage mode, perhaps what is important is > just the voltage not the amount of current.
Yes, more or less. The LED is lit by current, the MOSFET turned on by voltage (field effect transistor - electric field).
Reply by jam4ar October 26, 20052005-10-26
I've still been searching and I can't find anything. Like you, I
suspect its an analysis of what is connected to it.. but I lack the
knowledge to really understand the difference enough to tell what is
going on.

I don't think I explained the LED situation very well.  the LED
connects from Vcc to the pin (with a resistor), when the pin is high
the LED is off.

I think the difference is in that in one mode the pin is sourcing the
current to drive the LED, in Voltage mode, perhaps what is important is
just the voltage not the amount of current.

Thanks

-Josh

Reply by October 26, 20052005-10-26
jam4ar wrote:

> When driving an LED from a pin, he says the port is in "current source > mode", and when using the pin to produce a tone with a small speaker > connected to a n channel MOSFET, he says the output is in "Voltage > Mode" and that the speaker will turn on when it is at Logic High (+5V).
I don't remember enough about the 8051 to know if these are genuinely different modes for the chip, or if he's just analyzing them differently (suspect the latter - though I'm sure there are modern 8051 derivatives with programmable drive strength). Assuming it's a case of different analysis, what it really depends on is what he has it hooked up to. An LED is a diode, so more than a little bit above it's threshold voltage it's just going to look like a very small resistor. If you connected an LED across a decent 5v supply the current implied by that small resitance would be quite high - probably higher than the LED can handle for very long. In the case of hooking it up to the 8051 port though, the chip itself can only source so much current - in effect, the internal resistance of the 8051 is limiting the current. (I'd still be tempted to add a resistor though, or at least measure it and be sure the current isn't exceeding the data sheet limit for the 8051 or the LED - but in practice I'll often briefly probe logic signals with a bare LED). With the MOSFET you have the opposite situation. A MOSFET is an insulated gate switching device that is voltage sensitive. Due to the insulation, the resistance seen by the output pin is very high - megaohms (unless your gate oxide has been zapped by static discharge). Since the load resistance is high, the 8051 will supply an unloaded voltage, probably quite close to 5v assuming it's implement in CMOS technology. So it's more or less a voltage source. (BTW, CMOS logic is just using smaller versions of the same MOSFET devices in n- and p- varieties) Trying to remember, but I think one 8051 version does have a kind of "funky" mode of driving signals - like it drives them very hard briefly to overcome trace inductance & load capacitance and then backs off to a lower current hold mode?
Reply by jam4ar October 25, 20052005-10-25
Hello,

I'm reading "Microcontroller Projects in C for the 8051" by Dogan
Ibrahim and I have a question that I can't find the answer to in the
text nor anywhere else that I've searched.

When driving an LED from a pin, he says the port is in "current source
mode", and when using the pin to produce a tone with a small speaker
connected to a n channel MOSFET, he says the output is in "Voltage
Mode" and that the speaker will turn on when it is at Logic High (+5V).



Could anyone clue me in about what he means by these different modes
and what might determine the mode?

Thanks

-Josh