终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!
芯片之家前幾天發了一篇文章,討論1個GPIO控制2個LED顯示4種狀態,并沒有帶具體的實驗現象,有點小遺憾:
絕妙!1個GPIO控制2個LED顯示4種狀態,什么?你不信?(點擊閱讀)
今天在卓老師公眾號看到了具體的實驗分析,并分析兩種串并聯方式的實驗現象,講解的非常到位,今天分享給大家閱讀。
在下面的面包板上,演示了使用一條IO控制線控制兩個LED分別點亮和熄滅的四種狀態。
▲ 一個個單片機IO端口分別控制兩個LED為了理解其中的工作原理,則需要熟悉LED的兩個工作特性:
單向導電特性;
導通閾值特性;
正如發光二極管名字所說,LED只能向二極管那樣單向導電發光。如果施加電壓極性反了,LED則不工作。
導通閾值特性是指,只要施加的正向電壓超過一定閾值之后,LED才能夠導通。這一點可以從下面這支紅色LED的正向V-A特性曲線看出。
▲ 紅色LED的V-A特性上面曲線表明,只有當正向電壓超過大約1.6V之后,電流才會出現快速增加。在此之前,正向導通電流很小。
不同顏色的LED由于所使用的半導體材料不同,導通閾值電壓會有所區別。比如下面這支黃色LED的正向導通電壓超過了1.7V。
▲ 黃色LED的V-A曲線如果LED發射光譜中包括更短的光譜成分,則相應的導通閾值會更高。下面的綠色和藍色LED的正向導通電壓的閾值都已經超過了2.5V了。
▲ 綠色LEDV-A特性曲線▲ 藍色LED的V-A曲線將不同LED的V-A特性曲線繪制在一起,可以凸顯出不同LED的閾值電壓的差異。值得說明的是,當電壓小于閾值電壓的時候,LED并不是不導電,只是電流極小。比如在2.5V,雖然還沒有超過藍色LED的閾值電壓,但在LED燈芯處還是能夠隱約看到發光。
一旦電壓超過閾值電壓,LED正向導通電流便會迅速增加到1mA以上。之后雖然電流增加很快,但在導通電流2 ~ 10mA之內,LED都顯示為點亮狀態,亮度倒是看起來差不多。
▲ 不同顏色LED的伏安特性合理應用LED的單向導電和導通閾值特性,便可以在一條單片機IO口的四種工作狀態下,來控制兩個LED的點亮和熄滅了。
比如利用LED管的單向導通特性,將兩個LED正反向并聯在一起,分別連接在分壓電阻中心和單片機的IO口上,就可以實現單個IO口控制兩個LED的目標。在下圖中,顯示了在一個工作在5V電壓下的單片機IO控制兩個LED(紅色,黃色)的四種狀態。
▲ 兩個LED正反并聯連接在MCU的IO口與分壓電阻中點當IO口為高阻狀態,兩個LED都熄滅;當IO端口為高電平時,紅色LED點亮;當IO端口為低電平的時候,黃色LED點亮;當IO輸出方波信號時(通常要求頻率大于100Hz),兩個LED交替點亮,根據人眼色視覺暫留特性,看起來兩個LED都點亮了。
下面動圖顯示了IO口的四種狀態對應兩個LED的點亮與熄滅。
▲ 對應兩個LED四個狀態的IO輸出波形上面的LED并聯方案是利用了LED的單向導通特性。如果考慮到LED的閾值特性,這種方案就會受到一定限制。比如,控制的LED綠色或者藍色時,由于它們的導通閾值電壓超過了2.5V,因此綠色和藍色LED就很難被點亮。
下面動圖顯示,綠色和藍色LED只能發出微弱的光線。
▲ 對于兩個LED四種狀態的IO波形如果當單片機和LED的供電電壓為3.3V時,情況將會更加嚴重。比如在3.3V供電情況下,使用并聯LED方案,對于紅色的LED還可以勉強工作,但對于綠色和藍色LED則無法點亮了。
▲ 對于兩個LED四種狀態的IO波形在前面推文中則介紹了另外一種方案,即LED串聯方案,可以解決藍色和綠色LED閾值電壓高的問題。
下圖顯示了LED串聯方案電路示意圖:
▲ 兩個LED串聯控制方案當IO端口為高阻時,由于兩個LED的導通閾值電壓之和大于電源電壓(+5V),它們都不導通;當IO端口為低電平時;上面的綠色LED點亮;當IO端口為高電平時,下面的藍色LED點亮;當輸出高頻方波信號時,兩個LED都被點亮。
下面動圖顯示了面包板上綠色和藍色串聯工作狀態下,并一條IO端口控制的情況:
串聯LED控制模式只能應用于兩個LED的電壓加起來超過電路電源電壓的情況。比如藍色、綠色LED,工作在3.3V,5V電壓下都是可以的。
如果將兩個LED更換成紅色(1.6V)和綠色(2.5V),使用串聯模式,則只能應用在電源電壓小于4.1V的情況下,比如3.3V的單片機電路中。如果在5V電路中,則會出現兩個LED無法同時熄滅的情況。
下面就顯示了一個紅色,一個綠色LED工作在5V電源電壓下,當IO為高阻時,它們實際上無法熄滅。
▲ 對應兩個LED四種狀態IO波形在5V電壓下,那么對于紅色、綠色LED使用前面并聯LED方案行不行呢?
通過實驗會發現,也出現了問題。由于綠色LED在2.5V下無法點亮,因此并聯方案也無法工作。如下圖所示:
▲ 對應兩個LED四種狀態IO波形那么問題來了,在5V電壓下,該使用什么方案,才能夠利用單片機一個IO口的四種模式,來分別控制一個綠色LED和一個紅色LED的點亮和熄滅呢?就像下面這個動圖里所示的那樣。
▲ 對于兩個LED四種狀態的IO波形如果你對并聯LED和串聯LED工作原理已經理解了,我想此時,你的腦子里已經有了答案了。如果你有了想法,就將答案寫在后面的留言中吧。(答案就在上圖中)分析出答案的,請把答案打在評論區!
推薦閱讀:
專輯|Linux文章匯總
專輯|程序人生
專輯|C語言
我的知識小密圈
關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~
總結
以上是生活随笔為你收集整理的终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R-CNN算法
- 下一篇: 工作后和在学校最大的区别是什么?