LED顯示屏以其可靠性高,、使用壽命長(zhǎng)、環(huán)境適應(yīng)能力強(qiáng),、性價(jià)比高,、操作方便靈活、用戶可隨時(shí)自行修改顯示內(nèi)容,、顯示方式圖文并茂等優(yōu)點(diǎn),,迅速成為平板顯示的主流產(chǎn)品,廣泛應(yīng)用于商場(chǎng),、學(xué)校,、銀行、郵局,、機(jī)場(chǎng),、車站、碼頭,、金融證券市場(chǎng),、文化中心等公共場(chǎng)所進(jìn)行廣告、新聞和信息發(fā)布,。
本文設(shè)計(jì)一種顯示M行N列漢字的LED
顯示屏控制系統(tǒng),,以51單片機(jī)為控制器,可顯示漢字,、字符,、數(shù)字和圖片。用PC機(jī)編輯漢字,、字符等顯示信息,,并轉(zhuǎn)換為相應(yīng)的點(diǎn)陣顯示數(shù)據(jù),,送給單片機(jī)存儲(chǔ)并顯示。
1 系統(tǒng)組成
本LED顯示系統(tǒng)主要由控制系統(tǒng)和顯示屏組成,,控制系統(tǒng)主要由單片機(jī),、串行通信電路、存儲(chǔ)器,、顯示屏及行列驅(qū)動(dòng)電路組成,,顯示屏由M行N列組成,每行和每列由16個(gè)LED組成,,整個(gè)顯示屏由(M×16)×(N×16)個(gè)LED組成,。顯示屏系統(tǒng)組成框圖如圖1所示。
2 控制電路設(shè)計(jì)
本控制電路以AT89S51單片機(jī)為控制器,,顯示M行N列字符,,每個(gè)字符由1個(gè)16×16 LED點(diǎn)陣模塊顯示,顯示屏共由M×N個(gè)16×16 LED點(diǎn)陣模塊組成,。行驅(qū)動(dòng)電路由2塊74HC595級(jí)聯(lián)和2塊ULN2803組成,,每行字符的LED點(diǎn)陣模塊列驅(qū)動(dòng)電路由2×N塊74HC595級(jí)聯(lián)組成,M行共M×2×N塊74HC595,。各行字符的16行LED分別并聯(lián),,由P0.1串行輸出行掃描碼,經(jīng)2塊級(jí)聯(lián)74HC595串/并轉(zhuǎn)換,,再由ULN2803驅(qū)動(dòng)放大后,,送到各行字符的16×16LED點(diǎn)陣模塊的行線端。各行字符的LED點(diǎn)陣模塊列驅(qū)動(dòng)電路分別由2×N塊74HC595級(jí)聯(lián)組成,,獨(dú)立控制,,各行LED點(diǎn)陣模塊的列數(shù)據(jù)由P0.6,P0.7,,…分別輸出,,經(jīng)級(jí)聯(lián)的2×N塊74HC595完成串/并轉(zhuǎn)換,待各行字符對(duì)應(yīng)的LED點(diǎn)陣模塊列數(shù)據(jù)存入74HC595后,,把所有列驅(qū)動(dòng)電路M×2×N塊74HC595的輸出使能端置為低電平,,則各行字符的2×N×16列數(shù)據(jù)一起輸出,顯示屏顯示各行字符的16行中的某一行,。依次掃描各行字符的16行的每一行,,實(shí)現(xiàn)整屏字符的顯示功能。顯示字符由上位PC機(jī)編輯并轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù),,經(jīng)串口串行發(fā)送至單片機(jī),,由單片機(jī)接收后存儲(chǔ)在存儲(chǔ)器中并顯示。
2.1 行驅(qū)動(dòng)電路
使用2塊74HC595和2塊ULN2803作為行驅(qū)動(dòng)器,。74HC595是一個(gè)8位串行輸入三態(tài)并行輸出移位寄存器,,其內(nèi)部的移位寄存器和存儲(chǔ)寄存器分別有各自的時(shí)鐘輸入,,控制各自獨(dú)立,這樣數(shù)據(jù)的準(zhǔn)備和數(shù)據(jù)的顯示可同時(shí)進(jìn)行,,2塊74HC595串行級(jí)聯(lián),。74HC595芯片各引腳功能為:DS為串行數(shù)據(jù)輸入端,Q0…Q7為并行數(shù)據(jù)輸出端,,Q7’為串行數(shù)據(jù)輸出端,,用于級(jí)聯(lián);為移位寄存器清零端,,低電平時(shí)將移位寄存器的數(shù)據(jù)清零,;SH_CP為移位寄存器時(shí)鐘輸入端,上升沿時(shí)移位寄存器的數(shù)據(jù)移位,,下降沿時(shí)移位寄存器數(shù)據(jù)不變,;ST_CP為存儲(chǔ)寄存器時(shí)鐘輸入端,,上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入存儲(chǔ)寄存器,,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變;為輸出使能端,,低電平時(shí)允許數(shù)據(jù)輸出,,高電平時(shí)禁止數(shù)據(jù)輸出。
ULN2803為高電壓,、大電流的8路達(dá)林頓驅(qū)動(dòng)器,,最大工作電壓50 V,驅(qū)動(dòng)電流可達(dá)500 mA,,作為顯示屏的行驅(qū)動(dòng)電路,。ULN2803芯片各引腳功能為:1B~8B為8路輸入端,TTL電平驅(qū)動(dòng),;1C~8C為對(duì)應(yīng)的8路集電極開路輸出端,,外接負(fù)載;10腳為COM端,,當(dāng)外接電阻性負(fù)載時(shí)COM端開路,,當(dāng)外接電感性負(fù)載時(shí)COM端接負(fù)載電源,構(gòu)成在每個(gè)感性負(fù)載兩端并聯(lián)一個(gè)續(xù)流二極管以防止反電勢(shì)擊穿器件,。 各行字符的16行LED分別并聯(lián),,這樣當(dāng)進(jìn)行行掃描時(shí),各行字符對(duì)應(yīng)的LED行同時(shí)掃描,、同時(shí)點(diǎn)亮,,設(shè)LED顯示屏有M行字符,這樣比分別對(duì)每行字符16行LED逐行進(jìn)行掃描快M倍,,實(shí)現(xiàn)了高速顯示控制,。行驅(qū)動(dòng)電路如圖2所示,。由于51單片機(jī)的P0口為漏極開路輸出,ULN2803為集電極開路輸出,,所以均需外接上拉電阻,。
2.2 列驅(qū)動(dòng)電路
使用74HC595作為列驅(qū)動(dòng)電路,每個(gè)字符用2塊74HC595驅(qū)動(dòng),,設(shè)LED顯示屏有M行N列字符,,則每行字符需2×N塊74HC595,M行共需M×2× N塊74HC595,,本設(shè)計(jì)顯示屏以顯示2行4列字符為例,,每行用8塊74HC595,2行共16塊74HC595,。擴(kuò)展時(shí),,如每行需增加1個(gè)字符顯示,則每行再級(jí)聯(lián)2塊74HC595,,如需增加1行字符顯示,,則增加2×N塊74HC595級(jí)聯(lián)電路。每行字符的列驅(qū)動(dòng)是獨(dú)立的,,即每行字符的2×N塊74HC595級(jí)聯(lián),,分別由單片機(jī)的一個(gè)I/O引腳輸出該行字符的點(diǎn)陣顯示數(shù)據(jù),這樣在行驅(qū)動(dòng)電路的配合下實(shí)現(xiàn)了各行字符對(duì)應(yīng)的LED行同時(shí)顯示,,顯示控制速度提高了M倍,。每行字符的點(diǎn)陣顯示數(shù)據(jù)通過模擬串口P0.3~P0.5及P0.6或P0.7…串行輸出給移位寄存器74HC595,經(jīng)串/并轉(zhuǎn)換后由74H C595并行輸出至LED顯示屏的各列,。2行4列字符顯示列驅(qū)動(dòng)電路如圖3所示,。
2.3 PC機(jī)與單片機(jī)串行通信電路
采用MAX232完成RS 232電平與TTL電平的轉(zhuǎn)換,實(shí)現(xiàn)PC機(jī)與單片機(jī)信息交換,。如傳輸距離較遠(yuǎn),,可在兩者之間增加RS 232-RS 485轉(zhuǎn)換器,傳輸距離可達(dá)1 000 m以上,。串行通信電路如圖4所示,。
2.4 點(diǎn)陣顯示數(shù)據(jù)存儲(chǔ)電路
要顯示的漢字和字符信息在PC機(jī)上編輯并轉(zhuǎn)換為點(diǎn)陣顯示數(shù)據(jù)后,經(jīng)串口傳輸給單片機(jī),,由單片機(jī)存儲(chǔ)在存儲(chǔ)器中,。本存儲(chǔ)器采用I2C總線接口串行E2PROM存儲(chǔ)器AT24C1024,其容量為128 KB,,一個(gè)16×16點(diǎn)陣漢字為32 B,,可存儲(chǔ)4K個(gè)漢字。通過一根數(shù)據(jù)線(SDA)和一根時(shí)鐘線(SCL)與單片機(jī)相連,其接口電路如圖5所示,。
2.5 顯示屏電路
本設(shè)計(jì)顯示屏以顯示2行4列字符為例,,每個(gè)字符由1個(gè)16×16 LED點(diǎn)陣模塊顯示,每行由4個(gè)16×16LED點(diǎn)陣模塊組成,,共8個(gè)16×16 LED點(diǎn)陣模塊,。擴(kuò)展時(shí),如每行需增加1個(gè)字符顯示,,則每行增加1個(gè)16×16 LED點(diǎn)陣模塊,;如需增加1行字符顯示,則增加1行N個(gè)16×16 LED點(diǎn)陣模塊,;并與擴(kuò)展的列驅(qū)動(dòng)相應(yīng)電路連接,。2行4列字符顯示屏如圖6所示。
3 程序設(shè)計(jì)
整個(gè)系統(tǒng)程序主要由顯示程序和通信程序組成,。顯示程序采用動(dòng)態(tài)掃描方式,,實(shí)現(xiàn)漢字、字符,、數(shù)字,、圖像等信息的控制及顯示功能。顯示程序設(shè)計(jì)方法:
(1)從P0.1輸出行掃描信號(hào),;
(2)從P0.6串行輸出第1行漢字16行LED中某行點(diǎn)陣數(shù)據(jù),,從P0.7串行輸出第2行漢字16行LED中某行點(diǎn)陣數(shù)據(jù),,從P0.3輸出移位脈沖,,從P0.4輸出鎖存脈沖,點(diǎn)陣數(shù)據(jù)串行輸入74HC595,,并經(jīng)串/并轉(zhuǎn)換后的并行數(shù)據(jù)鎖存于74HC595中,;
(3)從P0.5輸出列數(shù)據(jù)輸出使能信號(hào),顯示字符的點(diǎn)陣數(shù)據(jù)并行輸出到顯示屏各行字符16×16 LED點(diǎn)陣模塊的2×N×16列,,形成列驅(qū)動(dòng)信號(hào),,與行掃描信號(hào)一起點(diǎn)亮各行字符相應(yīng)LED行的有關(guān)LED;
(4)延時(shí)1~2 ms,,此時(shí)間受閃爍頻率的限制,,不能太大,應(yīng)保證掃描1行字符所有16行LED(即一幀數(shù)據(jù))所用時(shí)間之和在40 ms以內(nèi),;
(5)重復(fù)上述操作,,輸出各行字符的下一行LED點(diǎn)陣數(shù)據(jù),直到所有16行LED全部掃描顯示一次,,即完成一幀數(shù)據(jù)的顯示,;
(6)重新掃描顯示各行字符的第1行LED,開始下一幀數(shù)據(jù)的掃描顯示,如此不斷地循環(huán),,即可完成相應(yīng)的畫面顯示,;
(7)要更新畫面時(shí),只須將新畫面的點(diǎn)陣數(shù)據(jù)由PC機(jī)串口送到單片機(jī)存儲(chǔ)在存儲(chǔ)器中即可,;
(8)可實(shí)現(xiàn)上下,、左右移動(dòng)等多種顯示方式。
通信程序中的上位機(jī)軟件采用VB或VC編程,,利用通信控件MSComm通過串口發(fā)送和接收數(shù)據(jù),,實(shí)現(xiàn)PC機(jī)與單片機(jī)間的串行通信。MSComm控件屏蔽了大部分串行通信的底層操作,,使用非常方便,,而且在VB,VC,,Delphi等中均可使用,。
4 系統(tǒng)仿真
用Proteus軟件繪制出大屏幕LED顯示屏控制電路原理圖,將系統(tǒng)控制程序目標(biāo)代碼文件加入到單片機(jī)中,,電路仿真運(yùn)行,,運(yùn)行結(jié)果如圖7所示。
<="" div="">
[1] [
2]
- 相關(guān)閱讀
- 編輯:探路者
- 本文引用地址: http://www./LED/2013/0122/article_8700.html
- [發(fā)表評(píng)論]
- [加入收藏]
- [告訴好友]
- [打印本頁]
- [關(guān)閉窗口]
- [返回頂部]
- [RSS訂閱]
="">