如何使用AT89C51單片機控制LED顯示屏的電路設計
LED顯示屏廣泛應用于工礦企業(yè)、學校、商場、店鋪、公共場所等進行圖文顯示,廣告宣傳,信息發(fā)布。本文設計一種由4個16×16點陣LED模塊組成的顯示屏,由單片機作控制器,平滑移動顯示任意多個文字或圖形符號,本電路可級聯(lián)擴展實現(xiàn)由任意多個16×16點陣LED模塊組成的顯示屏。
1 電路設計
控制電路由AT89C51單片機作控制器,顯示屏由4個16×16點陣LED模塊組成,每個16×16點陣LED模塊由4個8×8點陣LED模塊組成,用戶可根據(jù)需要擴展增加任意多個16×16點陣LED模塊。8×8點陣LED模塊結(jié)構(gòu)如圖1所示,共8行8列,每個發(fā)光二極管放置在行線和列線的交叉點上,共64個發(fā)光二極管。當某一列為高電平,某一行為低電平時,則對應的發(fā)光二極管點亮。
單片機P3.0引腳接串入并出移位寄存器74LS164(U10)的串行數(shù)據(jù)輸入端,8個74LS164(U10~U17)級聯(lián),P3.1引腳接8個74LSl64的時鐘脈沖輸入端;8個74LS164分別接8個鎖存器74LS373(U18~U25),8個鎖存器的數(shù)據(jù)輸出端接4個16×16點陣LED模塊的行線,每個16×16點陣LED模塊的行線是獨立控制的。P1.O接8個74LS164(U2~U9)的時鐘脈沖輸入端,P1.1接U2、U4、U6、U8的串行數(shù)據(jù)輸入端,每兩個74LSl64(U2和U3,U4和U5,U6和U7,U8和U9)級聯(lián);U2~U9的并行數(shù)據(jù)輸出端接4個16×16點陣LED模塊的64條列線。P1.2接所有74LSl64的清0端,P1.3接鎖存器的鎖存控制端。
2 工作原理
本電路利用串行通信口工作于方式0,同時利用P1.O和P1.1模擬串行輸出,來實現(xiàn)LED顯示屏字符平滑移動顯示。由于LED模塊為16× 16點陣,所以字符點陣也為16×16點陣,即每個字符由32個字節(jié)即16個字數(shù)據(jù)組成,每個字數(shù)據(jù)決定了每列LED點亮的情況。16×16點陣字符數(shù)據(jù)由字符點陣提取軟件獲得。
首先單片機P1.1串行輸出一位二進制位“1”,經(jīng)4組74LSl64給4個16×16點陣LED模塊的第1列送入一高電平,接著由P3.O串行輸出4個16×16點陣LED模塊的第1列行數(shù)據(jù),即Y1,Y17,Y33,Y49列的行數(shù)據(jù),經(jīng)74LS373鎖存后送LED顯示屏的行線,此時每個LED模塊第1列對應的LED點亮。每列的行數(shù)據(jù)為1個字數(shù)據(jù),4列共4個字數(shù)據(jù),每個字數(shù)據(jù)首字節(jié)在字符點陣數(shù)據(jù)表中的地址相差32,此時每個LED模塊顯示每個字符的第1列。接著P1.1串行輸出一位二進制位“0”,經(jīng)4組74LS164移位后給4個LED模塊的第2列送入一高電平,再由P3.O串行輸出4個16× 16點陣LED模塊的第2列行數(shù)據(jù),即Y2,Y18,Y34,Y50列的行數(shù)據(jù),經(jīng)74LS373鎖存后送LED顯示屏的行線,此時每個LED模塊第2列對應的LED點亮,即顯示每個字符的第2列。如此循環(huán),依次點亮每個LED模塊每列對應的LED,直到點亮每個LED模塊的第16列,即依次顯示每個字符的各列。只要每列交替顯示的時間適當,利用人眼的視覺暫留特性,看上去16列LED同時點亮,即看上去整個字符同時顯示。然后再從第1列依次掃描顯示至16列,如此循環(huán)多次,以確保顯示出的字符具有足夠的亮度。
為實現(xiàn)字符平滑移動顯示的效果,在上面實現(xiàn)的4個字符靜態(tài)顯示一定時間后,再次掃描顯示時,每個LED模塊的第1列從每個字符的第2列數(shù)據(jù)開始掃描顯示,即第1個LED模塊顯示第1個字符的第2列、第3列、……、第16列和第2個字符的第1列,第2個LED模塊顯示第2個字符的第2列、第3列、……、第16列和第3個字符的第1列、第2列、……。當?shù)谌螔呙栾@示時,每個LED模塊的第1列從每個字符的第3列數(shù)據(jù)開始掃描顯示,即第1個LED模塊顯示第1個字符的第3列、第4列、……、第16列和第2個字符的第1列、第2列,第2個LED模塊顯示第2個字符的第3列、第4列、……、第16列和第3個字符的第1列、第2列、……。如此實現(xiàn)了字符的平滑移動顯示。
3 程序設計
根據(jù)以上電路設計及工作原理,繪制出本電路的控制程序流程圖。按程序流程圖編寫出控制程序,用Wave或Keil軟件調(diào)試通過后,產(chǎn)生目標代碼文件。
4電路仿真
將目標代碼文件加入用Proteus軟件繪制的LED顯示屏控制電路仿真圖中的單片機中,仿真運行,運行結(jié)果如圖4所示。
5 結(jié)語
該LED顯示屏控制電路用單片機作為控制器,采用串行移位輸出方式,實現(xiàn)了一行字符的平滑移動顯示,在實際應用時還應加上相關(guān)驅(qū)動電路。本電路可擴展實現(xiàn)由任意多個16×16點陣LED模塊組成的LED顯示屏顯示控制。經(jīng)實際應用表明,該電路穩(wěn)定可靠,效果良好。