單片機89C52的I/O引腳驅動負載能力是非常有限的,比如P1~P3端口其引腳的帶動負載能力只有4個TTL門電路,每個最大的灌電流只有15毫安、對于P0口來說雖然它是雙向三態I/O口,最大允許灌電流才有26毫安,對需要控制一些大電壓(十幾伏)、大電流(幾十至上百毫安)的負載不能用直接接在單片機I/O口上,必須要用一些電壓型驅動器件(MOS管)或者電流型驅動器件(三極管)去驅動這些功率上比較大的元器件。

提高單片機驅動能力的方法

用專用集成驅芯片來提高單片機驅動能力的方法

在單片機中,我們常常可以看到單片機來控制多位數碼管,比如電子鐘所用到的數碼管多達十幾只,這些數碼管所需的電流值是十分可觀的,如果驅動器的能力差,顯示器的亮度就會降低,如果驅動器長期在超負荷狀態下運行就容易損壞,這時如何提高單片機的驅動能力就顯得十分重要。我們常見的可以用驅動芯片來驅動這些LED顯示器件。比如可以用位驅動器DM8836或者集成驅動芯片ULN2003A、ULN2803等。

提高單片機驅動能力的方法

如上圖是常用的小型步進電機驅動芯片ULN2003,它是高電壓大電流的驅動芯片,最大電流可以達到500毫安,電壓可以達到30伏,用這種芯片可以對高速大功率的器件進行驅動。

用場效應管或者三極管來提高單片機的驅動能力

在單片機控制驅動中我們經常可以看到用場效應管或者三極管來驅動單個的大功率器件,比如繼電器、蜂鳴器、揚聲器、小型直流電機等,有的用的是NPN型的三極管比如S8050、2N3904等,使用這種管子一般要在單片機I/O上加上拉電阻,不加上拉電阻的話可以用PNP的三極管,比如9012、8550、9015等,如果所驅動負載電流很大,就要用大功率的三極管 。下面我們以通用型的繼電器為例,假設5V繼電器的線圈所需的工作電流為80mA,那肯定不能通過單片機直接驅動,我們選用三極管就就能達到控制的目的。單片機的P口與三極管的基極連接,只需單片機端口高電平信號就可以對繼電器進行控制,它的驅動電流由VCC5伏提供,三極管提供回路,從而實現了單片機驅動大功率負載的要求,如下圖所示。

提高單片機驅動能力的方法

用專用芯片對點陣電路進行驅動來提高單片機的驅動能力

在驅動控制LED點陣電路中我們經常用到專用電路芯片 。 比如可以用74HC138芯片,它也被稱為3—8線譯碼器,它的基本作用就是將3位地址譯碼成8選1的低電平有效輸出端。因此它有3條地址線(A0、A1、A2)和8條輸出線(Y0~Y7),另有三條片選端(兩條為低電平有效,另一條為高電平有效)。有時也可以用74HC595芯片,它被稱為8位串入串出及并出移位寄存器。它由一個8位串行移位寄存器和一個帶3態并行輸出的8位D型鎖存器組成。該移位寄存器接受串行數據和提供串行輸出。移位寄存器還向8位鎖存器提供并行數據。移位寄存器和鎖存器具有單獨的時鐘輸入端。下面我們以138譯碼器為例舉出一個點陣驅動電路。

提高單片機驅動能力的方法

  • 漏保上有個小按鈕,有經驗的電工都會每月按一次,原來這個原因
  • 零線為什么會帶電?吃透這3點,不用請電工,自己就能查故障
  • 單開5孔不會接線怎么辦?老電工:無非就這2種接法,一看就會
  • 電工知識:家里沒地線,漏電電人不安全,能把地線接在墻里嗎?
  • 漏保明明斷電了,為什么還會帶電?火線零線這樣接,難怪會帶電