王薇
摘要:該文以AT89C51單片機討論單片機IO引腳驅(qū)動能力,并以常見的繼電器為負載說明驅(qū)動方法。
關(guān)鍵詞:單片機;拉電流;灌電流;三極管;繼電器
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2014)09-2159-02
基于AT89C51芯片的單片機共有40組引腳。其中有32組IO引腳是控制中心起到傳遞系統(tǒng)信號的作用,因而可以說基于AT89C51芯片的單片機系統(tǒng)以IO引腳作為驅(qū)動能力是一個十分關(guān)鍵的問題。
1 基于IO引腳的驅(qū)動能力
單片機的IO引腳可以用系統(tǒng)來監(jiān)控程序的輸出電壓。然而,系統(tǒng)無法控制單片機系統(tǒng)的輸出電流,系統(tǒng)的輸出電流于一定程度上完全取決于引腳的外接元件。輸出電流的極限大小是多少?這就是常見的單片機IO引腳驅(qū)動能力問題。
如圖1所示,D1,D2 可以不經(jīng)其它驅(qū)動器件,直接由單片機的引腳控制發(fā)光顯示。P1.0輸出低電平時啟動D1發(fā)光,輸出電流由P1.0端口輸入;P1.1端口輸出高電平后啟動D2發(fā)光,然后輸出電流由P1.1端口輸出。但是,此時單片機系統(tǒng)還不具有良好的電流輸出能力,輸出電流不能滿足啟動D2發(fā)光的作用。因此,我們必需采取外接“上拉電阻”的方式來滿足啟動D2發(fā)光對電流的需求。
如圖1所示,不管是拉電電流的負載還是灌電電流負載都能啟動二極管發(fā)光。那么拉電電流負載和灌電電流負載在這一步驟中的區(qū)別在于那些方面,具體的電路設(shè)計中應(yīng)該如何進行選擇? AT89C51芯片手冊中提到,電流穩(wěn)態(tài)輸出,“灌電電流”的上限值為:
.
換句話說,每一個引腳元件在輸出低電平過程中外接電路向引腳灌入的電流上限值為10毫安,而每一組8位制端口(如P1、P2 和P3等端口)向引腳灌入的電流上限值為15毫安。P0端口的灌入電流能力強度要相對較好,向引腳灌入的電流上限值為26毫安。所有的四道端口向引腳灌入的電流上限值不超過71毫安。如果引腳端口輸出高電平,單片機系統(tǒng)的拉電電流能力則表現(xiàn)的極差,拉電電流的上限值不會超過1毫安,幾乎沒有輸出電流的能力。
由圖1電路可知,“拉電流”負載在單片機系統(tǒng)在運行狀態(tài)下耗電量大,因此在對電路進行設(shè)計時需采取灌電流負載措施。
2 提高單片機系統(tǒng)IO引腳驅(qū)動能力的對策
由于P0口沒有弱上拉,所以做地址線時不用上拉,但輸出“1”時就要加上拉電阻,不然輸出電平到不了高電平,P1~P3則不存在這個問題,每個輸出管腳都有弱上拉電阻(也就是電阻很大的上拉電阻),造成的結(jié)果是輸出高電平電流很小,為10-6量級,驅(qū)動不了LED、數(shù)碼管之類的負載。要驅(qū)動更大電流的負載,要么再外加一個三極管增強驅(qū)動,要么LED、數(shù)碼管用共陽極接法(也就是LED正極接VCC,負極接單片機的I/O;數(shù)碼管用共陽數(shù)碼管,COM口接VCC),另外也可使用集成芯片或?qū)S抿?qū)動元件芯片引腳非常密集,維修和檢查的難度不小,廢舊元件的更換也是個棘手的問題。三極管的耐壓性能和承受電流的能力也要好于集成芯片,尤其是在PCB上的布線更為便捷。這里主要介紹幾種使用三極管的負載驅(qū)動電路。
2.1通用驅(qū)動電路
以通用繼電器負載舉證說明驅(qū)動的方法。通用繼電器的線圈驅(qū)動電流不低于40毫安,單片機系統(tǒng)的IO 引腳無法承受大負荷驅(qū)動電流,因而需采用三極管以擴大輸出能力。大于5伏特電流荷載的三極管驅(qū)動電路(PNP 8550型),所示如圖2:
圖2中,如P3. 7在輸出低電平中,電阻R1可形成的基級電流值IB大約為2毫安,通過PNP 8550型繼電器進行放大,輸出電流LC完全可以保障驅(qū)動繼電器。一般地,此繼電電路的構(gòu)成可以包括驅(qū)動器、蜂鳴器、擴音器和LED顯示屏組成,也可作為小型直流電動機的驅(qū)動裝置。以上PNP 8550型驅(qū)動電路于大于5伏特的負載電路不再適用。例如,直接接入12伏特負荷,那么單片機系統(tǒng)的輸出電壓值也僅僅在0伏特至5伏特之間的變化,這樣一來三極管8550發(fā)射極12伏特的負載均為低電平,直接導(dǎo)致三極管8550不能立即被截止。因此,我們需要對此選擇用更為合適的三極管來應(yīng)對。如NPN 8050型三極管,單片機系統(tǒng)的輸出高電平可作為驅(qū)動力,其電路構(gòu)成如圖3所示。
圖3中電路完全可以工作,但上拉電阻R2也會帶來無謂的電流,單片機啟動然后完成復(fù)位操作,輸出高電平啟動繼電器的吸合或使得電機發(fā)動。在編程中,即使先將接入端初始化并指令輸出設(shè)置為0,也會在每次啟動系統(tǒng)運行階段出現(xiàn)瞬間的大電流沖擊的問題,更有甚者導(dǎo)致三極管直接燒壞。因此,設(shè)計中需注意到這個問題,盡可能去規(guī)避。
2.2 驅(qū)動電路優(yōu)化
以圖3所示的8050(NPN型)驅(qū)動電路為基礎(chǔ),通過加設(shè)PNP 8550型三極管的倒相,可實現(xiàn)單片機系統(tǒng)輸出低電平對負載的驅(qū)動。其電路構(gòu)成如圖4所示。
圖4中電路完全可以工作,需要說明的是,倒相所用PNP 8550型三極管亦可以“光耦”元件來代替,可以增強電路的電氣隔離效果。電路構(gòu)成如圖5所示。
圖5中4N25 型“光耦”經(jīng)實際監(jiān)測,如LED顯示屏中的電流不低于5毫安,輸出端口的光電管則可提供足量的基極電流LB給8050三極管。因此,圖5中電阻R3的取值范圍應(yīng)該為810k~1k。
3 總結(jié)
綜上所述,以上正文所述各個驅(qū)動電路的構(gòu)成,都將以擴大單片機系統(tǒng)輸出電流為目的。但是,很多有關(guān)IC輸出端口都會存在一些如擴充電流輸出性能等問題。該文所列電路均可通用。筆者所介紹的8050三極管和8550三極管均可輸出1500毫安電流,如需更大的輸出電流,僅需更換其他相應(yīng)型號的三極管即可。
參考文獻:
[1] 張毅剛,彭喜元.單片機原理與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[2] 謝自美.電子電路設(shè)計、實驗、測試[M].武漢:華中科技大學出版社,2000.
[3] 樓然苗.51系列單片機設(shè)計實例[M].北京:北京航空航天大學出版社,2003.