金柱
【摘 要】LED顯示屏作為一種新型的顯示器件,是由多個發光二極管按矩陣形式排列封裝而成,通常用來顯示時間、圖文等信息。本設計是基于ATS52單片機的16×16顯示屏,其中包含了硬件、軟件、調試等方案的設計。此外,該設計只需簡單的級聯就能實現顯示屏的拓展,但級聯時要注意不要超過驅動負載范圍。
【關鍵詞】ATS52;LED;單片機
1 設計意義
LED顯示屏是—種通過控制半導體發光二極管的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計算機進行控制,圖文、圖像并茂;以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動畫、錄像、電視、VCD節目以及現場實況。LED顯示屏顯示畫面色彩鮮艷,立體感強,靜如油畫,動如電影,廣泛應用于車站、碼頭、機場、商場、醫院、賓館、銀行、證券市場、建筑市場、拍賣行、工業企業管理和其它公共場所。
它的優點:亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅動簡單、壽命長、耐沖擊、性能穩定。
2 系統功能要求
設計—個能顯示16×16點陣圖文LED顯示屏,要求能顯示圖文或文字,顯示圖文或文字應穩定、清晰,圖文或文字顯示,以卷簾形式向上滾動顯示。
3 方案設計
3.1 總體設計
3.2 設計論證
一般有靜態和動態顯示兩種方案,靜態方案雖然設計簡單,但其使用的管腳太多,如本設計中16×16的點陣共有256個發光二極管,顯然單片機沒有這么多的端口,如果我采用鎖存器來擴展端口,按8位的鎖存器來計算,16×16的點陣需要256/8=32個鎖存器。這個數字很龐大,因為我們僅僅是16×16的點陣,在實際應用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數字。因此在實際應用中的顯示屏幾乎都不采用這種設計,而采用另外一種稱為動態掃描的顯示方法。
動態掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現多行(比如16行)的同名列共用—套驅動器。具體就16x16的點陣來說,把所有同1行的發光管的陽極連在一起,把所有同1列的發光管的陰極連在—起(共陽極的接法),先送出對應第一行發光管亮滅的數據并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行的數據并鎖存,然后選通第2行使其燃亮相同的時間,然后熄 火;以此類推,第16行之后,義重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現象,就能夠看到顯示屏上穩定的圖形了。
采用掃描方式進行顯示時,每一行有一個行驅動器,各行的同名列共用一個驅動器。顯示數據通常存儲在單片機的存儲器中,按8位一個字節的形式順序排放。顯示時要把—行和各列的數據都傳送到相應的 列驅動器上去,這就存在一個顯示數據傳輸的問題。從控制電路到驅動器的數據傳輸可以采用并列方式或串行方式。顯然,采用并行方式時,從控制電路到列驅動器的線路數量大,相應的硬件數目多。當列數很多時,并列傳輸的方案是不可取的。
3.3 點陣及其驅動部分
點陣顯示用是動的態掃描來實現的。在采用掃描方式顯示時,由于每行要帶動十六個二極管,每行電流較大。若每個二極管安5mA計算,十六個二極管就得80mA電流,超出單片機管腳的承受范圍,因此每行都加有一個驅動器,本設計的行驅動用的是十六個pnp型三極管。二極管的發射極接5V電壓,集電極接點陣的行線,而其基級本應接單片機,但該接線方式占用為了16個單片機管腳,為了節省單片機管腳,用了一片74LS154譯碼器這樣就只需要3個管腳了。
4 軟件設計
本軟件要求實現如下要求:漢字要穩定、明亮并且文字要以—定速度上升滾動顯示。
顯示屏軟件模塊:初始化程序、主程序、多字滾動、顯示程序、掃描程序。顯示程序的主要功能是向屏體提供顯示數據,并產生各種控制信號,使屏幕按設計的要求顯示。軟件設計中,顯示屏的軟件系統分為兩層;第一層是底層的顯示驅動程序,第二層是上層的系統應用程序。顯示驅動程序負責向屏體送顯示數據,并負責產生行掃描信號和其他控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅動器程序由定時器T0中斷程序實現。系統應用程序完成系統環境設置(初始化)、顯示效果處理等工作,由主程序來實現。
4.1 顯示驅動程序
顯示驅動程序在進人中斷后首先要對定時器TO重新賦初值,以保證顯示屏刷新率的穩定,1/16掃描顯示屏的刷新率(幀頻)計算公式如下:刷頻率(幀頻)二1/16xT0溢=l/16Xf/12(65536-t)。其中f位晶振頻率,t為定時器TO初值(工作在16位定時器模式)。
然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區內讀取下—行的顯示數據,并通過串口發送給移位寄存器。為消除在切換行顯示數據的時候產生拖尾現象,驅動程序先要關閉顯示屏,即消隱,等顯示數據打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。
4.2 系統主程序
本設計的系統軟件能使系統LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字顯示有靜止、移人移出等顯示方式。
系統主程序開始以后,首先是對系統環境初始化,包括設置串口、定時器、中斷和端口;然后以“卷簾出”效果顯示圖形,停留約幾秒;接著向上滾動顯示“——”這幾個漢字及一個圖形,然后以“卷簾人”效果隱去圖形。由于單片機沒有停機指令,所以可以設置系統程序不斷的循環執行上述顯示效果。單元顯示屏可以接收來自控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數據信息和命令信息,并可將這些數據信息和命令信息不經任何變化地再傳送到下一級顯示模塊單元中,因此顯示板可擴展至更多的顯示單元,用于顯示更多的顯示內容。
如果想改變些事內容,先用字模產生字代碼,將用這段代碼覆蓋原來的代碼,即可顯示你想要的內容。
5 設計總結
本文設計的16×16的點陣LED圖文顯示屏,能夠在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示的圖形和文字較穩定、清晰。圖形或文字向上滾動顯示。本系統具有硬件少,結構簡單,容易實現,性能穩定可靠,成本低等特點。
在此次設計中,我們得到以下體會:(1)在這次點陣設計的過程讓我進一步熟悉KEIL及Proteus的使用。(2)本次設計結果仍有缺陷,有—行總是全亮,干擾顯示。(3)通過這次點陣設計,重新復習并進一步學習了MCS-52優點,明確了研究目標。(4)本文設計的LED顯示屏能夠實現在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾。圖形或文字以移人移出方式顯示。(5)在后的設計中,既要想到電路器件的聯合使用,又要靈活變通,舉一反三。在焊接方面,我們了解到焊接某些器件時,要先消去電烙鐵上的靜電,防止靜電對芯片特別是放大器件造成傷害,焊接二極管、三極管等芯片要快,防止持續高溫損壞芯片。
[責任編輯:丁艷]