劉紅娜,張海濤
(滄州職業(yè)技術(shù)學(xué)院信息工程系,河北滄州 061001)
LED顯示屏控制系統(tǒng)的軟件設(shè)計
劉紅娜,張海濤
(滄州職業(yè)技術(shù)學(xué)院信息工程系,河北滄州 061001)
LED顯示系統(tǒng)是根據(jù)點陣數(shù)據(jù)來顯示漢字、字符及圖像信息的。該設(shè)計利用字庫將輸入文本的字模提取出來,轉(zhuǎn)換為適用于單片機(jī)的格式,并可將其保存為.txt文件或利用VB的ActiveX控件通過串口與單片機(jī)進(jìn)行通信,具體的通信參數(shù)可以動態(tài)設(shè)置,從而實現(xiàn)對LED顯示屏的控制作用。
LED;VB;字模提取;串行通信
LED顯示系統(tǒng)用于顯示漢字、字符及圖像信息,廣泛應(yīng)用于鐵路、銀行、工廠及戶外廣告媒體,在人們的日常生活、工業(yè)生產(chǎn)中成為用來傳播信息、共享信息的重要工具。通常,LED顯示系統(tǒng)是根據(jù)漢字或字符的點陣數(shù)據(jù)進(jìn)行顯示的。本設(shè)計利用字庫將輸入文字的字模提取出來,并可轉(zhuǎn)換為適合于單片機(jī)的格式,保存為文本文件或利用串口與單片機(jī)進(jìn)行通信,從而實現(xiàn)對LED顯示屏的控制作用。設(shè)計界面中還具有一個LED模擬顯示屏,使提取字模后的文字效果可預(yù)先在計算機(jī)屏幕上顯示出來。
本系統(tǒng)的主要功能模塊有3個:字模的提取模塊、模擬LED顯示模塊和串行通信模塊,如圖1所示。為了方便用戶操作,在系統(tǒng)中針對這3個功能模塊設(shè)置了相應(yīng)的菜單項,分別對這3個模塊進(jìn)行了介紹。
一個漢字或字符可以看作多個點陣的排列,筆畫經(jīng)過的地方為“1”,未經(jīng)過的地方為“0”,這些“1”和“0”數(shù)據(jù)信息如果按照一定的順序排列,就組成漢字或字符的點陣字模。要想顯示一個漢字或字符,首先必須得到這樣的點陣字模。
圖1 功能框圖Fig.1 Functional block diagram
在本設(shè)計中,點陣字模利用 HZK16和ASC16兩個字庫文件獲取,字模提取的程序流程如圖2所示。
每個漢字在字庫中有唯一的區(qū)位碼與之對應(yīng),根據(jù)漢字的機(jī)內(nèi)碼可以確定其區(qū)位碼及其在字庫中的起始位置,就可以從字庫中取出漢字字模[1,2]。具體步驟如下。
根據(jù)漢字的機(jī)內(nèi)碼推算出區(qū)位碼:
區(qū)碼=機(jī)內(nèi)碼高字節(jié)-A 0H;
位碼=機(jī)內(nèi)碼低字節(jié)-A 0H。
根據(jù)區(qū)位碼計算出漢字在字庫中的偏移地址(即漢字在字庫中的位置):
偏移地址=[94*(區(qū)碼-1)+(位碼-1)]*32。
由于16×16的點陣字庫,每個漢字占32個字節(jié),以此偏移地址為基點連續(xù)讀取32個字節(jié)就是該漢字的點陣字模[3]。ASCII碼的顯示與漢字的顯示基本原理相同。其顯示點陣直接按ASCII碼從小到大依次排列,只是每個ASCII碼在文本文件中只占1個字節(jié)且小于80H,而且ASCII碼為8×16點陣,所以在ASC16文件中,每個ASCII碼的點陣也只占16個字節(jié)。
下面是根據(jù)上述思路提取字模數(shù)據(jù)的關(guān)鍵代碼。
圖2 字模提取流程圖Fig.2 Dot-matrix abstraction flow chart
在字模提取模塊中,不但可以對單個漢字或字符進(jìn)行點陣數(shù)據(jù)的提取,還可對多個漢字或字符進(jìn)行處理,這樣就增加了系統(tǒng)的實用性,在實際應(yīng)用中,可對一個通知、一段消息或一條文字性廣告進(jìn)行顯示控制。
圖3是字模提取軟件的主界面,該設(shè)計在主界面中完成對漢字或字符點陣數(shù)據(jù)的提取功能,可實現(xiàn)16×16點陣格式的字模提取。
在一些情況下,提取的點陣數(shù)據(jù)較多或需要提取到別的地方使用,為了方便用戶,該軟件可以利用Open語句創(chuàng)建文件,并向文件輸出字符(Output),將提取的點陣數(shù)據(jù)進(jìn)行保存。使用菜單欄中“文件”/“保存為.txt文件”即可實現(xiàn),保存效果如圖4所示。
圖3 主界面Fig.3 Main interface
為了使用戶能更直觀地看到提取的點陣數(shù)據(jù)顯示出文字或字符的效果,在主界面的右上方,利用PictureBox控件設(shè)計了一個LED模擬顯示屏[4],使提取字模后的文字效果可預(yù)先在計算機(jī)屏幕上顯示出來,并且具有不同的顯示控制方式[5]。LED模擬顯示屏的程序流程如圖5所示。
如果被提取字模的漢字或字符有多個,可以單擊“上一個”、“下一個”按鈕來控制顯示不同的漢字或字符,這是默認(rèn)的顯示方式。除此之外,菜單欄中“顯示”/“循環(huán)”可以將文字的顯示方
式改為每隔1.5 s就向后顯示一個字,直到最后一個字顯示完畢再從頭開始自動循環(huán)。在這種顯示模式中主要采用了 Timer控件進(jìn)行控制。
下面是實現(xiàn)循環(huán)顯示的關(guān)鍵代碼。
圖4 點陣數(shù)據(jù)文件Fig.4 Dot-matrix data file
同時,為了保持界面的美觀,還可以對LED模擬顯示屏的顏色進(jìn)行設(shè)置。
在得到字模數(shù)據(jù)后,如果用戶需要,可以把字模數(shù)據(jù)利用串行口發(fā)送給單片機(jī)。
Visual Basic中的控件分為2類,一類是標(biāo)準(zhǔn)控件,另一類是ActiveX控件。VB在標(biāo)準(zhǔn)串口通信方面提供的具有強(qiáng)大功能的通信控件M SCOMM就屬于ActiveX控件[6,7],該控件可設(shè)置串行通信數(shù)據(jù)的發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置,可直接利用PC機(jī)的串行口發(fā)送數(shù)據(jù)。
圖5 LED模擬顯示流程圖Fig.5 LED analog disp lay flow chart
圖6是字模數(shù)據(jù)發(fā)送界面,可對串行通信的端口、波特率進(jìn)行設(shè)置,如果數(shù)據(jù)格式與單片機(jī)的不匹配,可在發(fā)送區(qū)對其格式進(jìn)行更改。為實現(xiàn)單片機(jī)與 PC機(jī)的可靠通信,須保證雙方具有相同的數(shù)據(jù)格式和波特率。
下面是實現(xiàn)串行口通信的關(guān)鍵代碼。
圖6 數(shù)據(jù)發(fā)送界面Fig.6 Data transmission interface
本設(shè)計利用字庫提取并保存輸入漢字和字符的字模數(shù)據(jù),同時更為直觀地模擬LED顯示,可預(yù)先在計算機(jī)屏幕上顯示出文字效果,并可根據(jù)用戶需要調(diào)整顯示方式。串口通信模塊的設(shè)計實現(xiàn)了通過串口將字模數(shù)據(jù)發(fā)送到單片機(jī)中,使其顯示內(nèi)容豐富,信息更換靈活,具有較強(qiáng)的實用性,可應(yīng)用到需要點陣數(shù)據(jù)的場合。
[1] 詹良材.基于89C51的硬件漢字庫的設(shè)計[J].鄂州大學(xué)學(xué)報(Journal of Ezhou University),2006,13(6):20-22.
[2] 陸文飛,張有忱,張若弛.利用VC實現(xiàn)漢字字模提取及串行通信[J].電腦知識與技術(shù)(Computer Know ledge and Technology),2006(17):121-123.
[3] 吳紅衛(wèi),沈 博.基于LabV IEW的漢字點陣字模提取[J].三峽大學(xué)學(xué)報(自然科學(xué)版)(Journal of China Three Gorges University(Natural Sciences)),2006,28(6):545-547.
[4] 李現(xiàn)國,苗長云,袁臣虎.字模提取及基于Proteus的串行通信仿真[J].微計算機(jī)信息(Control&Automation),2008,24(8):274-275.
[5] 孫翠麗,田學(xué)東,郭寶蘭.實現(xiàn)基于分割窗口的位圖顯示與通信[J].河北科技大學(xué)學(xué)報(Journal of Hebei University of Science and Technology),2001,22(3):14-18.
[6] 王秀青,韓冬梅.Visual Basic在系統(tǒng)機(jī)和前端機(jī)群間串行通訊中的應(yīng)用[J].河北工業(yè)科技(Hebei Journal of Industrial Science and Technology),2003,20(4):22-24.
[7] 黃風(fēng)山,錢惠芬,方憶湘,等.在VB中用動態(tài)鏈接庫技術(shù)實現(xiàn)工程數(shù)據(jù)的采集[J].河北科技大學(xué)學(xué)報(Journal of Hebei University of Science and Technology),2002,23(3):68-71.
Software design of LED disp lay control system
L IU Hong-na,ZHANG Hai-tao
(Department of Info rmation Engineering,Cangzhou Vocational College of Technology,Cangzhou Hebei 061001,China)
LED disp lay system is based on the dotmatrix data to disp lay Chinese characters,character and image info rmation.Thematrix of the inqut text is extracted from font library and converted to the format suited for single-chip.Then it can be saved as TXT file o r by using VB’s ActiveX controls through the serial port,the communication with the single-chip is possible,The specific dynamicsof communication parameters can be set up to achieve control of LED disp lay.
LED;VB;dot-matrix abstraction;serial communication
TP312
A
1008-1542(2010)01-0030-05
2009-06-11;
2009-09-11;責(zé)任編輯:陳書欣
劉紅娜(1981-),女,河北滄州人,主要從事通信工程方面的研究。