LED點陣電子顯示屏制作簡單,安裝方便,被廣泛應用于各種公共場合,如汽車報站器、廣告屏以及公告牌等。本文介紹的是一種可用在值班室外等場合的公告牌的LED點陣電子顯示屏設計。公告內容隨時可以更新,能夠實時顯示溫度和日期時間,并具有自動亮度調節功能。考慮到所需元器件的易購性,本設計使用了8×8的點陣發光管模塊,組成16×64發光點陣,顯示待定的中文、字符以及數字。 方案論證 1 點陣顯示屏部分 方案一:串行方式顯示。這種方式可同時顯示4個16×l6點陣漢字或8個16×8點陣的漢字、字符或數字。點陣顯示屏每個單元由16個8×8點陣LED顯示模塊、行信號選擇譯碼器74HC138、驅動器74HC245、數據移位寄存器74HC245和行驅動器組成,如圖1所示。單元顯示屏可以接收控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數據信息和命令信息,并可將這些數據信息和命令信息不經任何變化地再傳送到下一級顯示模塊單元中,因此顯示屏可擴展至更多的顯示單元,用于顯示更多的內容。 圖1 串行方式顯示邏輯結構框圖 此方案為點陣顯示屏系統中比較常用的,所用器件也比較常用,容易買到。但是它存在一個致命的缺點,就是刷新速度不夠快。如果要驅動64列點陣顯示,通用51單片機會比較吃力,出現比較嚴重的閃爍停滯現象。此外,要實現文字的左右移動和調整移動速度等功能,都會給軟件設計帶來較多困難。 方案二:并行方式顯示。可以通過鎖存器芯片來擴展IO口,達到控制LED點陣的64個列線的目的。方案中運用16片鎖存器74HC573來組成8組雙緩沖寄存器,驅動LED點陣的8組列線,用4/16譯碼器74HC595對LED點陣的16行進行掃描。在送每一行的數據到LED點陣前,先把數據分別送到第一級的8個74HC573,然后再給第二級的8個74HC573送鎖脈沖,數據一起輸出到LED點陣列中,這樣就避免了各行數據顯示不同步問題。由于并行數據傳輸速度比串行快,所以字符閃爍的問題得到較好地解決,文字左右移動也比較容易控制。綜上所述,本設計最終選擇了這個方案。 2 顯示屏控制部分 方案一:單機工作模式。采用一個單片機控制實現所有功能,其中包括LED點陣顯示屏的刷新顯示、模式設定、時間讀取、溫度檢測,以及與上位機的通信等。只用一個單片機控制點陣顯示屏可以使電路大大減化,軟件設計方面也容易實現。但是,將所有功能集成在一起,一片AT89S52單片機處理能力是不夠的。此時,單片機的CPU內部資源已顯不足,會導致系統功能欠佳,達不到較好的性能。 方案二:主從工作模式。采用主從單片機工作方式來控制整個系統。其中一個單片機用于控制LED點陣顯示,另外一個單片機用于擴展鍵盤、串口與上位機通信、溫度測量、時間讀取等工作。相對單機工作方式,主從工作模式的處理能力大大提高,并且分工明確,執行速度得到很大的提高。雖然硬件電路以及軟件設計方面要求相對高了一些,更涉及到主從單片機通信問題。但是,為了更好地實現各項性能指標,本設計采用了這種方案。 硬件電路設計 本系統硬件電路設計的整體框圖如圖2所示。 圖2 LED點陣顯示屏系統框圖 1 系統主控器電路 系統主控器電路如圖3所示,即為一單片機最小系統,外加擴展槽與一些功能電路,通過鍵盤掃描來確定工作模式以及完成相關操作。還包括了時間芯片電路和溫度檢測電路,以及與上位機RS-232接口電路。 圖3 主控器電路 本設計采用的DS1302是具有涓細電流充電能力的電路,主要特點是采用串行數據傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。DS18B20是一線式數字溫度傳感器;溫度測量范圍為-55℃~+125℃;測溫分辨率可達0.0625℃;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個DS18B20可以并聯到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。以上特點使其非常適用于遠距離多點溫度檢測系統。 2 點陣驅動與控制電路 該電路主要將單片機發送來的輸出點陣數據,通過鎖存器芯片擴展的I0口,來控制LED點陣的64個列線端。本設計中用的是16片鎖存器74HC573來組成8組雙緩沖寄存器,驅動LED點陣的8組列線,用4/16譯碼器74HC595對LED點陣的16行進行掃描。在送每一行的數據到LED點陣前,先把數據分別送到第一級的8個74HC573,然后再給第二級的8個74HC573送一個鎖脈沖,將數據一起送到LED點陣的各列。 軟件設計 本設計的軟件流程如圖4所示。 圖4 LED點陣顯示屏軟件流程 電路仿真與測試 1 點陣顯示屏的仿真與程序調試 Proteus7.2是一款比較常用的單片機仿真軟件,許多仿真實例與實際電路非常相似。為了盡可能確保實際電路能達到預期的效果,減少無用功,對許多電路模塊的方案進行了仿真。對點陣顯示的處理與相應程序設計,配合使用Proteus與Keil uvision2進行仿真,旨在改善提高整機系統的硬件與軟件方案,提高系統運行效率與穩定性。 在點陣顯示方式的方案選擇上,通過不斷修改程序與串行電路接法后發現串行方式很難實現字幕的右移功能,調整字幕移動的速度也不方便。經過分析,決定試用并行方式顯示,結果發現這種方式電路不算復雜,并且給程序設計帶來很多便利,特別是便于實現字幕的左右移動與移動速度的設定。本系統仿真電路如圖5所示。 圖5 Proteus仿真電路圖 2 整機測試 把編譯器生成的代碼HEX文件下載到單片機Flash中,連接好各個模塊,將LED點陣顯示屏的功能逐一測試實現。 結束語 本設計所要求的顯示漢字、字母和數字均已實現,并能控制文字的左右移動及速度。同時,溫度與日期時間可以實時顯示,并且與上位機聯機通信成功。整機系統的硬件制作簡便,難點是軟件設計。本系統采用并行方式顯示,并且采用主從單片機來控制整個系統,這樣能夠大大減化軟件的編寫難度,容易實現各項功能指標。 |