王文勝
摘 要:本文分為三大部分對漢字LED顯示模塊的制作進行介紹,一是系統(tǒng)總體設計思路,二是系統(tǒng)硬件設計,三是系統(tǒng)軟件設計,其中重點闡述了基于AT89C51單片機控制的 16×16 LED漢字點陣顯示的電路的設計方案、顯示電路的工作原理、硬件電路設計與制作和控制程序編寫等關鍵技術。
關鍵詞:單片機;LED點陣;漢字顯示
LED顯示屏的應用已經(jīng)十分廣泛,在政府機關單位、學校、醫(yī)院、商場、宣傳欄門口用LED顯示文字及圖形,取代了傳統(tǒng)的紙質(zhì)或燈箱廣告。LED作為一個新興發(fā)展的行業(yè),更換文字及圖形方便快捷,可重復利用,越來越多的商家會采用LED廣告屏。
1 LED控制系統(tǒng)設計思路
1.LED系統(tǒng)電路主要由AT89C51單片機、電源模塊、驅(qū)動模塊、顯示模塊構成,如圖1所示。
2.總電路圖如圖2所示。P1口低4位接譯碼器74LS154譯碼輸出經(jīng)過三極管8550放大后作為行輸出,其中P1.7口輸出控制74LS154的工作。列方面采用74HC595集成芯片,P1.5、P1.6口信號作為時鐘和清零脈沖控制,而串口的信號作為74HC595的工作選通和輸出的移位控制。單片機通過程序同時控制行和列的掃描就能得到想要的文字或圖形。
2 LED系統(tǒng)各模塊電路工作原理
1.單片機控制模塊
單片機采用AT89C51芯片。該芯片帶4K字節(jié)可編程存儲器、128字節(jié)內(nèi)部RAM、32可編程I/O線、兩個16位定時器/計數(shù)器、5個中斷元、片內(nèi)振蕩電路及時鐘電路。
(1)引腳功能說明
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
(2)單片機最小系統(tǒng)如圖4所示,由時鐘、復位電路構成。
2.驅(qū)動模塊
(1)列驅(qū)動
列驅(qū)動電路設計如圖5所示。采用兩個74HC595芯片,每一個控制8列。74HC595內(nèi)含8位串入、串/并出移位存儲器和8位三態(tài)輸出鎖存器。具有速度快、功耗小、操作簡單的特點,可以很方便地用于單片機接口進行驅(qū)動LED的操作。
(2)行驅(qū)動
電路設計如圖6所示。74LS154把單片機P1.0-P1.3輸出的二進制信號譯碼后生成16個選通信號線,再經(jīng)過三極管驅(qū)動對應的行線,如圖4所示。一個三極管要帶動16列的LED發(fā)光顯示,每一個發(fā)光二極管按8 mA電流計算,16個 LED同時發(fā)光時,需要128mA電流。
3.LED顯示模塊
(1) LED點陣顯示屏中的每個發(fā)光二極管即代表一個像素,發(fā)光二極管的個數(shù)越多,像素越高,顯示的內(nèi)容越豐富。8X8的點陣只能顯示一些比較簡單的符號,顯示一個漢字至少需要16 X16的點陣。 市面上很少16X16LED顯示屏,可采用4個8X8LED組成16X16LED顯示屏的方法。連接方法如圖7所示,用四個點陣對應的行線和列線分別進行連接,使每一條行線引腳接一行16個LED,列線也相同。并注意要將行線和列線引出一定長度的引腳,以便連接其他驅(qū)動。單片機中點陣LED的顯示原理和計算機中的圖像和字符的顯示原理類似,需要顯示的數(shù)據(jù)以0和1來表示的。點陣LED顯示模塊由若干行列點陣組成一個顯示矩陣。需要顯示的圖像和字符都以0或1組成的顯示矩陣方式來保存,通過液晶顯示控制器,在點陣上對0或1的信息以熄滅或點亮的方式進行顯示,最終顯示出整個圖像和字符。
(2)字庫提取,可從網(wǎng)上下載一個字模生成軟件,設置好打開字庫提取軟件,輸入漢字,點擊檢索,十六進制數(shù)據(jù)的漢字代碼即可自動生成,把代碼復制到程序中即可。字庫代碼獲取方法如圖8所示,
4.電源模塊
電源的選取既要考慮電壓的大小,還要考慮功率的需求。功率主要消耗在顯示屏上,功率不夠會導致發(fā)光亮度不足。本系統(tǒng)可采用100W/5V電源。
3 系統(tǒng)程序的設計與調(diào)試
系統(tǒng)主程序開始以后,先對系統(tǒng)復位,然后以“卷簾出”效果顯示“河源技師學院”文字,停留約數(shù)秒后;接著向上滾動顯示 “河源技師學院”文字,停留約數(shù)秒后;再向左跑馬顯示“河源技師學院”文字,然后以“卷簾入”效果隱去“河源技師學院”6個文字。停留時間的長短可以通過軟件設置,由于單片機沒有設置停機指令,系統(tǒng)程序會不斷地循環(huán)執(zhí)行上述顯示效果,程序編寫完成后在Proteus仿真軟件中調(diào)試,然后在硬件電路中調(diào)試。程序流程圖如圖8所示。
參考文獻
[1]金杰,郭寶生.基于Proteus仿真的單片機技能應用[M].北京:電子工業(yè)出版社,2014年
[2]蔡寶全,孫立津.STC單片機應用教程[M].北京:電子工業(yè)出版社,2014年
[3]潘永雄,伍軍.單片機原理與應用(第三版)[M]..北京:電子工業(yè)出版社,2013年
[4]趙曉安.計算機硬件技術基礎教程——MCS-51單片機原理及應用[M].天津:天津大學出版社,2006年
[5]雷林均.單片機控制裝置安裝與調(diào)試[M].北京:電子工業(yè)出版社,2011年
[6]李志亰.單片機應用技能實訓[M].南京:江蘇教育出版社,2010年