《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的LED點(diǎn)陣顯示控制的設(shè)計(jì)
基于單片機(jī)的LED點(diǎn)陣顯示控制的設(shè)計(jì)
電子設(shè)計(jì)工程
韓團(tuán)軍 陜西理工學(xué)院
摘要: LED點(diǎn)陣顯示屏具有運(yùn)行可靠、安全、節(jié)能,、成本低、使用方便等特點(diǎn),。本文討論了基于單片機(jī)的LED點(diǎn)陣顯示控制系統(tǒng)設(shè)計(jì)所用的各種方法,制作出一個(gè)以單片機(jī)作為控制單元的點(diǎn)陣顯示屏,。設(shè)計(jì)采用動(dòng)態(tài)掃描的顯示方法
Abstract:
Key words :

摘要:LED點(diǎn)陣顯示屏具有運(yùn)行可靠,、安全、節(jié)能,、成本低,、使用方便等特點(diǎn)。本文討論了基于單片機(jī)的LED點(diǎn)陣顯示控制系統(tǒng)設(shè)計(jì)所用的各種方法,,制作出一個(gè)以單片機(jī)作為控制單元的點(diǎn)陣顯示屏,。設(shè)計(jì)采用動(dòng)態(tài)掃描的顯示方法,,選取74LS154和74LS595芯片分別構(gòu)成行、列驅(qū)動(dòng)電路,,單片機(jī)通過行,、列驅(qū)動(dòng)電路,可對(duì)點(diǎn)陣顯示模塊單元進(jìn)行行列信號(hào)控制,,達(dá)到控制點(diǎn)陣顯示屏正常顯示漢字,、圖片信息的設(shè)計(jì)要求。
關(guān)鍵詞:點(diǎn)陣LED,;單片機(jī),;顯示控制;芯片

    由于單片機(jī)技術(shù)的不斷發(fā)展以及高亮度LED發(fā)光管的出現(xiàn),,使得大屏幕高亮度LED電子廣告屏成為可能。與傳統(tǒng)的霓虹燈廣告相比,,LED電子廣告屏在顯示效果以及可修改性上都有著無法比擬的優(yōu)勢(shì),,而且單片機(jī)的日益平民化以及LED技術(shù)的不斷創(chuàng)新,使得高亮度高清晰的LED點(diǎn)陣廣告牌與傳統(tǒng)霓虹燈廣告牌的成本日益接近,。另外,,SMT技術(shù)飛速發(fā)展,開關(guān)電源的大規(guī)模使用,,使其無論在體積上還是在可靠性上都比傳統(tǒng)的霓虹燈廣告有明顯的優(yōu)勢(shì),,為其在特殊領(lǐng)域的應(yīng)用奠定了基礎(chǔ)。

1 設(shè)計(jì)原理與設(shè)計(jì)方案
1.1 設(shè)計(jì)原理
    對(duì)于點(diǎn)陣型LED顯示可以采用共陰極或共陽極,,本系統(tǒng)采用共陽極,,其硬件電路如圖1所示。當(dāng)行上有一正選通信號(hào)時(shí),,列選端四位數(shù)據(jù)為0的發(fā)光二極管便導(dǎo)通點(diǎn)亮,。這樣只需要將圖形或文字的顯示編碼作為列信號(hào)跟對(duì)應(yīng)的行信號(hào)進(jìn)行逐次掃描,就可以逐行點(diǎn)亮點(diǎn)陣,。只要掃描速度大于24 Hz,,由于掃描時(shí)間很快,人眼的視覺有暫留效應(yīng),,就可以看到顯示的是完整的圖形或文字,。

