黃敦華,趙堂春,李 勇,陶 砂,蔣從根
HUANG Dun-hua, ZHAO Tang-chun, LI Yong, TAO Sha, JIANG Cong-gen
(北京電子科技職業(yè)學(xué)院 自動(dòng)化工程學(xué)院,北京 100176)
基于32×16 LED顯示屏混合字符顯示的設(shè)計(jì)與實(shí)現(xiàn)
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
(北京電子科技職業(yè)學(xué)院 自動(dòng)化工程學(xué)院,北京 100176)
本文介紹了基于32×16LED顯示屏混合字符顯示的設(shè)計(jì)與實(shí)現(xiàn),包括本試驗(yàn)中用到的硬件模塊、LED點(diǎn)陣顯示模塊硬件結(jié)構(gòu)、點(diǎn)陣顯示屏原理圖、循環(huán)掃描過(guò)程、疊加原理在混合字符顯示上應(yīng)用、字模編碼的提取、編程流程圖、Keil C51部分程序以及試驗(yàn)結(jié)果。試驗(yàn)的結(jié)果表明設(shè)計(jì)的可行性、可靠性與新穎性,實(shí)現(xiàn)了混合字符在LED顯示屏上的顯示。
LED點(diǎn)陣顯示屏;顯示;設(shè)計(jì);疊加原理;實(shí)現(xiàn)
隨著信息產(chǎn)業(yè)的高速發(fā)展,LED顯示屏作為信息傳播的一種重要手段成為現(xiàn)代信息化社會(huì)的一個(gè)閃亮標(biāo)志[1,2]。在32×16 LED顯示屏上同時(shí)顯示西文字符與漢字時(shí),由于一個(gè)西文是占一個(gè)ASCII碼的七位二進(jìn)制, 而一個(gè)漢字是占二個(gè)擴(kuò)展ASCII碼的八位二進(jìn)制, 這樣就造成在32×16 LED顯示屏上顯示寬度不一致的問(wèn)題, 直接影響顯示的美觀效果[3]。本文巧妙運(yùn)用“疊加原理”對(duì)這個(gè)問(wèn)題予以解決,取得了良好效果。
本試驗(yàn)以YL236型設(shè)備為例,硬件系統(tǒng)由主機(jī)模塊(含AT89S52)、32×16點(diǎn)陣顯示模塊、電源模塊、YLISP下載器以及導(dǎo)線等構(gòu)成。
1.1.1 LED點(diǎn)陣顯示模塊硬件結(jié)構(gòu)
點(diǎn)陣顯示屏由點(diǎn)陣顯示模塊構(gòu)成,LED點(diǎn)陣顯示模塊由64個(gè)發(fā)光二極管組成,這64個(gè)發(fā)光二極管排列成8行×8列的點(diǎn)陣[4]。在同一行中的8個(gè)發(fā)光二極管的所有正極連接在一起,由一個(gè)引腳引出,在同一列中的8個(gè)發(fā)光二極管的所有負(fù)極連接在一起,由一個(gè)引腳引出,這樣共有8個(gè)行引出腳和8個(gè)列引出腳。
1.1.2 點(diǎn)陣顯示屏原理圖
點(diǎn)陣顯示屏由ROW0與ROW1兩排,COL0、COL1、COL2、COL3四列組成,兩排與四列分別由6片74AC573鎖存器進(jìn)行信號(hào)鎖存,兩排均采用了ULN2803A驅(qū)動(dòng)控制[5]。其原理圖如圖1所示。
圖1 點(diǎn)陣顯示屏原理圖
1.1.3 點(diǎn)陣顯示屏接線圖
該試驗(yàn)中主機(jī)、點(diǎn)陣、電源各個(gè)模塊的接線圖如圖2所示。
圖2 點(diǎn)陣顯示屏接線圖
1.2.1 循環(huán)掃描過(guò)程
1)顯示西文字符
若要顯示一個(gè)西文字符,可以按逐列顯示或按逐行顯示,即一列一列(或一行一行)將要顯示的點(diǎn)陣信息顯示出來(lái)。YL236型8×8點(diǎn)陣模塊從左往右由低到高位,且列線均已接地。如果要在16×8(單字節(jié))顯示屏上顯示一個(gè)數(shù)字“1”,只占一列(8位),按行顯示,則應(yīng)在行線上輸出的字模編碼為
“0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0 x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00”共16個(gè)字節(jié)。顯示時(shí),開(kāi)始只在ROW0排A1行線上輸出0x00,一段時(shí)間后只在A2行線上輸出0x00,又一段時(shí)間后只在A3行線上輸出0x00,再一段時(shí)間后只在A4行線上輸出0x08,以此類(lèi)推,一直到只在ROW1排的A8行線上輸出0x00。每16行掃描完后再?gòu)腞OW0排的A1重新掃描,就可以在LED顯示屏上顯示一個(gè)穩(wěn)定的數(shù)字“1”。
2)顯示漢字
同理,若要在16×16(一個(gè)漢字占兩個(gè)字節(jié))顯示屏上顯示一個(gè)漢字“和”, 要占兩列,不妨記為COL0與COL1(8+8位)。按行顯示,則應(yīng)在行線上輸出的字模編碼為
“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個(gè)字節(jié)。顯示時(shí),開(kāi)始只在ROW0排COL0列A1行線上輸出0x00,一段時(shí)間后只在ROW0排COL1列A1行線上輸出0x00,又一段時(shí)間后只在ROW0排COL0列A2行線上輸出0XE0,再一段時(shí)間后只在ROW0排COL1列A2行線上輸出0X00;奇偶列逐行輪流輸出,以此類(lèi)推,一直到ROW1排COL1列A8行線上輸出0X00。每32行掃描完后再?gòu)腞OW0排COL0列A1行線重新掃描,就可以在LED顯示屏上顯示一個(gè)穩(wěn)定的漢字“和”。
1.2.2 疊加原理在混合字符顯示上應(yīng)用
1)疊加原理
在數(shù)學(xué)與物理中經(jīng)常出現(xiàn)這樣的現(xiàn)象:幾種不同原因的綜合所產(chǎn)生的效果,等于這些不同原因單獨(dú)產(chǎn)生效果的累加。例如,物理中幾個(gè)外力作用于一個(gè)物體上所產(chǎn)生的加速度,等于各個(gè)外力單獨(dú)作用在該物體上所產(chǎn)生的加速度的總和,這個(gè)原理稱(chēng)為疊加原理。疊加原理適用范圍非常廣泛,數(shù)學(xué)上線性方程,線性問(wèn)題的研究,經(jīng)常使用疊加原理[6,7]。同理,在LED顯示屏上同時(shí)顯示西文與漢字時(shí)也可以采用疊加原理來(lái)解決。
2)混合字符顯示設(shè)計(jì)
混合字符顯示是指在LED顯示屏同一“頁(yè)”上顯示西文與漢字,譬如“082001班加油”可以通過(guò)“0820”、“01班”與“加油”三頁(yè)顯示,而在第二頁(yè)上顯示的“01班”既有數(shù)字又有漢字,而一個(gè)數(shù)字占16×8點(diǎn)陣,而一個(gè)漢字占16×16點(diǎn)陣,用一般方法很難解決此問(wèn)題。若引入疊加原理,由圖3不難看出“082001班加油”可以由數(shù)字串“082001******”(*表示16×8空格)與漢字串“☆☆☆班加油”(☆表示16×16空格)疊加顯示而成,而兩個(gè)不同的字符串可以分別用二維數(shù)組shuzi[][16]與hanzi[][32]來(lái)表示。
圖3 混合字符“疊加原理”
圖4 編程流程圖
1.2.3 字模編碼的提取
采用zimo221軟件,在“參數(shù)設(shè)置”標(biāo)簽“選項(xiàng)”對(duì)話框中選擇取模方式為“橫向取?!薄ⅰ白止?jié)倒序”、“保留”,字體設(shè)置“宋體”、“常規(guī)”和“小四”,點(diǎn)擊“確定”;再在“基本操作”中點(diǎn)擊“新建圖像”設(shè)置寬度“16”或“8”,高度“16”, 點(diǎn)擊“確定”;再在“文字輸入?yún)^(qū)”中輸入數(shù)字或漢字,ctrl+Enter后,點(diǎn)擊“取模方式”中“C51”即可生成所需要的字模編碼[8,9]。
1.2.4 編程流程圖
混合字符顯示的編程流程圖如圖4所示。
1.2.5 Keil C51編寫(xiě)的部分參考程序(略)
試驗(yàn)結(jié)果如圖5所示。
圖5 試驗(yàn)結(jié)果
本文提出了一種基于32×16LED顯示屏混合字符顯示的設(shè)計(jì)與實(shí)現(xiàn)方法。詳細(xì)介紹了本試驗(yàn)中用到的硬件模塊、LED點(diǎn)陣顯示模塊硬件結(jié)構(gòu)、點(diǎn)陣顯示屏原理圖、循環(huán)掃描過(guò)程、疊加原理在混合字符顯示上應(yīng)用、字模編碼的提取、編程流程圖、Keil C51部分程序以及試驗(yàn)結(jié)果。
本文作者創(chuàng)新點(diǎn):由于一個(gè)西文是占一個(gè)ASCII碼的七位二進(jìn)制, 而一個(gè)漢字是占二個(gè)擴(kuò)展ASCII碼的八位二進(jìn)制, 這樣就造成在32×16 LED顯示屏上顯示寬度不一致的問(wèn)題, 直接影響顯示的美觀效果。該試驗(yàn)中作者引入疊加原理,將要顯示的字符串“082001班加油”由數(shù)字串“082001******”(*表示16×8空格)與漢字串“☆☆☆班加油”(☆表示16×16空格)疊加顯示,而兩個(gè)不同的字符串分別采用二維數(shù)組shuzi[][16]與hanzi[][32]來(lái)表示。這種思路在混合字符顯示時(shí)值得借鑒與應(yīng)用。試驗(yàn)的結(jié)果表明設(shè)計(jì)的可行性、可靠性與新穎性,實(shí)現(xiàn)了混合字符在LED顯示屏上的顯示。
[1] 林燕雄,雷堂彩.智能LED點(diǎn)陣亮度等級(jí)分選儀研制[J].桂林:桂林電子工業(yè)學(xué)院學(xué)報(bào),1999(3):13-14.
[2] 李騏,靳桅,等.基于單片機(jī)的LED顯示屏控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,5-2:110-112.
[3] 韓潤(rùn)萍,陳小萍.點(diǎn)陣LED顯示屏控制系統(tǒng)[J].微計(jì)算機(jī)信息,2003(10):26-27.
[4] 趙才榮,劉金娥,丁鐵夫.基于LED圖文屏的多灰度圖像實(shí)現(xiàn)方法[J].液晶與顯示,2006(1):5-7.
[5] 葛金印,商聯(lián)紅.單片機(jī)控制項(xiàng)目訓(xùn)練教程[M].北京:高等教育出版社,2010.
[6] 馬秀艷,韓國(guó)松.疊加原理的數(shù)學(xué)基礎(chǔ)及其在物理上的應(yīng)用[J].安陽(yáng):安陽(yáng)師范學(xué)院學(xué)報(bào),2006(5).
[7] 李平.疊加原理[J].大學(xué)物理.1983(9).
[8] 簡(jiǎn)獻(xiàn)忠,虞箐,熊曉君,趙虎,居滋培.基于80C51和KEILC51的LED點(diǎn)陣顯示系統(tǒng)[J].儀器儀表學(xué)報(bào),2005(1):23-24.
[9] 曾靜,郭金玉,史洪巖.用CPLD實(shí)現(xiàn)點(diǎn)陣LED顯示屏測(cè)試[J].計(jì)量與測(cè)試技術(shù),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 -),男,講師,碩士,研究方向?yàn)橹悄芤苿?dòng)機(jī)器人技術(shù)、機(jī)電一體化技術(shù)等。