如果是驅(qū)動led,那么用1K左右的就行了。如果希望亮度大一些,電阻可減小,最小不要小于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增加到多少呢,主要看亮度情況,以亮度合適為準,一般來說超過3K以上時,亮度就很弱了,但是對于超高亮度的LED,有時候電阻為10K時覺得亮度還能夠用。我通常就用1k的。
對于驅(qū)動光耦合器,如果是高電位有效,即耦合器輸入端接端口和地之間,那么和LED的情況是一樣的;如果是低電位有效,即耦合器輸入端接端口和VCC之間,那么除了要串接一個1——4.7k之間的電阻以外,同時上拉電阻的阻值就可以用的特別大,用100k——500K之間的都行,當然用10K的也可以,但是考慮到省電問題,沒有必要用那么小的。
對于驅(qū)動晶體管,又分為PNP和NPN管兩種情況:對于NPN,毫無疑問NPN管是高電平有效的,因此上拉電阻的阻值用2K——20K之間的,具體的大小還要看晶體管的集電極接的是什么負載,對于LED類負載,由于發(fā)管電流很小,因此上拉電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大,因此上拉電阻的阻值最好不要大于4.7K,有時候甚至用2K的。對于PNP管,毫無疑問PNP管是低電平有效的,因此上拉電阻的阻值用100K以上的就行了,且管子的基極必須串接一個1——10K的電阻,阻值的大小要看管子集電極的負載是什么,對于LED類負載,由于發(fā)光電流很小,因此基極串接的電阻的阻值可以用20k的,但是對于管子的集電極為繼電器負載時,由于集電極電流大,因此基極電阻的阻值最好不要大于4.7K。
對于驅(qū)動TTL集成電路,上拉電阻的阻值要用1——10K之間的,有時候電阻太大的話是拉不起來的,因此用的阻值較小。但是對于CMOS集成電路,上拉電阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,實際上對于CMOS電路,上拉電阻的阻值用1M的也是可以的,但是要注意上拉電阻的阻值太大的時候,容易產(chǎn)生干擾,尤其是線路板的線條很長的時候,這種干擾更嚴重,這種情況下上拉電阻不宜過大,一般要小于100K,有時候甚至小于10K。
根據(jù)以上分析,上拉電阻的阻值的選取是有很多講究的,不能亂用,具體情況比較復雜,如果你是個萊鳥,那么你盡量用小一些的,這樣犧牲一些電源功耗。不過最好請教一下有關(guān)人員。
我也不是很懂.不過,我是這么想的,請老丐多指教!
假如P0口驅(qū)動的是一排(8個)發(fā)光二極管吧.
那么當二極管發(fā)光時,它兩端的電壓為0.7V(一般二極導通后的電壓為0.7V),工作電流10mA
而我們單片機的工作電壓一般為5V,那么它接的上拉電阻為:R=(5V-0.7V)/10mA=430歐.
所以我認為應(yīng)該為400歐左右.不知道對不對呀.
照樓上朋友的思路,我想應(yīng)該是(因發(fā)光二極管的電壓一般是1.8V左右,)200歐姆左右
發(fā)光二極管正常工作時二端電壓是在1。8V左右。
強調(diào):P口僅僅適合接共陽LED,不適合接共陰,如果一定要共陰,必須先用驅(qū)動電路驅(qū)動。
能用共陽就能用共陽
其實道理一樣的
當你共陽的時候電流其實也是從正電源流入P口的,
共陽接法
假設(shè)限流電阻用1K的話,那流入P口電流約是(VCC-2)/1K=3MA
共陰接法
上拉電阻也選用1K,P口高阻狀態(tài)時LED是亮的,這時候流過P口電流為零
流過LED電流和上面共陽接法一樣,也是3MA
當LED滅的時候,電流全部從P口流入,即3MA電流全部被P口吸收,LED不亮
既然共陽接法P口能吸入3MA電流,為什么共陰接法就不行呢!
其實我看過很多電路圖就是這樣接的。。。
樓主其實沒說清楚
比如驅(qū)動LED的時候,應(yīng)該分二種情況
比如用共陽接法和共陰接法,
共陽的時候LED正端接正電源,負端通過一個限流電阻接P口,這時不用接上拉電阻,只要這個限流電阻取合適就可以了
發(fā)光管亮的時候電流就是從電源正——LED——限流電阻——P口,P口為低電位
發(fā)光管滅的時候沒有電流流過,P口為高電位或高阻狀態(tài)
共陰接法,LED負端接地,正端直接P口,這時候要接上拉電阻,這個上拉電阻是提供LED發(fā)光用的,
發(fā)光管亮的時候電流是從電源正——上拉電阻——LED——地。這時上拉電阻也是限流用的。P口為高電位或高阻狀態(tài)
發(fā)光管暗的時候電流是從電源正——上拉電阻——P口,這時LED無電流流過,P口為低電位,限流電阻上流過電流全部從P口流入。
其他情況就不細分析了
要從單片機的輸出驅(qū)動能力開始講起。單片機輸出驅(qū)動分為高電平驅(qū)動和低電平驅(qū)動兩種方式,所謂高電平驅(qū)動,就是端口輸出高電平時的驅(qū)動能力,所謂低電平驅(qū)動,就是端口輸出低電平時的驅(qū)動能力,當單片機輸出高電平時,其驅(qū)動能力實際上是*端口的上拉電阻來驅(qū)動的,實際測試表明,51單片機的上拉電阻的阻值在330K左右,也就是說如果*高電平驅(qū)動,本質(zhì)上就是*330K的上拉電阻來提供電流的,當然該電流是非常小的,小的甚至連發(fā)光二極管也難以點亮,如果要保證LED正常發(fā)光,必須要外接一個1K左右的上拉電阻,如果是一個led還好,要是10個、20個led的話,就要接10個、20個1K的上拉電阻,接電阻的本身是可以的,問題是接了上拉電阻以后,每當端口變?yōu)榈碗娖?的時候,那么就有10個、20個上拉電阻被無用的導通,假設(shè)每個電阻的電流為5mA計算,20個電阻就是100mA,這將造成電源效率的嚴重下降,導致發(fā)熱,紋波增大,以至于造成單片機工作不穩(wěn),因此很少有采用高電平直接驅(qū)動led的,高電平驅(qū)動led實際上就是共陰。低電平驅(qū)動就不同了,端口為低電平0時,端口內(nèi)部的開關(guān)管導通,可以驅(qū)動高達30多毫安的驅(qū)動電流,可以直接驅(qū)動led等負載,當端口為低電平0時,盡管內(nèi)部的上拉電阻也是消耗電流的,但是由于內(nèi)部的上拉電阻很大,有330K,因此消耗電流極小,基本上不會影響電源效率,不會造成無用功的大量消耗,因此51單片機是不能用高電平直接驅(qū)動led的,只能用地電平直接驅(qū)動led,即只能用共陽數(shù)碼管,而不能直接用共陰數(shù)碼管。