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