劉紅娜,張海濤
(滄州職業技術學院信息工程系,河北滄州 061001)
LED顯示屏控制系統的軟件設計
劉紅娜,張海濤
(滄州職業技術學院信息工程系,河北滄州 061001)
LED顯示系統是根據點陣數據來顯示漢字、字符及圖像信息的。該設計利用字庫將輸入文本的字模提取出來,轉換為適用于單片機的格式,并可將其保存為.txt文件或利用VB的ActiveX控件通過串口與單片機進行通信,具體的通信參數可以動態設置,從而實現對LED顯示屏的控制作用。
LED;VB;字模提取;串行通信
LED顯示系統用于顯示漢字、字符及圖像信息,廣泛應用于鐵路、銀行、工廠及戶外廣告媒體,在人們的日常生活、工業生產中成為用來傳播信息、共享信息的重要工具。通常,LED顯示系統是根據漢字或字符的點陣數據進行顯示的。本設計利用字庫將輸入文字的字模提取出來,并可轉換為適合于單片機的格式,保存為文本文件或利用串口與單片機進行通信,從而實現對LED顯示屏的控制作用。設計界面中還具有一個LED模擬顯示屏,使提取字模后的文字效果可預先在計算機屏幕上顯示出來。
本系統的主要功能模塊有3個:字模的提取模塊、模擬LED顯示模塊和串行通信模塊,如圖1所示。為了方便用戶操作,在系統中針對這3個功能模塊設置了相應的菜單項,分別對這3個模塊進行了介紹。
一個漢字或字符可以看作多個點陣的排列,筆畫經過的地方為“1”,未經過的地方為“0”,這些“1”和“0”數據信息如果按照一定的順序排列,就組成漢字或字符的點陣字模。要想顯示一個漢字或字符,首先必須得到這樣的點陣字模。

圖1 功能框圖Fig.1 Functional block diagram
在本設計中,點陣字模利用 HZK16和ASC16兩個字庫文件獲取,字模提取的程序流程如圖2所示。
每個漢字在字庫中有唯一的區位碼與之對應,根據漢字的機內碼可以確定其區位碼及其在字庫中的起始位置,就可以從字庫中取出漢字字模[1,2]。具體步驟如下。
根據漢字的機內碼推算出區位碼:
區碼=機內碼高字節-A 0H;
位碼=機內碼低字節-A 0H。
根據區位碼計算出漢字在字庫中的偏移地址(即漢字在字庫中的位置):
偏移地址=[94*(區碼-1)+(位碼-1)]*32。
由于16×16的點陣字庫,每個漢字占32個字節,以此偏移地址為基點連續讀取32個字節就是該漢字的點陣字模[3]。ASCII碼的顯示與漢字的顯示基本原理相同。其顯示點陣直接按ASCII碼從小到大依次排列,只是每個ASCII碼在文本文件中只占1個字節且小于80H,而且ASCII碼為8×16點陣,所以在ASC16文件中,每個ASCII碼的點陣也只占16個字節。
下面是根據上述思路提取字模數據的關鍵代碼。


圖2 字模提取流程圖Fig.2 Dot-matrix abstraction flow chart

在字模提取模塊中,不但可以對單個漢字或字符進行點陣數據的提取,還可對多個漢字或字符進行處理,這樣就增加了系統的實用性,在實際應用中,可對一個通知、一段消息或一條文字性廣告進行顯示控制。
圖3是字模提取軟件的主界面,該設計在主界面中完成對漢字或字符點陣數據的提取功能,可實現16×16點陣格式的字模提取。
在一些情況下,提取的點陣數據較多或需要提取到別的地方使用,為了方便用戶,該軟件可以利用Open語句創建文件,并向文件輸出字符(Output),將提取的點陣數據進行保存。使用菜單欄中“文件”/“保存為.txt文件”即可實現,保存效果如圖4所示。

圖3 主界面Fig.3 Main interface
為了使用戶能更直觀地看到提取的點陣數據顯示出文字或字符的效果,在主界面的右上方,利用PictureBox控件設計了一個LED模擬顯示屏[4],使提取字模后的文字效果可預先在計算機屏幕上顯示出來,并且具有不同的顯示控制方式[5]。LED模擬顯示屏的程序流程如圖5所示。
如果被提取字模的漢字或字符有多個,可以單擊“上一個”、“下一個”按鈕來控制顯示不同的漢字或字符,這是默認的顯示方式。除此之外,菜單欄中“顯示”/“循環”可以將文字的顯示方
式改為每隔1.5 s就向后顯示一個字,直到最后一個字顯示完畢再從頭開始自動循環。在這種顯示模式中主要采用了 Timer控件進行控制。
下面是實現循環顯示的關鍵代碼。


圖4 點陣數據文件Fig.4 Dot-matrix data file

同時,為了保持界面的美觀,還可以對LED模擬顯示屏的顏色進行設置。
在得到字模數據后,如果用戶需要,可以把字模數據利用串行口發送給單片機。
Visual Basic中的控件分為2類,一類是標準控件,另一類是ActiveX控件。VB在標準串口通信方面提供的具有強大功能的通信控件M SCOMM就屬于ActiveX控件[6,7],該控件可設置串行通信數據的發送和接收,對串口狀態及串口通信的信息格式和協議進行設置,可直接利用PC機的串行口發送數據。

圖5 LED模擬顯示流程圖Fig.5 LED analog disp lay flow chart
圖6是字模數據發送界面,可對串行通信的端口、波特率進行設置,如果數據格式與單片機的不匹配,可在發送區對其格式進行更改。為實現單片機與 PC機的可靠通信,須保證雙方具有相同的數據格式和波特率。
下面是實現串行口通信的關鍵代碼。


圖6 數據發送界面Fig.6 Data transmission interface

本設計利用字庫提取并保存輸入漢字和字符的字模數據,同時更為直觀地模擬LED顯示,可預先在計算機屏幕上顯示出文字效果,并可根據用戶需要調整顯示方式。串口通信模塊的設計實現了通過串口將字模數據發送到單片機中,使其顯示內容豐富,信息更換靈活,具有較強的實用性,可應用到需要點陣數據的場合。
[1] 詹良材.基于89C51的硬件漢字庫的設計[J].鄂州大學學報(Journal of Ezhou University),2006,13(6):20-22.
[2] 陸文飛,張有忱,張若弛.利用VC實現漢字字模提取及串行通信[J].電腦知識與技術(Computer Know ledge and Technology),2006(17):121-123.
[3] 吳紅衛,沈 博.基于LabV IEW的漢字點陣字模提取[J].三峽大學學報(自然科學版)(Journal of China Three Gorges University(Natural Sciences)),2006,28(6):545-547.
[4] 李現國,苗長云,袁臣虎.字模提取及基于Proteus的串行通信仿真[J].微計算機信息(Control&Automation),2008,24(8):274-275.
[5] 孫翠麗,田學東,郭寶蘭.實現基于分割窗口的位圖顯示與通信[J].河北科技大學學報(Journal of Hebei University of Science and Technology),2001,22(3):14-18.
[6] 王秀青,韓冬梅.Visual Basic在系統機和前端機群間串行通訊中的應用[J].河北工業科技(Hebei Journal of Industrial Science and Technology),2003,20(4):22-24.
[7] 黃風山,錢惠芬,方憶湘,等.在VB中用動態鏈接庫技術實現工程數據的采集[J].河北科技大學學報(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;責任編輯:陳書欣
劉紅娜(1981-),女,河北滄州人,主要從事通信工程方面的研究。