0 引言
隨著計算機及相關的微電子.光電子技術的迅猛發(fā)展,LED顯示屏以其可靠性高.使用壽命長.環(huán)境適應能力強.性價比高的特點,迅速成長為平板顯示的主流產品.
目前大多數(shù)的LED 點陣顯示系統(tǒng)自帶字庫,顯示和動態(tài)效果(主要是顯示內容的滾動)的實現(xiàn)依靠硬件掃描驅動,該方法雖然比較方便,但顯示內容不易及時更新,而且當LED顯示屏安裝到戶外時,不能對其進行有效的控制.室內顯示屏通過數(shù)據(jù)線控制,很不方便.
設計圍繞多功能LED 顯示屏進行,顯示方式有上下左右移動,利用PC 機進行顯示內容的實時控制更新.系統(tǒng)使用紅外發(fā)射.接收器構成的遙控電路,遙控接收器通過對紅外光接收并識別,判斷控制操作,來完成整個紅外遙控發(fā)射.接收過程,可以方便地更新顯示內容,更換顯示方式,使設計更具實用性和操作控制的方便性.
1 總體設計方案
LED 顯示屏多采用動態(tài)掃描顯示方式.掃描顯示的原理是基于人眼的視覺暫留現(xiàn)象,各顯示行(列)輪流顯示,只要刷新頻率不小于24 f/s,人眼感覺到的將是完整連續(xù)的圖像.
紅外遙控是以紅外線作為載體來傳送控制信息的,紅外線發(fā)射頭采用紅外發(fā)光二極管,這樣遙控發(fā)射器易于小型化且價格低廉.采用數(shù)字信號編碼和二次調制方式,不僅可以實現(xiàn)多路信息的控制,增加遙控功能,提高信號傳輸?shù)目垢蓴_性,減少誤動作,而且功耗低,不會產生信號串擾,反應速度快,傳輸效率高,工作穩(wěn)定可靠等.單片機采用STC89C58RD+,儲存數(shù)據(jù)量比STC89C52大,晶振用22.1148 MHz,以提高刷新的頻率使顯示更穩(wěn)定.P0口輸出行信號經74HC154譯碼后,產生行選通信號送入顯示屏的行進行輪流顯示.單片機P2口與8位移位寄存器74HC595相連.系統(tǒng)總體結構圖如圖1所示.
2 硬件電路設計
2.1 16×64 LED點陣屏
系統(tǒng)顯示屏用16 行.64 列的高亮白5 mm LED 發(fā)紅光二極管搭建成.每行64個LED的陽極相連成行線并引出,16行16個接口作為共陽行線接口端,方便與行驅動模塊連接,實現(xiàn)行的定位和掃描;每列16個LED的陰極相連并引出,每8條列線組成一個接口,方便與列驅動模塊相接,實現(xiàn)寄存器數(shù)據(jù)的存儲與掃描,從而搭建成顯示屏系統(tǒng).部分點陣屏電路如圖2所示.
2.2 主控與掃描驅動電路
主控電路以STC89C58RD+芯片為核心,外接復位電路.時鐘電路及串口下載線接口電路(RS 232 通信接口),用于LED 顯示系統(tǒng)和電腦的通信,通信方式為10 位的異步通信,在線下載便于程序更新,有利于系統(tǒng)的維護.
掃描驅動電路由行和列驅動組成.LED 顯示屏一共16行,用一片74HC154對16行LED 進行譯碼選擇,經過TIP127放大并轉換成高電平,從而選通行線.
列掃描驅動采用并行數(shù)據(jù)串行傳輸?shù)姆桨?,?shù)據(jù)鎖存器用74HC595.64 列用8 塊74HC595 芯片來驅動,8 塊74HC595是首尾相連,前面一塊74HC595的移位輸出連接到下一塊74HC595 輸入,第一塊74HC595 的串行數(shù)據(jù)輸入端與單片機數(shù)據(jù)輸出端相連接,其中前2塊74HC595連接如圖3所示.
2.3 紅外收發(fā)遙控電路
紅外發(fā)射接收原理是:發(fā)射端輸入信號經放大后送入紅外發(fā)射管發(fā)射,在接收端,接收管收到紅外信號后,由放大器放大處理還原成控制信號.按下某一個按鍵,單片機識別出該按鍵,同時單片機向接有紅外發(fā)射管的端口發(fā)射一定頻率的脈沖.該脈沖與38 kHz左右的載波脈沖進行調制,然后將已調制的脈沖進行緩沖放大,激勵紅外發(fā)光二極管將電能轉化為光能,使得紅外發(fā)光二極管發(fā)射出一定頻率的紅外線.當接收控制系統(tǒng)接收到該紅外光后,由單片機內定時/計數(shù)器得到該紅外光的頻率,然后將該頻率送往CPU,由CPU對該信號進行解碼,識別出控制信號,從而對控制電路實施控制功能,完成整個遙控功能.
系統(tǒng)采用一體化紅外接收頭HS0038,如圖4所示,1 腳GND 接電源地,2 腳VCC 接+5 V,3 腳OUT 為數(shù)據(jù)輸出端(TTL 電平,反相輸出),可直接與單片機相連.
SE303 是紅外發(fā)射二極管,當P2.0=1時,三極管9013 導通,SE303 通電發(fā)射紅外線,實際上發(fā)射的是頻率為38 kHz的脈沖串.電路連接如圖4所示.
3 軟件系統(tǒng)設計
3.1 總體程序流程設計
單片機開外部中斷,不斷查詢是否有紅外信號發(fā)射過來,若沒有接收到信號,單片機按照原來的預編入內容進行掃描,送給顯示屏顯示.否則,單片機接收數(shù)據(jù),辨認顯示方式,接收完畢后,更新顯示內容.同理按照這種方式接收PC機的數(shù)據(jù),進行更新顯示.總體程序如圖5所示.
3.2 串行通信程序
每當向PC機客戶程序里輸入新顯示內容并發(fā)送給單片機時,單片機就產生串行中斷,接受待顯示信息的機內碼,然后再利用點陣字模信息提取程序得到點陣數(shù)據(jù)送到LED 顯示屏顯示.單片機接受數(shù)據(jù)采用中斷的方式.串行中斷程序流程圖如圖6所示.
3.3 LED顯示程序
LED 顯示屏的顯示方式有靜止.上下滾屏.左右滾屏等多種方式,其程序流程如圖7所示.其中上下滾屏顯示程序類似,左右滾屏顯示程序類似,其他多花樣的顯示方式程序都是在此基礎上進行改動而來的.
3.4 PC機客戶程序
系統(tǒng)的PC 機客戶程序用Visual Basic 6.0進行開發(fā),主要利用其串行通信控件MSComm,其主要流程圖見圖8所示.
3.5 紅外遙控程序
3.5.1 發(fā)射程序設計
因HS0038 的紅外接收頻率為38 kHz,所以載波信號采用38 kHz方波.載波信號由子程序產生,方波周期t=26 μs.該程序基于字節(jié)傳輸?shù)募t外遙控數(shù)據(jù)格式,在發(fā)送字節(jié)的開始先通過單片機發(fā)送20個脈沖寬度(每個脈沖周期26 μs)的高電平作為傳輸開始,接著發(fā)送8 位數(shù)據(jù)(字節(jié)高位在前,低位在后),最后發(fā)送10 個脈沖寬度的低電平作為傳輸結束.其程序流程圖如圖9所示.
3.5.2 接收程序設計
HS0038 輸出的信號是解調后的反向信號,所以接收到的信號解碼時也要經過反向才能與發(fā)送信號編碼一致.當接收到同步幀后,進入解碼部分,接收完一幀后,處理收到的數(shù)據(jù)并進入下一次接收.解碼采用軟件抽樣判決,以15個脈沖為判決門限,在門限時刻讀得低電平時,即可判定為編碼‘1';在門限時刻讀得高電平時,即可判定為編碼'0'.解碼一位后,需等到下一位的高電平到來,再計數(shù)15 個脈沖后,判斷讀得的電平是高還是低,進行解碼.程序流程如圖10所示.
4 結語
基于STC89C58RD+單片機控制的遙控LED點陣顯示屏設計,能很好地完成多功能顯示,通過紅外遙控對顯示內容和顯示效果進行實時無線遠距離的操作控制,能夠實現(xiàn)數(shù)字.字母.漢字等信息的動靜態(tài)顯示,還可以和PC 機通信,通過PC 機串口對顯示信息進行更新,傳輸給遙控器儲存,然后用遙控器可以方便地對顯示內容進行更新和變換顯示模式.





