黃敦華,趙堂春,李 勇,陶 砂,蔣從根
HUANG Dun-hua, ZHAO Tang-chun, LI Yong, TAO Sha, JIANG Cong-gen
(北京電子科技職業學院 自動化工程學院,北京 100176)
基于32×16 LED顯示屏混合字符顯示的設計與實現
The designing and realizing of mixed character display based on the 32×16 lattice LED display screen
黃敦華,趙堂春,李 勇,陶 砂,蔣從根
HUANG Dun-hua, ZHAO Tang-chun, LI Yong, TAO Sha, JIANG Cong-gen
(北京電子科技職業學院 自動化工程學院,北京 100176)
本文介紹了基于32×16LED顯示屏混合字符顯示的設計與實現,包括本試驗中用到的硬件模塊、LED點陣顯示模塊硬件結構、點陣顯示屏原理圖、循環掃描過程、疊加原理在混合字符顯示上應用、字模編碼的提取、編程流程圖、Keil C51部分程序以及試驗結果。試驗的結果表明設計的可行性、可靠性與新穎性,實現了混合字符在LED顯示屏上的顯示。
LED點陣顯示屏;顯示;設計;疊加原理;實現
隨著信息產業的高速發展,LED顯示屏作為信息傳播的一種重要手段成為現代信息化社會的一個閃亮標志[1,2]。在32×16 LED顯示屏上同時顯示西文字符與漢字時,由于一個西文是占一個ASCII碼的七位二進制, 而一個漢字是占二個擴展ASCII碼的八位二進制, 這樣就造成在32×16 LED顯示屏上顯示寬度不一致的問題, 直接影響顯示的美觀效果[3]。本文巧妙運用“疊加原理”對這個問題予以解決,取得了良好效果。
本試驗以YL236型設備為例,硬件系統由主機模塊(含AT89S52)、32×16點陣顯示模塊、電源模塊、YLISP下載器以及導線等構成。
1.1.1 LED點陣顯示模塊硬件結構
點陣顯示屏由點陣顯示模塊構成,LED點陣顯示模塊由64個發光二極管組成,這64個發光二極管排列成8行×8列的點陣[4]。在同一行中的8個發光二極管的所有正極連接在一起,由一個引腳引出,在同一列中的8個發光二極管的所有負極連接在一起,由一個引腳引出,這樣共有8個行引出腳和8個列引出腳。
1.1.2 點陣顯示屏原理圖
點陣顯示屏由ROW0與ROW1兩排,COL0、COL1、COL2、COL3四列組成,兩排與四列分別由6片74AC573鎖存器進行信號鎖存,兩排均采用了ULN2803A驅動控制[5]。其原理圖如圖1所示。

圖1 點陣顯示屏原理圖
1.1.3 點陣顯示屏接線圖
該試驗中主機、點陣、電源各個模塊的接線圖如圖2所示。

圖2 點陣顯示屏接線圖
1.2.1 循環掃描過程
1)顯示西文字符
若要顯示一個西文字符,可以按逐列顯示或按逐行顯示,即一列一列(或一行一行)將要顯示的點陣信息顯示出來。YL236型8×8點陣模塊從左往右由低到高位,且列線均已接地。如果要在16×8(單字節)顯示屏上顯示一個數字“1”,只占一列(8位),按行顯示,則應在行線上輸出的字模編碼為
“0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0 x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00”共16個字節。顯示時,開始只在ROW0排A1行線上輸出0x00,一段時間后只在A2行線上輸出0x00,又一段時間后只在A3行線上輸出0x00,再一段時間后只在A4行線上輸出0x08,以此類推,一直到只在ROW1排的A8行線上輸出0x00。每16行掃描完后再從ROW0排的A1重新掃描,就可以在LED顯示屏上顯示一個穩定的數字“1”。
2)顯示漢字
同理,若要在16×16(一個漢字占兩個字節)顯示屏上顯示一個漢字“和”, 要占兩列,不妨記為COL0與COL1(8+8位)。按行顯示,則應在行線上輸出的字模編碼為
“0x00,0x00,0xE0,0x00,0x1E,0x00,0x10,0x3E,0 x10,0x22,0xFE,0x22,0x10,0x22,0x18,0x22,0x38,0x22,0x54,0x22,0xD4,0x22,0x52,0x22,0x1 1,0x3E,0x10,0x22,0x10,0x00,0x10,0x00”共32個字節。顯示時,開始只在ROW0排COL0列A1行線上輸出0x00,一段時間后只在ROW0排COL1列A1行線上輸出0x00,又一段時間后只在ROW0排COL0列A2行線上輸出0XE0,再一段時間后只在ROW0排COL1列A2行線上輸出0X00;奇偶列逐行輪流輸出,以此類推,一直到ROW1排COL1列A8行線上輸出0X00。每32行掃描完后再從ROW0排COL0列A1行線重新掃描,就可以在LED顯示屏上顯示一個穩定的漢字“和”。
1.2.2 疊加原理在混合字符顯示上應用
1)疊加原理
在數學與物理中經常出現這樣的現象:幾種不同原因的綜合所產生的效果,等于這些不同原因單獨產生效果的累加。例如,物理中幾個外力作用于一個物體上所產生的加速度,等于各個外力單獨作用在該物體上所產生的加速度的總和,這個原理稱為疊加原理。疊加原理適用范圍非常廣泛,數學上線性方程,線性問題的研究,經常使用疊加原理[6,7]。同理,在LED顯示屏上同時顯示西文與漢字時也可以采用疊加原理來解決。
2)混合字符顯示設計
混合字符顯示是指在LED顯示屏同一“頁”上顯示西文與漢字,譬如“082001班加油”可以通過“0820”、“01班”與“加油”三頁顯示,而在第二頁上顯示的“01班”既有數字又有漢字,而一個數字占16×8點陣,而一個漢字占16×16點陣,用一般方法很難解決此問題。若引入疊加原理,由圖3不難看出“082001班加油”可以由數字串“082001******”(*表示16×8空格)與漢字串“☆☆☆班加油”(☆表示16×16空格)疊加顯示而成,而兩個不同的字符串可以分別用二維數組shuzi[][16]與hanzi[][32]來表示。

