數(shù)碼管是一種利用LED的顯示器件,普通的數(shù)碼管在內(nèi)部集成了八個數(shù)碼管,分別組成了對應(yīng)的段,由于數(shù)字只需要七個段就可以,所以有的數(shù)碼管內(nèi)部只有七段,稱為七段數(shù)碼管,八段數(shù)碼管的多余的段被用在小數(shù)點上,形成了可以顯示小數(shù)點數(shù)據(jù)的顯示器件。
根據(jù)數(shù)碼管內(nèi)部的連接方式,所以數(shù)碼管又分為共陽數(shù)碼管(低電平點亮)與共陰數(shù)碼管(高電平點亮),共陽數(shù)碼管內(nèi)部是將所有LED的正極接在一起組成的公共端接電源+5V,只需要控制對應(yīng)的LED負極就可以顯示數(shù)字, 所以共陽級低電平才能點亮,共陰極與共陽級剛好相反,共陰極數(shù)碼管內(nèi)部將LED的負極接在一起形成公共端接地 0V,只需要控制對應(yīng)的LED正極就能夠顯示數(shù)字,所以共陰極數(shù)碼管高電平點亮。共陽極數(shù)碼管與共陰極數(shù)碼管內(nèi)部結(jié)構(gòu)如下圖所示。
由于數(shù)碼管內(nèi)部同樣是LED組成的,所以理論上需要在每個LED上加一個限流電阻,限流電阻的取值在100~330Ω上。
所謂的數(shù)碼管段碼的實質(zhì)就是利用單片機一組端口驅(qū)動八個LED,只要能點亮對應(yīng)的LED,那么數(shù)字就會顯示出來,所以段碼是一些二位16進制組成的數(shù)據(jù),常用的數(shù)碼管接法計算出來的段碼如下表所示。
數(shù)碼管內(nèi)部連接 | 共陽 | 共陰 | ||
小數(shù)點接單片機 | 最高位 | 最低位 | 最高位 | 最低位 |
0 | 0x40 | 0x02 | 0xBF | 0xFD |
1 | 0x79 | 0x9E | 0x86 | 0x61 |
2 | 0x24 | 0x24 | 0xDB | 0xDB |
3 | 0x30 | 0x0C | 0xCF | 0xF3 |
4 | 0x19 | 0x98 | 0xE6 | 0x67 |
5 | 0x12 | 0x48 | 0xED | 0xB7 |
6 | 0x02 | 0x40 | 0xFD | 0xBF |
7 | 0x78 | 0x1E | 0x87 | 0xE1 |
8 | 0x00 | 0x00 | 0xFF | 0xFF |
9 | 0x10 | 0x08 | 0xEF | 0xF7 |
3.2 數(shù)碼管的靜態(tài)顯示
3.2.1 原理圖
3.2.2 例程分析
這段例程和GPIO實驗中的總線輸出操作部分的代碼是一樣的,唯一的區(qū)別就是29行,數(shù)組里面的數(shù)據(jù)改成了之前上面的段碼,因為原理圖中數(shù)碼管采用了Dp接單片機最高位的連接方式,選用的是共陽極數(shù)碼管,所以這個數(shù)據(jù)可以直接從表里面獲取。
3.3 數(shù)碼管的動態(tài)顯示
3.3.1 動態(tài)顯示原理
1位數(shù)碼管只能顯示1位數(shù)字,但是如果需要顯示多位數(shù)字就需要多個數(shù)碼管同時工作,這也是數(shù)碼管的缺點,那就是顯示的數(shù)字越多,數(shù)碼管就越多,占用的端口也就越多,那么,彌補這種缺點的方法就是數(shù)碼管的動態(tài)顯示,所謂動態(tài)顯示,就是依次向每位數(shù)碼管送出字形碼的同時控制公共端的電平,每一位數(shù)碼管之間利用延時程序進行延時,當延時程序非常短時,由于發(fā)光管的余輝和人眼視覺暫留作用,此時我們的人眼就分辨不出位與位之間有延時存在,此時就感覺各位數(shù)碼管同時都在顯示。
所謂視覺暫留現(xiàn)象即視覺暫停現(xiàn)象(Persistenceofvision,Visualstayingphenomenon,durationofvision)又稱“余暉效應(yīng)”,1824年由英國倫敦大學(xué)教授皮特‘馬克’羅葛特在他的研究報告《移動物體的視覺暫留現(xiàn)象》中最先提出:人眼在觀察景物時,光信號傳入大腦神經(jīng),需經(jīng)過一段短暫的時間,光的作用結(jié)束后,視覺形象并不立即消失,這種殘留的視覺稱“后像”,視覺的這一現(xiàn)象則被稱為“視覺暫留”。
下圖所示是一個2位的數(shù)碼管結(jié)構(gòu)。
3.3.2 原理圖
3.3.3 例程分析
第28行:建立一個一維數(shù)組存儲數(shù)碼管的段碼,由于原理圖中的數(shù)碼管是共陽極數(shù)碼管,且DP接P0最高位,根據(jù)表中的數(shù)據(jù)可以計算出數(shù)碼管的段碼
第29行:數(shù)碼管控制端口,由于兩個數(shù)碼管的公共端接在了P2.0和P2.1,所以先給P2.0加高電平,P2.1加低電平,將段碼顯示在第一個數(shù)碼管,經(jīng)過一段時間后,將P2.0加低電平,P2.1加高電平,更新段碼顯示在第2個數(shù)碼管上
第32行:P2先控制數(shù)碼管的公共端,選中第1個數(shù)碼管
第33行:P0送入段碼,顯示在第1個數(shù)碼管上
第34行:延時等待一段時間,達到視覺暫留的目的
第36行:P2再控制數(shù)碼管的公共端,選中第2個數(shù)碼管
第37行:P0送入段碼,顯示在第2個數(shù)碼管上
第38行:延時等待一段時間,達到視覺暫留的目的
-
led
+關(guān)注
關(guān)注
242文章
23252瀏覽量
660558 -
單片機
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634631 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1882瀏覽量
91062 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52051 -
靜態(tài)顯示
+關(guān)注
關(guān)注
0文章
19瀏覽量
5989
發(fā)布評論請先 登錄
相關(guān)推薦
評論