基于AVR單片機的LED顯示屏控制系統(tǒng)的研究
系統(tǒng)軟件設計包括上位機軟件的設計、下位機程序設計兩部分。
上位機軟件完成圖像和文字的編輯,通過計算機串行接口把顯示數(shù)據(jù)傳送到控制卡上??刂瓶ń邮丈衔粰C的數(shù)據(jù)并通過內部Boot Loader 區(qū)的程序進行FLASH ROM 內顯示數(shù)據(jù)的自更新??刂瓶ò扬@示數(shù)據(jù)進行分割處理后發(fā)送給每個單元板,并且完成顯示數(shù)據(jù)不同方式處理。
4. 1 下位機程序設計
下位機軟件設計分為兩大功能塊: 顯示部分和通信部分。顯示部分采用動態(tài)掃描的方式,實現(xiàn)對顯示屏要顯示的漢字、圖象、字符等數(shù)據(jù)信息進行傳輸控制以及顯示等功能。與PC 機的實時通信部分主要是利用單片機串口中斷接收和發(fā)送數(shù)據(jù)信息,實現(xiàn)與計算機的實時數(shù)據(jù)信息傳輸。程序可以實現(xiàn)與計算機的通信,可非常方便地任意修改所要顯示的漢字、圖像等; 并使顯示屏可按你選擇顯示方式進行漢字或表格顯示。設計程序的流程圖如圖2 所示。
圖2 系統(tǒng)程序流程圖
軟件系統(tǒng)采用模塊化結構,包括主程序、顯示子程序和串口中斷服務程序。主程序為順序結構,完成堆棧、中斷、串口的初始化設置后,循環(huán)調用顯示子程序,以及響應串行接收或發(fā)送中斷指令;顯示子程序從顯示緩沖區(qū)取出字模,輸出行選通信號至P0 口并通過一個通用邏輯陣列74HC00D 輸出,配合列掃描信號,進行動態(tài)掃描顯示; 中斷服務程序串口接收PC 機發(fā)送的漢字機內碼數(shù)據(jù),實現(xiàn)與計算機實時通信。程序各部分的功能, 由各個模塊分別實現(xiàn)。程序模塊有: 串口初始化模塊、數(shù)據(jù)輸入模塊、漢字首地址計算模塊、取字模塊、顯示模塊和移動模塊。系統(tǒng)顯示流程圖如圖3 所示。
圖3 系統(tǒng)顯示流程圖
4. 2 人機交互界面的設計
上位機軟件使用可視化編程工具Visual Basic.NET 開發(fā),主要完成圖像的取點、線性補償和點陣數(shù)據(jù)生成。首先將圖像文件轉換為96 × 64 分辨率、256 階色深的單色灰度圖像,由于使用占空比驅動的LED 其占空比/ 亮度為對數(shù)特性,所以需加入指數(shù)特性調整為線性之后才能交付顯示系統(tǒng)進行顯示。
通過MSComm 控件實現(xiàn)PC 機與單元板的通信。系統(tǒng)主界面如圖4 所示。
圖4 上位機主界面
5 結論
本系統(tǒng)設計著重于對單色屏的研究,對于灰度不同的真彩色LED 顯示屏的設計以及設備的驅動,有待于進一步的學習探討。而且本設計所用的控制卡只能控制顯示屏的單色顯示,如果能顯示雙色,甚至三色那就更方便了。LED 顯示屏可以顯示變化的數(shù)字、文字、圖形圖像,不僅可以用于室內環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點。LED 甚至可以在信息指示燈、大屏幕顯示、液晶顯示(LCD) 的背照明等新技術中應用。它是未來智能交通系統(tǒng)的顯示手段之一。
由于LED 顯示屏的分析、設計與實際應用環(huán)境及應用目的有很大關系,所以對其控制系統(tǒng)的要求也是不同的。如果顯示屏的面積要求很大,屏幕顯示的信息量超大,那么要傳輸?shù)臄?shù)據(jù)量也隨之增大,如何設計出更理想的字模保存方法以及數(shù)據(jù)傳輸時的壓縮算法需要進一步的研究和探討。
評論