三極管在數字電路里的開關特性,最常見的應用有 2個:一個是控制應用,一個是驅動應用。所謂的控制就是如圖3-7里邊介紹的,我們可以通過單片機控制三極管的基極來間接控制后邊的小燈的亮滅,用法大家基本熟悉了。還有一個控制就是進行不同電壓之間的轉換控制,比如我們的單片機是5V系統(tǒng),它現在要跟一個12V的系統(tǒng)對接,如果IO直接接12V電壓就會燒壞單片機,所以我們加一個三極管,三極管的工作電壓高于單片機的IO口電壓,用5V的IO口來控制12V的電路,如圖3-8所示。
圖3-8三極管實現電壓轉換
圖3-8中,當IO口輸出高電平5V時,三極管導通,OUT輸出低電平0V,當IO口輸出低電平時,三極管截止,OUT則由于上拉電阻R2的作用而輸出12V的高電平,這樣就實現了低電壓控制高電壓的工作原理。
所謂的驅動,主要是指電流輸出能力。我們再來看如圖3-9中兩個電路之間的對比。
圖3-9 LED小燈控制方式對比
圖3-9中上邊的LED燈,和我們第二課講過的LED燈是一樣的,當IO口是高電平時,小燈熄滅,當IO口是低電平時,小燈點亮。那么下邊的電路呢,按照這種推理,IO口是高電平的時候,應該有電流流過并且點亮小燈,但實際上卻并非這么簡單。
單片機主要是個控制器件,具備四兩撥千斤的特點。就如同杠桿必須有一個支點一樣,想要撐起整個地球必須有力量承受的支點。單片機的IO口可以輸出一個高電平,但是他的輸出電流卻很有限,普通IO口輸出高電平的時候,大概只有幾十到幾百uA的電流,達不到1mA,也就點不亮這個LED小燈或者是亮度很低,這個時候如果我們想用高電平點亮LED,就可以用上三極管來處理了,我們板上的這種三極管型號,可以通過500mA的電流,有的三極管通過的電流還更大一些,如圖3-10所示。
圖3-10三極管驅動LED小燈
圖3-10中,當IO口是高電平,三極管導通,因為三極管的電流放大作用,c極電流就可以達到mA以上了,就可以成功點亮LED小燈。
雖然我們用了IO口的低電平可以直接點亮LED,但是單片機的IO口作為低電平,輸入電流就可以很大嗎?這個我想大家都能猜出來,當然不可以。單片機的IO口電流承受能力,不同型號不完全一樣,就STC89C52來說,官方手冊的81頁有對電氣特性的介紹,整個單片機的工作電流,不要超過50mA,單個IO口總電流不要超過6mA。即使一些增強型51的IO口承受電流大一點,可以到25mA,但是還要受到總電流50mA的限制。那我們來看電路圖的8個LED小燈這部分電路,如圖3-11所示。
圖3-11 LED電路圖(一)
這里我們要學會看電路圖的一個知識點,電路圖右側所有的LED下側的線最終都連到一根黑色的粗線上去了,大家注意,這個地方不是實際的完全連到一起,而是一種總線的畫法,畫了這種線以后,表示這是個總線結構。而所有的名字一樣的節(jié)點是一一對應的連接到一起,其他名字不一樣的,是不連在一起的。比如左側的DB0和右側的最右邊的LED2小燈下邊的DB0是連在一起的,而和DB1等其他線不是連在一起的。
那么我們把圖3-11中現在需要講解的這部分單獨摘出來看,如圖3-12所示。
圖3-12 LED電路圖(二)
現在我們通過3-12的電路圖來計算一下,5V的電壓減去LED本身的壓降,減掉三極管e和c之間的壓降,限流電阻用的是330歐,那么每條支路的電流大概是8mA,那么8路LED如果全部同時點亮的話電流總和就是64mA。這樣如果直接接到單片機的IO口,那單片機肯定是承受不了的,即使短時間可以承受,長時間工作就會不穩(wěn)定,甚至導致單片機燒毀。
有的同學會提出來可以加大限流電阻的方式來降低這個電流。比如改到1K,那么電流不到3mA,8路總的電流就是20mA左右。首先,降低電流會導致LED小燈亮度變暗,小燈的亮度可能關系還不大,但因為我們同樣的電路接了數碼管,后邊我們要講數碼管還要動態(tài)顯示,如果數碼管亮度不夠的話,那視覺效果就會很差,所以降低電流的方法并不可取。其次,對于單片機來說,他主要是起到控制作用,電流輸入和輸出的能力相對較弱,P0的8個口總電流也有一定限制,所以如果接一兩個LED小燈觀察,可以勉強直接用單片機的IO口來接,但是接多個小燈,從實際工程的角度去考慮,就不推薦直接接IO口了。那么我們如果要用單片機控制多個LED小燈該怎么辦呢?
除了三極管之外,其實還有一些驅動IC,這些驅動IC可以作為單片機的緩沖器,僅僅是電流驅動緩沖,不起到任何邏輯控制的效果,比如我們板子上用的74HC245這個芯片,這個芯片在邏輯上起不到什么別的作用,就是當做電流緩沖器的,我們通過查看其數據手冊,74HC245穩(wěn)定工作在70mA電流是沒有問題的,比單片機的8個IO口大多了,所以我們可以把他接在小燈和IO口之間做緩沖,如圖3-13所示。
圖3-13 74HC245功能圖
從圖3-13我們來分析,其中VCC和GND就不用多說了,細心的同學會發(fā)現這里有個0.1uF的去耦電容哦。
74HC245是個雙向緩沖器,1引腳DIR是方向引腳,當這個引腳接高電平的時候,右側所有的B編號的電壓都等于左側A編號對應的電壓。比如A1是高電平,那么B1就是高電平,A2是低電平,B2就是低電平等等。如果DIR引腳接低電平,得到的效果是左側A編號的電壓都會等于右側B編號對應的電壓。因為我們這個地方控制端是左側接的是P0口,我們要求B等于A的狀態(tài),所以1腳我們直接接的5V電源,即高電平。圖3-13中還有一排電阻R10到R17是上拉電阻,這個電阻的用法我們在后邊介紹。
還有最后一個使能引腳19腳OE,叫做輸出使能,這個引腳上邊有一橫,表明是低電平有效,當接了低電平后,74HC245就會按照剛才上邊說的起到雙向緩沖器的作用,如果OE接了高電平,那么無論DIR怎么接,A和B的引腳是沒有關系的,也就是74HC245功能不能實現出來。
從下面的圖3-14可以看出來,單片機的P0口和74HC245的A端是直接接起來的。這個地方,有個別同學有個疑問,就是我們明明在電源VCC那地方加了一個三極管驅動了,為何還要再加245驅動芯片呢。這里大家要理解一個道理,電路上從正極經過器件到地,首先必須有電流才能正常工作,電路中任何一個位置斷開,都不會有電流,器件也就不會參與工作了。其次,和水流一個道理,從電源正極到負極的電流水管的粗細都要滿足要求,任何一個位置的管子過細,都會出現瓶頸效應,電流在整個通路中細管處會受到限制而降低,所以在電路通路的每個位置上,都要保證通道足夠暢通,這個74HC245的作用就是消除單片機IO這一環(huán)節(jié)的瓶頸。
圖3-14單片機與74HC245的連接
深圳適悅科技有限公司 網站:www.acsteel.cn 聯(lián)系人:張克昌 手機: 185-6577-5480 郵箱:teddyzhang@gii.com.tw 地址:深圳市南山區(qū)粵海街道科技園社區(qū)科慧路1號沛鴻公司201 | 臺灣世達股份有限公司 網站:www.gii.com.tw 聯(lián)系人:陳建維 手機: +886-918-211-817 郵箱:jefferychen@gii.com.tw 地址:臺北市南港區(qū)忠孝東路六段21號8樓 |
電話Tel:185-6577-5480 郵件Email:service@boxintron.com
地址:深圳市南山區(qū)粵海街道科技園社區(qū)科慧路1號沛鴻公司201小樣社區(qū)E51室
電腦版 | 手機版 技術支持:駿域網絡建設 粵ICP備2020079365號