-
1 # 昨日的兔子
-
2 # 夢景仙
方式一
高電位一個,低電位一個。切換型。
方式二
斬波式輸出,低頻一個高頻一個,需要保護電路。調壓型。
方式三
資料方式,輸出某值一個亮,其它某值另一個亮,需要暫存器與數字識別電路。擴充套件型。
方式四
協議方式,透過拓展晶片,I2C匯流排或其它方式。拓展型。
只要外圍元件夠用,方法也無窮。無外乎調頻調壓調幅調寬調資料等。
-
3 # 電子產品設計方案
這個問題很有意思。人類的智慧是無限的,沒有解決不了的問題。
有的人可能覺得題主這個問題很無聊,為什麼非要一個IO口控制兩個LED呢?不能多用一個I/O嗎?不能用擴充套件I/O的IC去擴充套件嗎?
原理說明:當I/O為高電平時,Q1導通,Q2截止,LED D2會點亮,D1會熄滅當I/O為高低平時,Q2導通,Q1截止,LED D1會點亮,D2會熄滅當I/O設定為高阻態輸入時,Q1截止,Q2截止LED D1和D2都會熄滅 -
4 # 縷縷松
題主沒有說明一個IO口控制控制兩個LED要達到怎樣的亮滅效果,比如是同時亮還是說這個亮時另一個滅,或者其它。
假如是同時亮滅那就比較簡單,對IO擴流一下就可以,例如下面的電路就可以實現,三極體的作用是擴流,如果選擇的微控制器具有足夠大的灌電流或者拉電流,那麼可以不用三極體擴流而直接驅動。
如果要實現的功能是一個點亮時另一個熄滅,那麼可以用下面的電路來實現,下圖中的兩個三極體一個是PNP型另一個是NPN型。
它們兩的輸出邏輯是相反的,比如訊號是高電平時NPN三極體截止相應的LED滅,此時PNP三極體導通,反之則相反。
口口木的筆記 2019-4-21
-
5 # 玩轉嵌入式
微控制器的一個GPIO只能輸出0和1兩種狀態,如果控制一個LED燈的話,可以實現LED的亮滅控制。兩個LED具有四個狀態:1)同時亮;2)同時滅;3)一個亮一個滅;4)一個滅一個亮。如果用一個GPIO的話,無法輸出四種狀態,所以要分情況討論。
1.兩隻LED同時亮/滅的情況這種情況其實是把兩個LED看作是同一個,兩個LED具有同樣的狀態,即兩個LED同時點亮或者同時熄滅。如果是這種情況可以考慮如下的電路設計:
兩隻LED並聯,微控制器以灌電流的方式驅動。這樣可以降低微控制器的輸出功耗。微控制器的GPIO輸出高電平1時,兩個LED同時熄滅;微控制器的GPIO輸出低電平時,兩個LED同時點亮。也可以考慮兩隻LED串聯的情況,但是需要考慮LED自身的壓降。對於具體的實施電路,可以考慮採用三極體或者MOS作為驅動。
2.兩隻LED不同是亮/滅的情況這時需要考慮將兩隻LED同向串聯,將微控制器的GPIO口接在兩隻LED的公共端。其典型的示意電路圖如下圖所示。
兩隻LED同向串聯後串在電源電路中,微控制器的GPIO控制兩個LED的公共端。當微控制器輸出高電平1時LED1熄滅,而LED2被點亮(拉電流的方式);當微控制器輸出低電平0時LED1被點亮(灌電流的方式),而LED2熄滅。這種情況時需要考慮電阻的選型,也可以使用三極體或者MOS管作為驅動。
回覆列表
有這折騰的功夫你不如弄倆io
你可以用譯碼器,分立元件,鎖存器搭建
比如用運放,微控制器io pwm/dac輸出,運放做比較器,不同電平保證不同led被點亮
再比如用濾波器,兩個led用不同頻率濾波器,透過不同頻率去控制對應led
這些硬體成本夠再買個微控制器了,除非你兩個led有特殊關係,比如這個亮另一個滅,或者同時亮,要想分別單獨控制沒意義,除了浪費時間