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