如果是輸出低電平,那么經過上拉電阻的電流也會流入單片機端口,那么單片機的吸收電流比不接時不是反而更小
首先明確一下兩個名詞:拉電流、吸收電流。 拉電流:高電平時從單片機里流向負載的最大電流。暫且稱之為高電平驅動能力。 吸收電流:低電平時從負載流向單片機的最大電流。暫且稱之為低電平驅動能力。 單片機提供拉電流的大小主要取決于I/O口的晶體管導通電阻的大小和晶體所能承受的最大功率,這兩樣都是不變的,增加上拉電阻能增加拉電流(把電阻也看作單片機的一部分),也就是增加了驅動能力。驅動能力能增加多少取決于上拉電阻的大小和上拉電阻所接的電壓大小。但上拉電阻不但不能增加吸收電流,反而會減小灌電流,原因跟你寫的一致。不過單片機的拉電流要比吸收電流大的多,增加上拉電阻對吸收電流影響不是很大,除非電阻阻值非常小。 所以,準確的說法是:上拉電阻能增加高電平時的驅動能力,但會減小低電平時的驅動能力。 補充:"單片機提供拉電流的大小主要取決于I/O口的晶體管導通電阻的大小和晶體所能承受的最大功率"錯了吧,應該是“單片機提供吸收電流的大小主要取決于I/O口的晶體管導通電阻的大小和晶體所能承受的最大功率”
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
追問:你的回答與我的想法基本一致,但你也有點錯誤,單片機的拉電流是比吸收吸收電流是小的多的,我個人理解增加是拉電阻對吸收電流影響是比較大的,除非上拉電阻比較大,例如接上拉電阻1K時,低電平輸出時,單片機單從電阻里就接近吸收5ma電流,一般單片機吸收電流也才十幾ma左右
回答: 是這樣,但一般情況下高電平驅動無源負載的話,低電平時負載不產生吸收電流,比如高電平驅動LED,低電平時LED截止也就沒有吸收電流產生了,這種情況的話負載是不可能產生吸收電流的,低電平再怎么低也比0V高一點,LED負極接地,連反向電流也不會產生的,也就是說低電平時LED不需要單片機來提供驅動電流。有上拉電阻的話就只有從電阻流入單片機的吸收電流,這種情況下假設單片機最大吸收電流是15MA,上拉電阻能低到三百多歐,更何況內部晶體管還有導通電阻。
當然,如果驅動TTL之類的有源負載的話就不一樣了,低電平時TTL也會有吸收電流產生,CMOS還好一點,輸入阻抗高,基本可以無視其電流。看情況而定,像驅動TTL時上拉電阻取大點,電阻不要太小,夠用就行,哪怕接1K電阻也能增加約拉電流,高電平時驅動能力已經增加很多了。
|