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