/////////////////////////////////////////
Led lighten's current: set P1^0=0; connect Ampere Device in series with P1^0 and led1.
Led is lightening.
Current=4.7mA
one pin sink current can be 4.7 mA.
a STC51 cannot offer a 100mA sink current in one pin. (100mA is too large for a single chip)
//////////////////////////////////////////
//////////////////////////////////////////
Motor's running current: the same connection in series like above.
5v 80~90mA
12v 160mA
mA is monotone increasing with voltage.
motor running needs 100mA class, nearly 10 times of pin sink can afford.
That means even we set a pin equal to 0 and regards it as GND (GND means no matter how large the current is, he can absorb).
But in real test, we find that this "GND" pin can not afford 100mA current flow in, and it doesn't work as GND.
The fact observed is the pin set to 0 has been pulled up to +5v by the outside circuit (voltage source, motor) and motor cannot run.
current measurement:
p1^7=0, make it as GND.
+5v Voltage Source ---------- Motor --------- Ampere Metre ---------- p1^7
Measurement: 13.8 mA
P1^7 = 5v (has been pulled up)
That means P1^7 becomes High-resistance when current increase more than 10 mA.
13.8mA is his largest sink current.
Resistance of High-resistance state = 362 Ohm
Another conclusion is that when motor is static, his resistance almost = 0.
---------------------------------------------------
---------------------------------------------------
Voltage Source ------ Motor ------- Ampere
current measurement: 100mA
(surprisingly enough, but motor obviously rotates slower. as slow as 4.0v bare input)