宋世彥
[摘 要]LED電子顯示屏是利用發(fā)光二極管點(diǎn)陣模塊或像素單元組成的平面式顯示屏幕。由于它具有發(fā)光效率高、使用壽命長(zhǎng)、組態(tài)靈活、色彩豐富、工作性能穩(wěn)定以及對(duì)室內(nèi)室外環(huán)境適應(yīng)能力強(qiáng)等優(yōu)點(diǎn)而日漸成為顯示媒體中的佼佼者。本文設(shè)計(jì)的點(diǎn)陣LED顯示屏控制系統(tǒng)以51單片機(jī)為基礎(chǔ),可實(shí)現(xiàn)漢字、字符和數(shù)字等的動(dòng)態(tài)顯示,可直接運(yùn)用于實(shí)際場(chǎng)合。
[關(guān)鍵詞]LED電子顯示屏;發(fā)光二極管;點(diǎn)陣;動(dòng)態(tài)顯示
一、系統(tǒng)方案及電路設(shè)計(jì)
本文設(shè)計(jì)的是一個(gè)16×32點(diǎn)陣LED電子顯示屏,以51單片機(jī)為核心,通過(guò)該芯片控制一個(gè)行驅(qū)動(dòng)器 74HC154和四個(gè)列驅(qū)動(dòng)器74HC595來(lái)驅(qū)動(dòng)顯示屏顯示。該電子顯示屏可以顯示各種文字或單色圖像,全屏能顯示2個(gè)漢字,采用8塊8×8點(diǎn)陣LED顯示模塊來(lái)組成16×32點(diǎn)陣顯示模式。顯示采用動(dòng)態(tài)顯示,使得圖形或文字能夠?qū)崿F(xiàn)靜止、移入移出等多種顯示方式。文中詳細(xì)介紹了LED點(diǎn)陣顯示的硬件設(shè)計(jì)思路、硬件電路各個(gè)部分的功能及原理、相應(yīng)軟件的程序設(shè)計(jì),以及使用說(shuō)明等。
1.系統(tǒng)方案。漢字點(diǎn)陣指示牌分成屏體和控制器兩大部分。屏體的主要部分是LED點(diǎn)陣屏,還有行列驅(qū)動(dòng)電路。LED點(diǎn)陣屏采用8x8單色LED顯示模塊拼接而成。掃描驅(qū)動(dòng)電路采用多行的同名列共用一套驅(qū)動(dòng)器,行驅(qū)動(dòng)器一行的行線連接到電源的一端,列驅(qū)動(dòng)器一列的列連接線連到電源的另一端。控制電路負(fù)責(zé)有序地選通各行,選通每一行之前,還要把該行該列的數(shù)據(jù)準(zhǔn)備好,一旦該行選通,這一行上的LED發(fā)光器件就可以根據(jù)列數(shù)據(jù)進(jìn)行顯示。
漢字點(diǎn)陣指示牌的控制電路采用單片機(jī)方案,硬件電路大體上分為單片機(jī)控制電路、LED顯示屏行列驅(qū)動(dòng)電路、LED點(diǎn)陣屏三部分,如圖1所示:
圖1 漢字點(diǎn)陣顯示系統(tǒng)方案
2.漢字顯示的原理。每一個(gè)漢字由16行16列的點(diǎn)陣組成顯示,如果用8位的單片機(jī)控制掃描顯示,由于單片機(jī)的總線為8位,一個(gè)字需要拆分為2個(gè)部分。一般我們把它拆分為上部和下部,上部由8x16點(diǎn)陣組成,下部也由8x16點(diǎn)陣組成。掃描時(shí),上半部第1列完成后,繼續(xù)掃描下半部的第1列;然后單片機(jī)轉(zhuǎn)向上半部第2列,這一列完成后繼續(xù)掃描下半部第2列......繼續(xù)進(jìn)行下面的掃描就可以得到顯示的漢字了。
單片機(jī)控制系統(tǒng)程序通過(guò)編程控制各顯示點(diǎn)對(duì)應(yīng)LED陽(yáng)極和陰極端的電平,就可以有效的控制各顯示點(diǎn)的亮滅。從理論上講,不論顯示圖形還是文字,只要控制與組成這些圖形的或文字的各個(gè)點(diǎn)所在位置相對(duì)的LED器件發(fā)光,就可以得到我們想要的顯示結(jié)果。具體來(lái)說(shuō)就是把所有同1行的發(fā)光管點(diǎn)亮滅的數(shù)據(jù)鎖存,然后選通第一行使其燃亮一定的時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其燃亮的同時(shí),然后燃滅;……第十六行之后,又從新燃亮第一行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺(jué)暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形了。
3.顯示驅(qū)動(dòng)電路74HC595和74HC154。為解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示之間的矛盾問(wèn)題,采用74HC595作為列驅(qū)動(dòng)。因?yàn)?4HC595具有一個(gè)8位串入并出的移位寄存器和一個(gè)8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,這使列數(shù)據(jù)的準(zhǔn)備和列數(shù)據(jù)的顯示可以同時(shí)進(jìn)行。該移位寄存器接收串行數(shù)據(jù)和提供串行輸出,同時(shí)移位寄存器還向8位鎖存器提供并行數(shù)據(jù)。
74HC154為4-16線譯碼器,A、B、C、D為譯碼的輸入端,Y1~Y15使對(duì)應(yīng)A、B、C、D四個(gè)輸入引腳的輸出腳,其中選中的線用輸出低電平,沒(méi)有選中的輸出高電平,同時(shí)使能端必須有效才能使譯碼器正常工作。
4.電路設(shè)計(jì)。該電路采用AT89C51單片機(jī)最小化應(yīng)用設(shè)計(jì),P3口作為I/O口,輸出列數(shù)據(jù)和控制信號(hào),P2口作為I/O口,輸出行掃描信號(hào),LED顯示采用動(dòng)態(tài)掃描方式實(shí)現(xiàn)。
5.主程序設(shè)計(jì)。編程思路為:
(1)先對(duì)變量初始化。
(2)循環(huán)掃描點(diǎn)亮16行LED(稱點(diǎn)亮一幀圖像)。
(3)16行掃描結(jié)束后,列指針向右移動(dòng)1位,再掃描下一幀圖像。為了控制漢字滾動(dòng)的速度,有時(shí)候?qū)σ粠瑘D像掃描數(shù)次后才將列指針移位。這樣,主觀上感覺(jué)到圖像向左滾動(dòng)。依此類推,列指針共向右移動(dòng)16位(即一個(gè)漢字)。
(4)移動(dòng)一個(gè)漢字后,字指針指向下一個(gè)漢字。再重復(fù)上述步驟,這樣我們就能在顯示屏上看到持續(xù)不斷的滾動(dòng)漢字信息了。主程序流程圖如圖2:
圖2 主程序流程圖
二、結(jié)語(yǔ)
點(diǎn)陣顯示漢字的原理其實(shí)就是在相應(yīng)的位置點(diǎn)亮發(fā)光二極管,利用發(fā)光二極管的亮滅區(qū)別來(lái)靜態(tài)顯示漢字,而漢字在屏幕上的移動(dòng),則是不斷更新向左(向右、向上、向下)顯示在每個(gè)16*16單元點(diǎn)陣上的代碼,從而看上去就實(shí)現(xiàn)了漢字的移動(dòng)。
參考文獻(xiàn):
[1]李全利 編著 :《單片機(jī)原理及接口技術(shù)》(第2版).北京:高等教育出版社,2004 .
[2]李光飛 編著 :《單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)》(第2版). 北京:北京航空航天出版社,2004.
[3]李 華 主編:《MCS-51單片機(jī)實(shí)用接口技術(shù)》.北京:北京航空航天出版社,1997.