肖娟
摘要:LED點陣電子顯示屏有色彩鮮艷、亮度高、工作穩(wěn)定、功耗低、安裝方便等優(yōu)點,廣泛應(yīng)用于各種公共場合,如廣告屏、宣傳欄、銀行叫號器等。本文主要討論使用8×8LED點陣模塊組成的16×16發(fā)光點陣,由實現(xiàn)單個漢字的顯示原理過渡到多個漢字的動態(tài)循環(huán)顯示。通過掌握單片機控制16×16LED點陣屏的漢字顯示方法,能夠設(shè)計并制作基于16×16LED點陣屏的漢字顯示系統(tǒng)。
關(guān)鍵詞:單片機;LED點陣;漢字顯示;驅(qū)動電路
LED點陣顯示器一般由基本點陣單元組成,它的屏體部分由微處理器(主要是單片機)和驅(qū)動電路控制運行,能夠顯示圖像或文字。本文通過單片機來控制16X16點陣漢字系統(tǒng)的運行,采用逐行掃描的方式實現(xiàn)漢字的顯示,主要分為兩大部分:控制部分和LED點陣顯示屏??刂撇糠值男酒茿T89S51單片機,利用c語言編程并下載程序,從而實現(xiàn)對單片機各個引腳的控制;LED點陣顯示屏包括驅(qū)動電路和4個8X8點陣模塊,74LSl38譯碼器輸出控制顯示屏的行掃描,單片機端口直接驅(qū)動列,通過對行列驅(qū)動電路的動態(tài)控制來實現(xiàn)漢字的顯示。用點陣LED實現(xiàn)漢字顯示,將從以下幾個方面進(jìn)行討論。
一、LED點陣基礎(chǔ)知識
單色LED點陣,是將很多單個LED按照矩陣的形式排列,通過控制每一個LED發(fā)光或熄滅,來顯示各種復(fù)雜字符或圖形。圖像由很多“像素”組成,通過LED點陣來顯示,就構(gòu)成了整個圖像。為節(jié)約成本,點陣顯示往往采用動態(tài)掃描的方式顯示。單色8X8點陣實物圖和結(jié)構(gòu)圖如下圖a,b所示,從圖中可以看出,8X8點陣共由64個發(fā)光二極管組成,每個發(fā)光二極管放在行線和列線的交叉點上,當(dāng)對應(yīng)的某一行(H端)置1,某一列(L端)置0,則行列交叉位置的發(fā)光二極管被點亮。
二、LED點陣顯示原理
簡單的漢字顯示屏的制作,由單片機控制漢字的顯示內(nèi)容,為了降低成本,16X16點陣使用了四塊8X8模塊,下面介紹16X 16點陣顯示原理。如下圖顯示漢字“無”。
我們把要顯示的點用二進(jìn)制1表示,不顯示的點用0表示。將字型數(shù)據(jù)分成上下兩個8行,共16行,每行各占16列,如果每列分別用一位二進(jìn)制數(shù)表示,這樣每行將占用兩個字節(jié)。因此,一個漢字可以用32個字節(jié)的點陣碼來表示。如果采用逐行掃描方式,要在16X 16點陣上顯示一個字符,則要把需要用到的漢字的字模以表格形式存儲到單片機中,每一行以適當(dāng)?shù)乃俣确謨纱蝹魉蛿?shù)據(jù)(左右兩部分),16行全部送完后,就可顯示出一幀漢字。LED有一定的響應(yīng)時間和余輝效應(yīng),如果給它的電平持續(xù)時間很短,如1us將不能充分點亮,一般要求電平持續(xù)時間是1ms左右。當(dāng)一個LED點亮后撤掉電平,它不會立即熄滅,這樣從左到右掃描完一幀,看起來就是同時亮的。了解漢字的顯示原理之后,如何得到漢字的字模信息呢?可以先描點畫圖像再轉(zhuǎn)換,也可以利用漢字字模生成軟件,來獲取字符的點陣字模。
三、LED點陣驅(qū)動電路
如果僅使用一只8X8LED點陣作為顯示器件,可以采用8只數(shù)碼管動態(tài)顯示的驅(qū)動電路,如果要顯示更多像素點,則需要將多個8X8點陣組合使用,用四塊8X8點陣可以組成16X16點陣,需要行線和列線各16根來驅(qū)動電路,可以采用鎖存器和譯碼器等電路來驅(qū)動。如果要顯示更多點,則需要更多LED點陣模塊組合,更多顯示驅(qū)動電路。下面的點陣編程應(yīng)用中使用74LSl38譯碼器來作為行驅(qū)動。
四、LED點陣編程應(yīng)用
基于以上LED點陣的基本知識和漢字顯示原理,可以編程實現(xiàn)16X16漢字點陣上輪流顯示“新年快樂”。原理圖如下.
16X16漢字點陣由4個8X8點陣組成,將一個漢字點陣分成16行16列,橫向逐行掃描、取模,字節(jié)倒序。四個74LSl38譯碼器作為行驅(qū)動,片選信號分別受P23,P24,P25,P26引腳電平控制。我們將一個漢字分成上下兩部分,每部分有8行16列,每一行又分成左右兩部分,每個數(shù)據(jù)占一個字節(jié)。點陣上半部分,首先輸出第一行左邊一個字節(jié)的數(shù)據(jù),再輸出右邊的數(shù)據(jù),二至八行同理,直到輸出完上半部分所有數(shù)據(jù);下半部分和上半部分類似,逐行輸出每行從左到右,這樣,從P1口總共輸出32個字節(jié),即構(gòu)成一個漢字。當(dāng)一個漢字顯示完一段時間,則取下一個漢字的32個字節(jié)輸送,如此顯示完四個漢字,又從第一個漢字開始循環(huán)。關(guān)鍵是要找出每一個漢字起始字節(jié)在數(shù)組中的位置,從起始位置開始取連續(xù)32個字節(jié)。指向每個漢字點陣開始位置,用k=32*m表示,m從0開始取0到3。源程序如下:
五、結(jié)論
總之,學(xué)習(xí)用點陣LED實現(xiàn)漢字顯示,要掌握LED點陣顯示原理,能夠理解驅(qū)動電路原理圖,選擇漢字橫向還是縱向取模,根據(jù)電路圖找到顯示漢字的合適方法。理解漢字之間怎么過渡,找到每一個漢字點陣的32個字節(jié)第一個字節(jié)在數(shù)組當(dāng)中的位置,思路要清晰,編好程序并且反復(fù)調(diào)試。