張波+丁樂
[摘 要]LED點陣屏諸多優(yōu)點,在當今社會應用越來越廣,市場前景廣闊。文章深入研究分析了LED點陣屏的構成及工作原理,以STC15F2K60S2單片機為控制核心,通過兩片74HC138芯片構成4線-16譯碼器進行行控制,通過八片74HC595串接以串入并出方式進行列控制,設計制作出了16×64點陣屏,并指出了點陣屏擴展方法和顯示內(nèi)容更新的方法。實踐證明本設計穩(wěn)定可靠,性價比高,有很高的實用價值。
[關鍵詞]點陣屏;掃描;串入并出;動態(tài)顯示
[DOI]10.13939/j.cnki.zgsc.2017.15.290
1 引 言
LED點陣屏是一種文字符號與簡單圖形的顯示器,具有性價比高、壽命長、亮度高、易于控制、顯示靈活多樣、傳播距遠[1]等許多優(yōu)點,在現(xiàn)代社會被廣泛應用。物流領域、商鋪、銀行、證券市場、學校、體育館、車站、碼頭、公交車、火車等很多地方均能經(jīng)常見到LED顯示屏,且隨著社會信息化的進程,LED顯示屏應用越來越廣。
2 LED點陣構成及工作原理
LED點陣屏內(nèi)部是由發(fā)光二極管構成。以簡單的8×8點陣屏為例。8×8點陣屏共有64個發(fā)光二極管構成,每行和每列的二極管數(shù)目者是8個,每個二極管都位于行和列的交叉處。每行的二極管共陽(或共陰)連接后用一個引腳引出,每列的二極管共陰(或共陽連接后也同樣用一個引腳引出。任意一個二極管要點亮,要它所在和行和列信號同時有效才行。8×8點陣屏是一種很簡單基礎的點陣屏,但用8×8點陣屏可很方便地組成其他類型的點陣屏。比如32×64點陣屏,每行用8個8×8點陣屏,每列用4個8×8點陣屏組合構成即可。
要顯示一個符號,先分析出點陣上哪些二極管點亮可以顯示該符號。行信號控制:顯示時選中一行,使要顯示的那一行信號有效,其他的行信號無效,這樣只有選中的那一行的二極管才有可能被點亮;列信號控制方法:根據(jù)選中行需要點亮的二極管,配行行信號控制同進送出列信號,需要點亮的二極管所在的列信號有效,不需要點亮的二極管列信號無效(即不能點亮二極管),這樣選中的那一行的需要點亮的二極管就會被點亮。比如要點亮第二行位于第一列和第三列的兩個二極管,行信號使第二行的信號有效,其他行信號無效,同時送出列信號,列信信號使第一列和第三列信號有效,其他的列信號無效,這樣第二行位于第一列和第三列的兩個二極管就被點亮了。選中某一行一小段時間后,接下來選中下一行,同樣的方法送出相應的列信號,每行都如此依次顯示,最后一行顯示完了之后再顯示第一行,循環(huán)進行。雖然實際上每行是不同時間點亮的,但每行點亮的時間都極短,比如每行點亮2毫秒,加上人眼視覺滯后現(xiàn)象,人們看上去會感覺到需要點亮的二極管時是同時點亮的。每行點亮的時間過長會有閃爍現(xiàn)象,點亮的時間過短亮度會影響發(fā)光亮度,所以要恰當控制每行點亮的時間。實現(xiàn)顯示內(nèi)空的移動顯示,實際上是把顯示的內(nèi)容移動的方向每移動一列作為新的顯示內(nèi)容按照一定的時間間隔依次顯示出來。比如時間間隔1秒顯示。要顯示的內(nèi)容顯示1秒后,把顯示的內(nèi)容移動一列作為新的顯示內(nèi)容下一秒顯示。顯示的內(nèi)容移動一列后行的控制方式不變,列信號控制方式也一樣,只是每次送出的內(nèi)容和前一秒有所區(qū)別,是顯示內(nèi)容移動一列后對應的編碼。這種顯示方式稱之為行掃描,也就是任意時間段只有某一行的二極管可能被點亮,列控制是送出該行顯示對應的數(shù)據(jù)。[2]相應地,還有列掃描,控制時行和列的控制方式和行掃描時對調(diào)一下。
3 STC15F2K60S2單片機及其他主要器件介紹
單片機種類很多,其中常用的80C51系列單片機都是在Intel公司MCS-51基礎上發(fā)展起來的。晶宏STC15F2K60S2單片機是其STC15系列單片機中的一種,是新一代的增強型51單片機。[3]STC15單片機主要特點有:增強型51內(nèi)核,單時鐘機器周期,比傳統(tǒng)的51單片機快7~12倍;3個可自動重載的16位定時/計數(shù)器;兩個全雙工異步串行口(UART);3通道PWM/可騙程計數(shù)器陣列/捕獲/比較單元;60KB Flash程序存儲器,1KB Flash數(shù)據(jù)存儲器,2048字節(jié)的SRAM;8通信10位ADC;1個高速同步通信端口SPI;最多達42根I/O口線(看類型);可編程時鐘輸出功能;集成高可靠的硬件看門狗和上電復位電路;內(nèi)部集成高精度R/C電路,常溫工作時不需要外接晶振。STC15F2K60S2單片機為DIP-40封裝,和普通雙列直插的單片機一樣也是40個引腳,但引腳分布和傳統(tǒng)的51單片機不同,不能直接替換傳統(tǒng)的51單片機,替代時需按引腳功能外圍重新布線。
74HC595是8位串行輸入,并行輸出的芯片,8位并行輸出為三態(tài)輸出,其傳遞延遲時間很短,支持高速串行連接。在串行輸入時鐘信號SCK上升延時,數(shù)據(jù)從串行數(shù)據(jù)口輸入一位到內(nèi)部的八位位移緩存器,原來位移緩存器的最后一位由串行數(shù)據(jù)輸出端輸出,這樣設計可以很方便地實現(xiàn)級聯(lián);平行輸出緩存器的數(shù)據(jù)讀取時鐘信號LCK上升延時,八位平行輸出緩存器會讀取八位位移緩存器上的數(shù)據(jù),從并行輸出端輸出。
74HC138是3線-8線譯碼器,輸入端數(shù)據(jù)從000—111變化,八輸出端中對應輸出端低電平輸出,其余為高電平,完成變量譯碼。利用使能端兩片74HC138可構成4線-16線譯碼器。D4953是驅(qū)動芯片,內(nèi)部包括兩個獨立的、P溝道金屬氧化物場效應管,具有超低的導通電阻,適合用LED顯示屏和LED顯示器驅(qū)動,也可用來做負載開關或者PWM開關。
4 16×64 LED點陣屏系統(tǒng)的設計
本文設計一個16×64 LED可移動顯示的點陣屏。以STC15F2K60S2單片機為控制核心。16×64 LED點陣屏,需要行信號16個,列信號64個,顯然單片機滿足不了這個要求,必須對I/O口進行擴展。具體方法是,用兩片74HC138構成4線-16線譯碼器作為行控制信號,如圖所示,這樣行控制信號只需占用單片機4根I/O口線。如果同時點亮64個發(fā)光二極管,需要的電流還是比較大的,74H138的輸出顯然不能滿足要求,引入驅(qū)動芯片D4953解決這一問題。列信號控制用74HC595串入并出芯片,每個芯片控制8列,64列需要8片74HC595芯片。前一個74HC595芯片的數(shù)據(jù)串行輸出信號作為下一個74HC595芯片的數(shù)據(jù)串行輸入信號,第一個74HC595芯片的串行輸入信號由單片機提供,最后一芯片的串行輸出可供給下一個級聯(lián)用。所有的74HC595芯片串行輸入時鐘信號SCK連在一起,平行輸出緩存器的數(shù)據(jù)擷取時鐘信號LCK也都連在一起,均有單片機控制實現(xiàn)芯片同步動作。如下圖引入八片74HC595芯片不考慮控制信號線時,單片機用1根I/O口線就可送64列信號。
74HC595串接串入并出實現(xiàn)列控制
STC15F2K60S2單片機負責讀取字模(顯示字符所需要的代碼),字模通常有專用的軟件生成,也可人工編制,得到的字模后存放到單片機內(nèi)即可。要改變LED點陣顯示的內(nèi)容,只需改變單片機讀取到的字模就可以了。LED點陣屏工作原理過程前面已敘述過。單片機4根I/O口線通過兩片74HC138構成的4線-16線譯碼器依次送行掃描信號,經(jīng)驅(qū)動芯片D4953加到點陣屏相應的行上,選中某一行時,單片機控制八片74HC595同時把對應的64列信號并出,64位列信號在顯示上一行時由單片機控制依次串入。移動顯示時,單片機控制把前一時間段顯示的列信號內(nèi)容移位后再以同樣的方法送出。
本例設計的是16×64 LED點陣屏,硬件電路不改動的情況下,兩個16×64 LED點陣屏級聯(lián)就可得到16×128 LED點陣屏。要改變只是單片機每次要串出128個列信號。理論上能級聯(lián)很多點陣屏,但實際級聯(lián)的點陣屏受單片機串出數(shù)據(jù)速度和串入并出芯片傳送速度影響。級聯(lián)多,單片機串出數(shù)據(jù)速度可能跟不上,這也是本例選擇STC15F2K60S2的原因,當然也可選更好的處理器。改變變單片機字內(nèi)字??勺寙纹瑱C讀U盤、存儲卡,也可通過Wi-Fi和藍牙實現(xiàn)。這樣LED點陣屏顯示內(nèi)容更加豐富多彩,適用性更廣。[4]
5 結 論
LED點陣屏性價比高,市場廣闊,本設計性能可靠,通用性強,實用價值高。研究內(nèi)容為研究LED全彩屏打了一個堅實的基礎。
參考文獻:
[1]陳亞男,田嘉欣,杜佳慧.基于單片機的LED電子顯示屏控制系統(tǒng)的設計[J].中國市場,2016(6):56-57.
[2]黃桂梅,劉永立.小型LED點陣屏實用軟件設計與實現(xiàn)[J].計算機測量與控制,2011,19(12):3165-3168.
[3]劉成惠.基于STC12C5A60S2單片機的LED點陣屏設計[J].科技經(jīng)濟市場,2016,20(2):35-37.
[4]盧超,徐安娜,曹煜琪,等.基于藍牙技術的LED陣屏顯示系統(tǒng)的設計與實現(xiàn)[J].陜西理工學院學:自然科學版,2015,31(1):31-36.