![]() |
wulin 發表于 2020-4-17 14:37 那操作蠻復雜,有沒訣竅稍簡單點驅動? |
尺寸小驅動還麻煩,我是不喜歡用這種,用上類似TM1650的芯片還是挺爽的,又不貴 |
這種電路對led的電流有較大限制吧,限流電阻沒選好有可能會微亮。假設我用5V的單片機,紅色LED串聯1k電阻。我要點亮L5,P3高電平,P2高阻,P1低,兩個串聯的led可能獲得0.7ma的電流而微亮 |
hefq 發表于 2021-2-26 21:09 這個能發個程序參考一下是如寫的嗎?我是初學者,網上只找到STM8,沒有找到51單片機的參考寫法,這懂如何改! |
![]() 按照思路驅動起來了,8個數碼管9個IO,不要小數點8個IO就夠 |
這個有專門的驅動IC,MAX6951 |
w1179benp 發表于 2020-4-18 16:49 嗯,定做的接法會有差異,不過控制方式是一樣的 ![]() |
odfggf 發表于 2020-4-17 14:39 謝謝。如測試有結果,定分享 |
wulin 發表于 2020-4-17 14:37 感謝感謝,認真學習,學習................ |
xxpp2011 發表于 2020-4-17 13:18 非常感謝! |
這個要3態驅動,每個引腳都相當于二極管正反并聯,比如1高2低或者1低2高,都可以點亮對應的管段,如果輸出為高阻,就熄滅。 對應的真值表,如果有手冊,可以直接查看,沒有的話,就用萬用表逐個測量記錄 |
驅動這種數碼管的技術稱作查理復用技術(Charlieplexing) Charlieplexing的介紹 步驟1:一個非常簡單的示例
請看下面的簡單電路,該電路使用兩個端口控制兩個LED。 這里是工作原理。兩個LED反并聯連接,紅色LED的陽極(左)連接到綠色LED的陰極(右)。 當端口1變為高電平而端口2變為低電平時,則綠色LED點亮,并且當端口1變為低電平并且端口2變為高電平時,紅色LED點亮。 步驟2:再增加一個端口。..
現在,我們增加了一個端口以控制更多LED。我將電路分為3個子電路,每個子電路顯示2個端口。因此,我們有2個LED由端口1和2控制,另外兩個LED由端口1和3控制,另外2個LED由端口2和3控制,總共6個LED。 與以前一樣,微控制器僅通過3個端口即可單獨控制6個LED。如我之前所說,charlieplexing利用微控制器端口的三態。但是如何? 讓我們用3個端口和6個LED重新繪制相同的電路,但是這次我們將不分別繪制它們: 當端口1為HIGH且端口3為低電平,則L6將點亮。但是端口2必須處于什么狀態?如果端口2為高電平,則L4也將點亮,如果端口2為低電平,則L2將同時點亮。因此,為避免不必要的情況,端口2必須處于高阻抗狀態。我們將此引腳設為輸入。如果我們嘗試點亮L2,當然同樣適用。端口1應該變為高電平,而端口2應該變為低電平。如果端口3為高電平,則L3也將點亮,如果端口3為低電平,則L6將同時點亮。因此,一般規則是,只有兩個端口可以同時輸出,而其他所有端口都可以通過將它們定義為輸入來處于高阻抗狀態。 |
這種數碼管理論上7個IO 口可以驅動42個LED筆段,在沒有資料的情況下只能用萬用表逐一繪制出內部LED與引腳連接關系,以此編寫程序也不是十分困難。不過MCU剛入門水平就不要動這個心念頭了。 |
這是一個專門定制的數碼管顯示,器件與資料都不好找。 |
6腳數碼管驅動方式(7腳類似) https://blog.csdn.net/q690189450/article/details/100629016 |
93317450led7pin7seg_scan_demo.zip
206.61 KB, 下載次數: 196