海南師范大學 林明祥
LED屏幕顯示系統(tǒng)的設計與研究
海南師范大學 林明祥
本文設計了一個8×8點陣LED顯示屏的顯示系統(tǒng),重點介紹了LED屏幕的動態(tài)顯示方法,分別使用了兩個定時器來控制顯示屏的亮度及顯示字符的動態(tài)移位速度。設計了LED屏幕顯示系統(tǒng)的電路原理圖,顯示的字符的取模,以及軟件流程設計。在系統(tǒng)的設計時,根據(jù)實際的LED屏幕類型及電路連接設置,選擇了適合的陰極取模方式。
LED屏幕;顯示系統(tǒng);電路原理;字符模型
大屏幕顯示,在我們生活中越來越多被采用的,具有很好的體積小、方便簡單、顯示效果佳、投入低等優(yōu)點。是我們不可或缺的產(chǎn)品。它可以通過屏幕讓你獲得,中英文、圖像和動畫的顯示,逐漸的替代傳統(tǒng)數(shù)碼管CRT顯示器。
LED顯示屏的研究采用屏幕為8×8的點陣顯示,側重于動態(tài)處理方法,由于顯示屏幕的局限性,在此次的研究設計中只能顯示英文和數(shù)字。一個基本的LED屏幕由8行×8列點共64個LED組成[2],顯示屏有共陰和共陽兩種連接方式。
每一列的所有LED的陰極連接在一起,每一行的所有LED的陽極連接在一起。這樣每塊屏幕在外部具有8個陽極和8個陰極,以共陰極LED屏幕為例,陽極端為數(shù)據(jù)端,陰極端為選通端,當數(shù)據(jù)端為高電平而選通端為低電平時,交叉點的LED就被點亮。
表1 Atmega16資源分配
圖1 獨立選通方式
圖3 硬件線路系統(tǒng)圖
對由8×8點陣構成的LED顯示屏而言,一般數(shù)據(jù)端連接微處理器的8位并行數(shù)據(jù)口,而選通端則逐一使能(選通),選擇需要點亮的某一列,通過分時復用方式實現(xiàn)動態(tài)顯示效果。選通方式一般有兩種:獨立選通和譯碼選通。
如果屏幕較小,處理器有足夠的I/O口可用,則可以每個I/O口連接一個選通端,如圖1所示;如果屏幕較大,或者處理器的I/O口不是非常豐富,則可以通過譯碼方式來選通,如圖2所示。例如當8片8×8點陣的LED組成一個8×128點陣的LED屏幕時,直接選通方式需要64個I/O口,而譯碼選通方式只需要6個I/O口。
本文研究的LED屏幕顯示設計,是演示一種循環(huán)移位顯示效果,上電后,Atmega16首先對8×8點陣LED屏幕進行自檢,依次點亮所有的LED,然后在LED屏幕上循環(huán)顯示“A LED TEST”字符。
表2 LED屏幕移位顯示原理
圖2 譯碼選通方式
圖4 LED字模生長
圖5 Timer0中斷處理流程圖6 Timer1中斷處理流程
8×8點陣LED顯示屏系統(tǒng)所需要的資源如表1所示。電路原理中,主要是利用Atmega16單片機的數(shù)據(jù)端口、選通端口、中斷端口[3]進行LED的控制設計。
在LED顯示系統(tǒng)中,用到一個8×8的顯示屏,所以采用8個選通I/O口,選通方式采用獨立選通方式。通過軟件Atmega16的I/O口來提供給選通的信號。Atmega16不需附加其的驅動線路,軟件atmega16具有直接驅動的能力。顯示屏系統(tǒng)電路圖如圖3所示。
原理圖中,用單片機的PA[7..0]端口去控制LED的D7—D0接口,用PD[7..0]去控制S7—S0接口,實現(xiàn)LED與單片機之間的數(shù)據(jù)與控制信號交換。圖3中Y1為單片機的晶體振蕩器,它與電容C2、C3共同組成了單片機的外部振蕩電路;而電容C1與單片機的RESET端口形成了單片機的復位電路。
設計完硬件電路圖,需要再對單片機芯片進行程序的編輯和設計,配合軟件程序功能的運行,才能完整實現(xiàn)LED屏幕顯示系統(tǒng)功能。
本節(jié)對LED屏幕顯示系統(tǒng)進行軟件設計。
8×8點陣LED屏顯示的字符需要通過取模的方式轉換成實際的顯示數(shù)據(jù),這個過程可以通過Pcto LCD 2002軟件[6]來實現(xiàn),如圖4所示,Pcto LCD 2002是一種LCD字模生成軟件,同樣適合于為點陣LED屏幕進行字模生成。
在這里選擇生成的英文字符的規(guī)格為8×8點陣,同時設置取模方式為陰極(點亮的位為1)、逐列式及順向(高位在前)。
顯示控制需要關注兩個方面:字符的正常顯示和字符的移位顯示。
字符的正常顯示原理同數(shù)碼管顯示一樣,為分時顯示方式。T/C0的定時中斷用來控制顯示掃描頻率,可以通過調(diào)整T/C0的周期來調(diào)節(jié)LED屏幕的顯示亮度。
為了進行移位顯示,設置了一個8位的顯示數(shù)據(jù)緩沖區(qū),移位顯示的原理如表2所示,字符A的8個字節(jié)的顯示數(shù)據(jù)每間隔1秒依次從最右邊的移位到最左邊,當8個字節(jié)顯示完畢時,A字符的第1個數(shù)據(jù)移出而B字符的第1個顯示數(shù)據(jù)移入,從而實現(xiàn)移位顯示。
Timer0的1ms中斷服務程序處理緩沖區(qū)顯示流程如圖5所示,Timer0中斷服務處理程序只需要完成執(zhí)行選通和送數(shù)據(jù)這兩項。
Timer1的1s中斷服務程序處理顯示字符更新,其處理流程如圖6所示,從第一個字符開始顯示,直到字符的位數(shù)移動8位后,顯示下一位,直到字符串結束,返回第一個字符循環(huán)下去。
通過研究LED顯示屏的顯示系統(tǒng),重點了解LED屏幕的顯示動態(tài)的方法,分別使用了兩個定時器來控制顯示屏的亮度及顯示字符的動態(tài)移位速度。LED屏幕顯示系統(tǒng)的原理圖在DXP 2004下設計,顯示的字符可以通過Pcto LCD 2002軟件來取模,在系統(tǒng)的設計時,根據(jù)實際的LED屏幕類型及電路連接設置,選擇了適合的陰極取模方式。
[1]王洪博.基于嵌入式技術的LED屏幕控制系統(tǒng)[D].濟南:山東大學,2007:32-33.
[2]袁勝臣.基于ATmega128單片機的LED屏幕顯示系統(tǒng)[D].合肥:合肥工業(yè)大學,2006:24-25.
[3]馬潮.高檔8位單片機ATmega128原理與開發(fā)應用指南[M].北京:北京航空航天大學出版社,2009:78-79.
[4]傅為忠,張小莉.LED屏幕顯示系統(tǒng)應用研究[J].合肥工業(yè)大學學報(自然科學版),2008,17(12):158-159.
[5]曹彩萍,李鋼.基于單片機的LED屏幕顯示系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2006(9):105-112.
[6]楊秀鳳,李志剛.雙路可控電源驅動電路設計研究[D].中國電工技術學會低壓電器專業(yè)委員會第十三屆學術年會,2007.