巧用1个GPIO控制2个LED显示4种状态
很多電子產品有狀態指示燈,比如電視機:
待機狀態亮紅燈
開機狀態亮綠燈
實現起來很簡單,微控制器MCU的兩個GPIO分別控制就行:
不過資源總是緊張的,有時候會碰到GPIO不夠用的情況。
如果只用1個GPIO,可不可以實現控制兩個LED燈呢?
要實現4種狀態:
紅燈亮,綠燈滅
紅燈滅,綠燈亮
都滅
都亮
直接上電路:
?
一、電路分析
?1、紅燈亮,綠燈滅時,GPIO1輸出5V高電平:
?2、紅燈滅,綠燈亮時,GPIO1輸出0V低電平:
?
3、紅燈和綠燈都滅時,GPIO1設為浮空高阻態。此時由于兩個LED燈總的導通壓降要求大于5V,所以兩個LED燈都不導通。
?
4、紅燈和綠燈都亮時,GPIO1交替輸出高低電平。只要高低電平切換的頻率夠高,由于視覺暫留效應,人眼看到的就是兩個燈都常亮。
?
二、注意事項
?
使用這個電路時,要注意MCU的GPIO的電流驅動能力。
GPIO能承受的電流要大于LED燈流過的電流。
以下截圖出自STM32芯片的數據手冊,它的GPIO可以驅動或吸入8mA的電流。
?
三、總結
?
“1個GPIO控制2個LED顯示4種狀態”,電路的實現本身很妙。
“1個GPIO控制2個LED顯示4種狀態”,不知下面這位大神是否可以出個絕妙的下聯。
?
關于電路的學習,希望大家,enjoy!
推薦閱讀:
專輯|Linux文章匯總
專輯|程序人生
專輯|C語言
我的知識小密圈
關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~
總結
以上是生活随笔為你收集整理的巧用1个GPIO控制2个LED显示4种状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android网易云桌面歌词,网易云音乐
- 下一篇: “kuangbin带你飞”专题计划——专