很多電子產品有狀態指示燈,比如電視機:
待機狀態亮紅燈
開機狀態亮綠燈
不過資源總是緊張的,有時候會碰到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種狀態”,不知下面這位大神是否可以出個絕妙的下聯。
原文標題:巧用1個GPIO控制2個LED顯示4種狀態
文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
led
+關注
關注
242文章
23312瀏覽量
661649 -
電路
+關注
關注
172文章
5938瀏覽量
172497 -
GPIO
+關注
關注
16文章
1213瀏覽量
52183
原文標題:巧用1個GPIO控制2個LED顯示4種狀態
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論