a.jpg


    本次設(shè)計(jì)要完成基于單片機(jī)的LED點(diǎn)陣顯示控制的設(shè)計(jì),總體方案是以單片機(jī)為控制核心,,通過行列驅(qū)動(dòng)電路,,在LED點(diǎn)陣屏上以靜止、左移,、右移等方式顯示文字,。在設(shè)計(jì)過程中驅(qū)動(dòng)電路運(yùn)用動(dòng)態(tài)掃描顯示,動(dòng)態(tài)掃描簡(jiǎn)單地說就是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行(比如16行)的同名列共用一套列驅(qū)動(dòng)器,。由于動(dòng)態(tài)掃描顯示(并行傳輸)的局限性,,故采用動(dòng)態(tài)掃描顯示(串行傳輸),顯示模式用LED點(diǎn)陣屏模塊作顯示屏,。
1.2 總體方案
    本次設(shè)計(jì)單片機(jī)采用AT89C51,,行電路使用逐行掃描的方式,列電路使用串入并出的數(shù)據(jù)傳輸方式,,顯示屏使用由16x16的點(diǎn)陣LED組成的點(diǎn)陣模塊,。使用到的芯片有傳入并出移位寄存器74LS595、4線-16線譯碼器74LS154和三極管8550,??傮w設(shè)計(jì)框圖如圖2所示。

b.jpg



2 系統(tǒng)硬件設(shè)計(jì)
    硬件電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路,、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路以及LED點(diǎn)陣陣列3部分,,用到的芯片有單片機(jī)AT89C51,4線-16線譯碼器74LS154,,帶鎖存功能的串入并出移位寄存器74LS595,。
2.1 單片機(jī)系統(tǒng)及外圍電路
    單片機(jī)采用AT89C51。系統(tǒng)采用12 MHz或更高頻率的晶振,,以獲得較高的刷新頻率,,使顯示更穩(wěn)定。單片價(jià)的串口與列驅(qū)動(dòng)器相連,,用來送顯示數(shù)據(jù),。P1口低4位與行驅(qū)動(dòng)器相連,送出行選信號(hào),,P1.5~P1.7口則用來發(fā)送控制信號(hào),。P0和P2口空閑,在必要時(shí)可以擴(kuò)展系統(tǒng)的ROM和RAM,。

2.2 時(shí)鐘脈沖電路
    AT89C51的最高時(shí)鐘脈沖頻率已經(jīng)達(dá)到24 MHz,,它內(nèi)部已經(jīng)具備了振蕩電路,只要在AT89C51的兩個(gè)引腳(即19,、18腳)連接到簡(jiǎn)單的石英振蕩晶體的2個(gè)管腳即可,,同時(shí)晶體的2個(gè)管腳也要用30 pF的電容耦合到地,如圖3所示,。

c.jpg


2.3 復(fù)位電路
    AT89C51的復(fù)位引腳(RESET)是第9腳,,當(dāng)此引腳連接高電平超過2個(gè)機(jī)器周期時(shí),即可產(chǎn)生復(fù)位的動(dòng)作,。以24 MHz的時(shí)鐘脈沖為例,,每個(gè)時(shí)鐘脈沖為05μs,,兩個(gè)機(jī)器周期為1 μs,因此,,在第9腳上連接1個(gè)2μs的高電平脈沖,,即可產(chǎn)生復(fù)位動(dòng)作。最簡(jiǎn)單的就是只有1個(gè)電阻跟1個(gè)電容就可構(gòu)成可靠復(fù)位的電路,,電阻一般選擇10 kΩ,,電容一般選擇10μF,如圖4所示,。

d.jpg


2.4 點(diǎn)陣顯示驅(qū)動(dòng)電路設(shè)計(jì)
    由于題目要求不允許使用集成驅(qū)動(dòng)電路,,但不采取驅(qū)動(dòng)電路,顯示屏不穩(wěn)定,、亮度不高,,故采取分立元件三極管作驅(qū)動(dòng)電路,驅(qū)動(dòng)電路如圖5所示,。

e.jpg



3 系統(tǒng)軟件設(shè)計(jì)
    顯示屏軟件的主要功能是向顯示屏提供顯示數(shù)據(jù),,并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示,。
