1. 程式人生 > >單片機驅動為什麽要設置為低電平有效?

單片機驅動為什麽要設置為低電平有效?

電源 高達 電子 它的 做到 led 耗電 必須 負載

問題:單片機的外圍電路設計及程序編寫大多是以低電平有效來驅動電路的?
回答:這是因為單片機的低電平時的灌電流一般比高電平時的拉電流要大。如一般的51 系列單片機的I/O 口可以輸出4mA 的拉電流或20mA 的灌電流;而其他也有一些芯片,如PIC單片機有一些非常實用的通用特性:I/O口灌電流/拉電流都很大——25MA/25MA。

  總結:用低電平做驅動,灌電流大,驅動能力強。

問題:一些芯片的管腳是低電平有效,為什麽要在低電平有效的管腳上加個上拉電阻?這樣不就成高電平了嗎?
回答:在低電平有效的管腳上加個上拉電阻是為了在非正常狀態時使這個管腳的輸入處於無效狀態,可以抗幹擾。這是因為要求做到通用性要大.還要適合各種電子元件的電壓問題.

問題:大家知道單片機的接口本身有一定的驅動能力,但它的驅動能力什麽時候可以用什麽時候需要另加器件那?
回答:驅動LED發光管的時候,應該分共陽接法和共陰接法這兩種,共陽的時候LED正端接正電源,負端通過一個限流電阻接P口,這時不用接上拉電阻,只要這個限流電阻取合適就可以了發光管亮的時候電流就是從電源正——LED——限流電阻——P口,P口為低電位。發光管滅的時候沒有電流流過,P口為高電位或高阻狀態。共陰接法,LED負端接地,正端直接P口,這時候要接上拉電阻,這個上拉電阻是提供LED發光用的,發光管亮的時候電流是從電源正——上拉電阻 —— LED——地。這時上拉電阻也是限流用的,P口為高電位或高阻狀態。發光管暗的時候電流是從電源正——上拉電阻——P口,這時LED無電流流過,P口為低電位,限流電阻上流過電流全部從P口流入。要從單片機的輸出驅動能力開始講起。

  單片機輸出驅動分為高電平驅動和低電平驅動兩種方式,所謂高電平驅動,就是端口輸出高電平時的驅動能力,所謂低電平驅動,就是端口輸出低電平時的驅動能力,當單片機輸出高電平時,其驅動能力實際上是*端口的上拉電阻來驅動的,實際測試表明,51單片機的上拉電阻的阻值在330K左右,也就是說如果*高電平驅動,本質上就是*330K的上拉電阻來提供電流的,當然該電流是非常小的,小的甚至連發光二極管也難以點亮,如果要保證LED發光2極管正常發光,必須要外接一個1K左右的上拉電阻,如果是一個led還好,要是10個、20個led的話,就要接10個、20個1K的上拉電阻,接電阻的本身是可以的,問題是接了上拉電阻以後,每當端口變為低電平0的時候,那麽就有10個、20個上拉電阻被無用的導通,假設每個電阻的電流為5mA計算,20個電阻就是 100mA,這將造成電源效率的嚴重下降,導致發熱,紋波增大,以至於造成單片機工作不穩,因此很少有采用高電平直接驅動led的,高電平驅動led實際上就是共陰。低電平驅動就不同了,端口為低電平0時,端口內部的開關管導通,可以驅動高達30多毫安的驅動電流,可以直接驅動led等負載,當端口為低電平0時,盡管內部的上拉電阻也是消耗電流的,但是由於內部的上拉電阻很大,有330K,因此消耗電流極小,基本上不會影響電源效率,不會造成無用功的大量消耗,因此51單片機是不能用高電平直接驅動led發光管的,只能用地電平直接驅動led,即只能用共陽數碼管,而不能直接用共陰數碼管。

單片機驅動為什麽要設置為低電平有效?