由于單片機技術的不斷發展以及高亮度LED發光管的出現,使得大屏幕高亮度LED電子廣告屏成為可能。與傳統的霓虹燈廣告相比,LED電子廣告屏在顯示效果以及可修改性上都有著無法比擬的優勢,而且單片機的日益平民化以及LED技術的不斷創新,使得高亮度高清晰的LED點陣廣告牌與傳統霓虹燈廣告牌的成本日益接近。另外,SMT技術飛速發展,開關電源的大規模使用,使其無論在體積上還是在可靠性上都比傳統的霓虹燈廣告有明顯的優勢,為其在特殊領域的應用奠定了基礎。 2 系統硬件設計 2.2 時鐘脈沖電路 2.4 點陣顯示驅動電路設計 3.2 系統主程序
1 設計原理與設計方案
1.1 設計原理
對于點陣型LED顯示可以采用共陰極或共陽極,本系統采用共陽極,其硬件電路如圖1所示。當行上有一正選通信號時,列選端四位數據為0的發光二極管便導通點亮。這樣只需要將圖形或文字的顯示編碼作為列信號跟對應的行信號進行逐次掃描,就可以逐行點亮點陣。只要掃描速度大于24 Hz,由于掃描時間很快,人眼的視覺有暫留效應,就可以看到顯示的是完整的圖形或文字。
本次設計要完成基于單片機的LED點陣顯示控制的設計,總體方案是以單片機為控制核心,通過行列驅動電路,在LED點陣屏上以靜止、左移、右移等方式顯示文字。在設計過程中驅動電路運用動態掃描顯示,動態掃描簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現多行(比如16行)的同名列共用一套列驅動器。由于動態掃描顯示(并行傳輸)的局限性,故采用動態掃描顯示(串行傳輸),顯示模式用LED點陣屏模塊作顯示屏。
1.2 總體方案
本次設計單片機采用AT89C51,行電路使用逐行掃描的方式,列電路使用串入并出的數據傳輸方式,顯示屏使用由16x16的點陣LED組成的點陣模塊。使用到的芯片有傳入并出移位寄存器74LS595、4線-16線譯碼器74LS154和三極管8550?傮w設計框圖如圖2所示。
硬件電路大致上可以分成單片機系統及外圍電路、列驅動電路和行驅動電路以及LED點陣陣列3部分,用到的芯片有單片機AT89C51,4線-16線譯碼器74LS154,帶鎖存功能的串入并出移位寄存器74LS595。
2.1 單片機系統及外圍電路
單片機采用AT89C51。系統采用12 MHz或更高頻率的晶振,以獲得較高的刷新頻率,使顯示更穩定。單片價的串口與列驅動器相連,用來送顯示數據。P1口低4位與行驅動器相連,送出行選信號,P1.5~P1.7口則用來發送控制信號。P0和P2口空閑,在必要時可以擴展系統的ROM和RAM。
AT89C51的最高時鐘脈沖頻率已經達到24 MHz,它內部已經具備了振蕩電路,只要在AT89C51的兩個引腳(即19、18腳)連接到簡單的石英振蕩晶體的2個管腳即可,同時晶體的2個管腳也要用30 pF的電容耦合到地,如圖3所示。
2.3 復位電路
AT89C51的復位引腳(RESET)是第9腳,當此引腳連接高電平超過2個機器周期時,即可產生復位的動作。以24 MHz的時鐘脈沖為例,每個時鐘脈沖為05μs,兩個機器周期為1 μs,因此,在第9腳上連接1個2μs的高電平脈沖,即可產生復位動作。最簡單的就是只有1個電阻跟1個電容就可構成可靠復位的電路,電阻一般選擇10 kΩ,電容一般選擇10μF,如圖4所示。
由于題目要求不允許使用集成驅動電路,但不采取驅動電路,顯示屏不穩定、亮度不高,故采取分立元件三極管作驅動電路,驅動電路如圖5所示。
3 系統軟件設計
顯示屏軟件的主要功能是向顯示屏提供顯示數據,并產生各種控制信號,使屏幕按設計的要求顯示。
根據軟件分層次設計的原理,可把顯示屏的軟件系統分成兩大層:第一層是底層的顯示驅動程序,第二層是上層的系統應用程序。顯示驅動程序負責向點陣屏傳送特定組合的顯示數據,并負責產生行掃描信號和其他控制信號,配合完成led顯示屏的掃描顯示工作。顯示驅動程序由顯示子程序實現;系統環境設置(初始化)由系統初始化程序完成;顯示效果處理等工作,則由主程序通過調用子程序來實現。
3.1 顯示驅動程序
顯示驅動程序在進入中斷后首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩定。16行掃描格式的顯示屏刷新率(幀頻)的計算公式如下:
其中:F為晶振頻率;T為定時器T0初值(工作在16位定時器模式)。
其次,顯示驅動程序查詢當前點亮的行號,從顯示緩存區內讀取下一行的顯示數據,并通過串口發送給移位寄存器。
為消除在切換行顯示數據時產生的拖尾現象,驅動程序先要關閉顯示屏,即消隱,等顯示數據輸入輸出鎖存器后,再輸出新的行號,重新打開顯示。圖6所示為顯示驅動程序(顯示屏掃描函數)流程圖。
系統主程序開始以后,首先是對系統環境初始化,包括設置串口、定時器、中斷、端口。然后以“卷簾出”效果顯示文字或圖案,停留幾秒鐘,接著向上滾動顯示漢字或圖形,停留幾秒后,再左移顯示漢字或圖形、右移顯示等。最后以“卷簾入”效果隱去文字。圖7所示為系統主程序的流程圖。
4 軟件仿真與硬件實現
4.1 軟件仿真
本設計的核心單元是單片機AT89C51,所以選用單片機仿真軟件Proteus 7.O和Keil對整體設計進行軟件仿真。
運行Proteus中的ISIS模塊對設計好的原理圖進行布圖,仿真電路如圖8所示。
將完整的源程序Copy到Keil仿真開發環境里,運行調試。把編譯好的源程序加載到仿真電路圖中,運行程序,在點陣顯示屏上按設計的顯示效果依次以“卷簾入”、“左卷簾”、“右卷簾”、“卷簾出”顯示結果正確。
4.2 硬件實現
軟件仿真通過后,充分證明了方案的正確性與可行性。按照設計方案進行硬件電路的搭建并進行調試。結果正確如下圖9所示。
5 結束語
本文通過設計基于單片機的LED點陣顯示控制的設計,對LED顯示模塊單元如何進行行列信號控制及信號傳輸中的驅動問題進行了研究。給出了硬件的原理以及連接的方法,軟件的設計流程以及部分代碼,并給出了完整的電路圖,結果可以正常顯示漢字、圖片信息,并且可動態顯示。
更多相關: AV集成
©版權所有。未經許可,不得轉載。