根據(jù)軟件分層次設(shè)計(jì)的原理,可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動(dòng)程序,,第二層是上層的系統(tǒng)應(yīng)用程序,。顯示驅(qū)動(dòng)程序負(fù)責(zé)向點(diǎn)陣屏傳送特定組合的顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號(hào)和其他控制信號(hào),,配合完成LED顯示屏的掃描顯示工作,。顯示驅(qū)動(dòng)程序由顯示子程序?qū)崿F(xiàn);系統(tǒng)環(huán)境設(shè)置(初始化)由系統(tǒng)初始化程序完成,;顯示效果處理等工作,,則由主程序通過調(diào)用子程序來實(shí)現(xiàn)。
3.1 顯示驅(qū)動(dòng)程序
    顯示驅(qū)動(dòng)程序在進(jìn)入中斷后首先要對(duì)定時(shí)器T0重新賦初值,,以保證顯示屏刷新率的穩(wěn)定,。16行掃描格式的顯示屏刷新率(幀頻)的計(jì)算公式如下:
    f.jpg
    其中:F為晶振頻率;T為定時(shí)器T0初值(工作在16位定時(shí)器模式),。
    其次,,顯示驅(qū)動(dòng)程序查詢當(dāng)前點(diǎn)亮的行號(hào),從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),,并通過串口發(fā)送給移位寄存器,。
    為消除在切換行顯示數(shù)據(jù)時(shí)產(chǎn)生的拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,,即消隱,,等顯示數(shù)據(jù)輸入輸出鎖存器后,,再輸出新的行號(hào),重新打開顯示,。圖6所示為顯示驅(qū)動(dòng)程序(顯示屏掃描函數(shù))流程圖,。

g.jpg


3.2 系統(tǒng)主程序
    系統(tǒng)主程序開始以后,首先是對(duì)系統(tǒng)環(huán)境初始化,,包括設(shè)置串口,、定時(shí)器、中斷,、端口,。然后以“卷簾出”效果顯示文字或圖案,停留幾秒鐘,,接著向上滾動(dòng)顯示漢字或圖形,,停留幾秒后,再左移顯示漢字或圖形,、右移顯示等,。最后以“卷簾入”效果隱去文字。圖7所示為系統(tǒng)主程序的流程圖,。

h.jpg



4 軟件仿真與硬件實(shí)現(xiàn)
4.1 軟件仿真
    本設(shè)計(jì)的核心單元是單片機(jī)AT89C51,,所以選用單片機(jī)仿真軟件Proteus 7.O和Keil對(duì)整體設(shè)計(jì)進(jìn)行軟件仿真。
    運(yùn)行Proteus中的ISIS模塊對(duì)設(shè)計(jì)好的原理圖進(jìn)行布圖,,仿真電路如圖8所示,。

i.jpg


    將完整的源程序Copy到Keil仿真開發(fā)環(huán)境里,運(yùn)行調(diào)試,。把編譯好的源程序加載到仿真電路圖中,,運(yùn)行程序,在點(diǎn)陣顯示屏上按設(shè)計(jì)的顯示效果依次以“卷簾入”,、“左卷簾”,、“右卷簾”、“卷簾出”顯示結(jié)果正確,。
4.2 硬件實(shí)現(xiàn)
    軟件仿真通過后,,充分證明了方案的正確性與可行性。按照設(shè)計(jì)方案進(jìn)行硬件電路的搭建并進(jìn)行調(diào)試,。結(jié)果正確如下圖9所示,。

j.jpg

5 結(jié)束語
    本文通過設(shè)計(jì)基于單片機(jī)的LED點(diǎn)陣顯示控制的設(shè)計(jì),對(duì)LED顯示模塊單元如何進(jìn)行行列信號(hào)控制及信號(hào)傳輸中的驅(qū)動(dòng)問題進(jìn)行了研究,。給出了硬件的原理以及連接的方法,,軟件的設(shè)計(jì)流程以及部分代碼,并給出了完整的電路圖,,結(jié)果可以正常顯示漢字,、圖片信息,,并且可動(dòng)態(tài)顯示。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。