圖3 混合字符“疊加原理”

圖4 編程流程圖
1.2.3 字模編碼的提取
采用zimo221軟件,在“參數設置”標簽“選項”對話框中選擇取模方式為“橫向取模”、“字節倒序”、“保留”,字體設置“宋體”、“常規”和“小四”,點擊“確定”;再在“基本操作”中點擊“新建圖像”設置寬度“16”或“8”,高度“16”, 點擊“確定”;再在“文字輸入區”中輸入數字或漢字,ctrl+Enter后,點擊“取模方式”中“C51”即可生成所需要的字模編碼[8,9]。
1.2.4 編程流程圖
混合字符顯示的編程流程圖如圖4所示。
1.2.5 Keil C51編寫的部分參考程序(略)
試驗結果如圖5所示。

圖5 試驗結果
本文提出了一種基于32×16LED顯示屏混合字符顯示的設計與實現方法。詳細介紹了本試驗中用到的硬件模塊、LED點陣顯示模塊硬件結構、點陣顯示屏原理圖、循環掃描過程、疊加原理在混合字符顯示上應用、字模編碼的提取、編程流程圖、Keil C51部分程序以及試驗結果。
本文作者創新點:由于一個西文是占一個ASCII碼的七位二進制, 而一個漢字是占二個擴展ASCII碼的八位二進制, 這樣就造成在32×16 LED顯示屏上顯示寬度不一致的問題, 直接影響顯示的美觀效果。該試驗中作者引入疊加原理,將要顯示的字符串“082001班加油”由數字串“082001******”(*表示16×8空格)與漢字串“☆☆☆班加油”(☆表示16×16空格)疊加顯示,而兩個不同的字符串分別采用二維數組shuzi[][16]與hanzi[][32]來表示。這種思路在混合字符顯示時值得借鑒與應用。試驗的結果表明設計的可行性、可靠性與新穎性,實現了混合字符在LED顯示屏上的顯示。
[1] 林燕雄,雷堂彩.智能LED點陣亮度等級分選儀研制[J].桂林:桂林電子工業學院學報,1999(3):13-14.
[2] 李騏,靳桅,等.基于單片機的LED顯示屏控制系統設計[J].微計算機信息,2009,5-2:110-112.
[3] 韓潤萍,陳小萍.點陣LED顯示屏控制系統[J].微計算機信息,2003(10):26-27.
[4] 趙才榮,劉金娥,丁鐵夫.基于LED圖文屏的多灰度圖像實現方法[J].液晶與顯示,2006(1):5-7.
[5] 葛金印,商聯紅.單片機控制項目訓練教程[M].北京:高等教育出版社,2010.
[6] 馬秀艷,韓國松.疊加原理的數學基礎及其在物理上的應用[J].安陽:安陽師范學院學報,2006(5).
[7] 李平.疊加原理[J].大學物理.1983(9).
[8] 簡獻忠,虞箐,熊曉君,趙虎,居滋培.基于80C51和KEILC51的LED點陣顯示系統[J].儀器儀表學報,2005(1):23-24.
[9] 曾靜,郭金玉,史洪巖.用CPLD實現點陣LED顯示屏測試[J].計量與測試技術,2005(5):31-32.
TP368.1
A
1009-0134(2010)11(下)-0208-03
10.3969/j.issn.1009-0134.2010.11(下).70
2010-09-13
黃敦華(1978 -),男,講師,碩士,研究方向為智能移動機器人技術、機電一體化技術等。