和12岁小同志搞创客开发:如何驱动LED数码管?
生活随笔
收集整理的這篇文章主要介紹了
和12岁小同志搞创客开发:如何驱动LED数码管?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
1、LED數碼管分類和驅動原理
2、LED數碼管驅動實踐
機緣巧合在網上認識一位12歲小同志,從零開始系統輔導其創客開發思維和技巧。
項目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html?
LED數碼管(LED Segment Displays)是由多個發光二極管封裝在一起組成。
1、LED數碼管分類和驅動原理
數碼管按段數可分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元,也就是多一個小數點(DP),這個小數點可以更精確的表示數碼管想要顯示的內容。
數碼管按能顯示多少個,可分為 1 位、 2位、 3 位、 4 位、 5 位、 6 位、7 位等數碼管。
按發光二極管單元連接方式可分為共陽極數碼管和共陰極數碼管。
- 共陽數碼管:將所有發光二極管的陽極(VCC)接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極 COM 接到VCC,當某一字段發光二極管的陰極為低電平時,相應字段就點亮, 當某一字段的陰極為高電平時, 相應字段就不亮。
- 共陰數碼管:指將所有發光二極管的陰極(GND)接到一起形成公共陰極(COM)的數碼管,共陰數碼管在應用時應將公共極COM接到地線GND,當 某一字段發光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。
數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態數碼管和動態數碼管兩類。
- 靜態數碼管:是每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數碼管靜態顯示則需要5×8=40根I/O端口來驅動,實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。
- 動態數碼管:動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一。動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是哪個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O端口,而且功耗更低。
2、LED數碼管驅動實踐
DF創客社區商城售賣的數碼管是增加了IIC芯片,通過IIC時序信號就可以進行驅動,極大方便了新手開發者使用,但是還是需要各位掌握好數碼管的驅動原理,知其然知其所以然,在開發的過程中才可以達到舉一反三的效果。
代碼如下所示:
總結
以上是生活随笔為你收集整理的和12岁小同志搞创客开发:如何驱动LED数码管?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python Qt GUI设计:信号与槽
- 下一篇: Python Qt GUI设计:QTim