【導(dǎo)讀】三極管在數(shù)字電路里的開關(guān)特性,最常見的應(yīng)用有 2 個:一個是控制應(yīng)用,一個是驅(qū)動應(yīng)用。所謂的控制就是,我們可以通過單片機(jī)控制三極管的基極來間接控制后邊的小燈的亮滅,用法大家基本熟悉了。
三極管在數(shù)字電路里的開關(guān)特性,最常見的應(yīng)用有 2 個:一個是控制應(yīng)用,一個是驅(qū)動應(yīng)用。所謂的控制就是,我們可以通過單片機(jī)控制三極管的基極來間接控制后邊的小燈的亮滅,用法大家基本熟悉了。還有一個控制就是進(jìn)行不同電壓之間的轉(zhuǎn)換控制,比如我們的單片機(jī)是 5V 系統(tǒng),它現(xiàn)在要跟一個 12V 的系統(tǒng)對接,如果 IO 直接接 12V電壓就會燒壞單片機(jī),所以我們加一個三極管,三極管的工作電壓高于單片機(jī)的 IO 口電壓,用 5V 的 IO 口來控制 12V 的電路,如圖 1 所示。
圖 1 三極管實現(xiàn)電壓轉(zhuǎn)換
圖 1 中,當(dāng) IO 口輸出高電平 5V 時,三極管導(dǎo)通,OUT 輸出低電平 0V,當(dāng) IO 口輸出低電平時,三極管截止,OUT 則由于上拉電阻 R2 的作用而輸出 12V 的高電平,這樣就實現(xiàn)了低電壓控制高電壓的工作原理。
所謂的驅(qū)動,主要是指電流輸出能力。我們再來看如圖 2 中兩個電路之間的對比。
圖 2 LED 小燈控制方式對比
圖 2 中上邊的 LED 燈,和我們第二課講過的 LED 燈是一樣的,當(dāng) IO 口是高電平時,小燈熄滅,當(dāng) IO 口是低電平時,小燈點亮。那么下邊的電路呢,按照這種推理,IO 口是高電平的時候,應(yīng)該有電流流過并且點亮小燈,但實際上卻并非這么簡單。
單片機(jī)主要是個控制器件,具備四兩撥千斤的特點。就如同杠桿必須有一個支點一樣,想要撐起整個地球必須有力量承受的支點。單片機(jī)的 IO 口可以輸出一個高電平,但是他的輸出電流卻很有限,普通 IO 口輸出高電平的時候,大概只有幾十到幾百 uA 的電流,達(dá)不到1mA,也就點不亮這個 LED 小燈或者是亮度很低,這個時候如果我們想用高電平點亮 LED,就可以用上三極管來處理了,我們板上的這種三極管型號,可以通過 500mA 的電流,有的三極管通過的電流還更大一些,如圖 3 所示。
圖 3 三極管驅(qū)動 LED 小燈
圖 3 中,當(dāng) IO 口是高電平,三極管導(dǎo)通,因為三極管的電流放大作用,c 極電流就可以達(dá)到 mA 以上了,就可以成功點亮 LED 小燈。
雖然我們用了 IO 口的低電平可以直接點亮 LED,但是單片機(jī)的 IO 口作為低電平,輸入電流就可以很大嗎?這個我想大家都能猜出來,當(dāng)然不可以。單片機(jī)的 IO 口電流承受能力,不同型號不完全一樣,就 STC89C52 來說,官方手冊的 81 頁有對電氣特性的介紹,整個單片機(jī)的工作電流,不要超過 50mA,單個 IO 口總電流不要超過 6mA。即使一些增強(qiáng)型 51 的IO 口承受電流大一點,可以到 25mA,但是還要受到總電流 50mA 的限制。那我們來看電路圖的 8 個 LED 小燈這部分電路,如圖 4 所示。
圖 4 LED 電路圖(一)
這里我們要學(xué)會看電路圖的一個知識點,電路圖右側(cè)所有的 LED 下側(cè)的線最終都連到一根黑色的粗線上去了,大家注意,這個地方不是實際的完全連到一起,而是一種總線的畫法,畫了這種線以后,表示這是個總線結(jié)構(gòu)。而所有的名字一樣的節(jié)點是一一對應(yīng)的連接到一起,其他名字不一樣的,是不連在一起的。比如左側(cè)的 DB0 和右側(cè)的最右邊的 LED2 小燈下邊的DB0 是連在一起的,而和 DB1 等其他線不是連在一起的。
那么我們把圖 4 中現(xiàn)在需要講解的這部分單獨摘出來看,如圖 5 所示。
圖 5 LED 電路圖(二)
現(xiàn)在我們通過圖 5 的電路圖來計算一下,5V 的電壓減去 LED 本身的壓降,減掉三極管e 和 c 之間的壓降,限流電阻用的是 330 歐,那么每條支路的電流大概是 8mA,那么 8 路 LED如果全部同時點亮的話電流總和就是 64mA。這樣如果直接接到單片機(jī)的 IO 口,那單片機(jī)肯定是承受不了的,即使短時間可以承受,長時間工作就會不穩(wěn)定,甚至導(dǎo)致單片機(jī)燒毀。
有的同學(xué)會提出來可以加大限流電阻的方式來降低這個電流。比如改到 1K,那么電流不到 3mA,8 路總的電流就是 20mA 左右。首先,降低電流會導(dǎo)致 LED 小燈亮度變暗,小燈的亮度可能關(guān)系還不大,但因為我們同樣的電路接了數(shù)碼管,后邊我們要講數(shù)碼管還要動態(tài)顯示,如果數(shù)碼管亮度不夠的話,那視覺效果就會很差,所以降低電流的方法并不可取。其次,對于單片機(jī)來說,他主要是起到控制作用,電流輸入和輸出的能力相對較弱,P0 的 8 個口總電流也有一定限制,所以如果接一兩個 LED 小燈觀察,可以勉強(qiáng)直接用單片機(jī)的 IO 口來接,但是接多個小燈,從實際工程的角度去考慮,就不推薦直接接 IO 口了。那么我們?nèi)绻脝纹瑱C(jī)控制多個 LED 小燈該怎么辦呢?
除了三極管之外,其實還有一些驅(qū)動 IC,這些驅(qū)動 IC 可以作為單片機(jī)的緩沖器,僅僅是電流驅(qū)動緩沖,不起到任何邏輯控制的效果,比如我們板子上用的 74HC245 這個芯片,這個芯片在邏輯上起不到什么別的作用,就是當(dāng)做電流緩沖器的,我們通過查看其數(shù)據(jù)手冊,74HC245 穩(wěn)定工作在 70mA 電流是沒有問題的,比單片機(jī)的 8 個 IO 口大多了,所以我們可以把他接在小燈和 IO 口之間做緩沖,如圖 6 所示。
圖 6 74HC245 功能圖
從圖 6 我們來分析,其中 VCC 和 GND 就不用多說了,細(xì)心的同學(xué)會發(fā)現(xiàn)這里有個0.1uF 的去耦電容哦。
74HC245 是個雙向緩沖器,1 引腳 DIR 是方向引腳,當(dāng)這個引腳接高電平的時候,右側(cè)所有的 B 編號的電壓都等于左側(cè) A 編號對應(yīng)的電壓。比如 A1 是高電平,那么 B1 就是高電平,A2 是低電平,B2 就是低電平等等。如果 DIR 引腳接低電平,得到的效果是左側(cè) A 編號的電壓都會等于右側(cè) B 編號對應(yīng)的電壓。因為我們這個地方控制端是左側(cè)接的是 P0 口,我們要求 B 等于 A 的狀態(tài),所以 1 腳我們直接接的 5V 電源,即高電平。圖 6 中還有一排電阻 R10 到 R17 是上拉電阻,這個電阻的用法我們在后邊介紹。
還有最后一個使能引腳 19 腳 OE,叫做輸出使能,這個引腳上邊有一橫,表明是低電平有效,當(dāng)接了低電平后,74HC245 就會按照剛才上邊說的起到雙向緩沖器的作用,如果 OE接了高電平,那么無論 DIR 怎么接,A 和 B 的引腳是沒有關(guān)系的,也就是 74HC245 功能不能實現(xiàn)出來。
從下面的圖 7 可以看出來,單片機(jī)的 P0 口和 74HC245 的 A 端是直接接起來的。這個地方,有個別同學(xué)有個疑問,就是我們明明在電源 VCC 那地方加了一個三極管驅(qū)動了,為何還要再加 245 驅(qū)動芯片呢。這里大家要理解一個道理,電路上從正極經(jīng)過器件到地,首先必須有電流才能正常工作,電路中任何一個位置斷開,都不會有電流,器件也就不會參與工作了。其次,和水流一個道理,從電源正極到負(fù)極的電流水管的粗細(xì)都要滿足要求,任何一個位置的管子過細(xì),都會出現(xiàn)瓶頸效應(yīng),電流在整個通路中細(xì)管處會受到限制而降低,所以在電路通路的每個位置上,都要保證通道足夠暢通,這個 74HC245 的作用就是消除單片機(jī)IO 這一環(huán)節(jié)的瓶頸。
圖 7 單片機(jī)與 74HC245 的連接
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。