大屏幕LED顯示屏控制系統(tǒng)設計
2.4 點陣顯示數(shù)據(jù)存儲電路
要顯示的漢字和字符信息在PC機上編輯并轉換為點陣顯示數(shù)據(jù)后,經(jīng)串口傳輸給單片機,由單片機存儲在存儲器中。本存儲器采用I2C總線接口串行E2PROM存儲器AT24C1024,其容量為128 KB,一個16×16點陣漢字為32 B,可存儲4K個漢字。通過一根數(shù)據(jù)線(SDA)和一根時鐘線(SCL)與單片機相連,其接口電路如圖5所示。本文引用地址:http://www.ex-cimer.com/article/167367.htm
2.5 顯示屏電路
本設計顯示屏以顯示2行4列字符為例,每個字符由1個16×16 LED點陣模塊顯示,每行由4個16×16LED點陣模塊組成,共8個16×16 LED點陣模塊。擴展時,如每行需增加1個字符顯示,則每行增加1個16×16 LED點陣模塊;如需增加1行字符顯示,則增加1行N個16×16 LED點陣模塊;并與擴展的列驅(qū)動相應電路連接。2行4列字符顯示屏如圖6所示。
3 程序設計
整個系統(tǒng)程序主要由顯示程序和通信程序組成。顯示程序采用動態(tài)掃描方式,實現(xiàn)漢字、字符、數(shù)字、圖像等信息的控制及顯示功能。顯示程序設計方法:
(1)從P0.1輸出行掃描信號;
(2)從P0.6串行輸出第1行漢字16行LED中某行點陣數(shù)據(jù),從P0.7串行輸出第2行漢字16行LED中某行點陣數(shù)據(jù),從P0.3輸出移位脈沖,從P0.4輸出鎖存脈沖,點陣數(shù)據(jù)串行輸入74HC595,并經(jīng)串/并轉換后的并行數(shù)據(jù)鎖存于74HC595中;
(3)從P0.5輸出列數(shù)據(jù)輸出使能信號,顯示字符的點陣數(shù)據(jù)并行輸出到顯示屏各行字符16×16 LED點陣模塊的2×N×16列,形成列驅(qū)動信號,與行掃描信號一起點亮各行字符相應LED行的有關LED;
(4)延時1~2 ms,此時間受閃爍頻率的限制,不能太大,應保證掃描1行字符所有16行LED(即一幀數(shù)據(jù))所用時間之和在40 ms以內(nèi);
(5)重復上述操作,輸出各行字符的下一行LED點陣數(shù)據(jù),直到所有16行LED全部掃描顯示一次,即完成一幀數(shù)據(jù)的顯示;
(6)重新掃描顯示各行字符的第1行LED,開始下一幀數(shù)據(jù)的掃描顯示,如此不斷地循環(huán),即可完成相應的畫面顯示;
(7)要更新畫面時,只須將新畫面的點陣數(shù)據(jù)由PC機串口送到單片機存儲在存儲器中即可;
(8)可實現(xiàn)上下、左右移動等多種顯示方式。
通信程序中的上位機軟件采用VB或VC編程,利用通信控件MSComm通過串口發(fā)送和接收數(shù)據(jù),實現(xiàn)PC機與單片機間的串行通信。MSComm控件屏蔽了大部分串行通信的底層操作,使用非常方便,而且在VB,VC,Delphi等中均可使用。
4 系統(tǒng)仿真
用Proteus軟件繪制出大屏幕LED顯示屏控制電路原理圖,將系統(tǒng)控制程序目標代碼文件加入到單片機中,電路仿真運行,運行結果如圖7所示。
5 結語
本文設計的大屏幕LED顯示屏控制系統(tǒng)以AT89S51單片機為控制器,以I2C總線接口串行E2PROM AT24C1024為點陣顯示數(shù)據(jù)存儲器,通過串行口將PC機編輯并轉換得到的顯示信息點陣數(shù)據(jù)傳輸給單片機,可實現(xiàn)M行N列漢字、字符、數(shù)字及圖表的顯示,并可隨時更新顯示內(nèi)容。擴展容易,如屏幕每行需增加一個字符顯示,則在LED顯示屏每行增加一個16×16 LED點陣模塊,對應在每行字符的列驅(qū)動電路增加2塊74HC 595即可;如屏幕需增加一行字符顯示,則在LED顯示屏增加一行N個16×16 LED點陣模塊,對應增加一行字符的列驅(qū)動電路2×N塊74HC595即可。控制靈活,使用方便,可實現(xiàn)上下、左右移動等顯示方式。經(jīng)實際應用表明,該系統(tǒng)穩(wěn)定可靠,效果良好。
評論