很多電子產品有狀態指示燈,比如電視機:
待機狀態亮紅燈
開機狀態亮綠燈
不過資源總是緊張的,有時候會碰到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種狀態,電路的實現本身很妙。
責任編輯:haq
-
led
+關注
關注
242文章
23141瀏覽量
658535 -
mcu
+關注
關注
146文章
17002瀏覽量
350324 -
控制器
+關注
關注
112文章
16206瀏覽量
177427
原文標題:絕妙!1個GPIO控制2個LED顯示4種狀態
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論