肖娟



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