基于SPCE061A的點陣電子顯示屏設(shè)計
1 引言
在車站、商場、證券交易所、廠礦企業(yè)等一些公共場所,經(jīng)常需要由LED(發(fā)光二極管)電子顯示屏發(fā)布實時多變的信息或進行廣告宣傳,要求 LED電子顯示屏具有修改方便、實時圖形和字符混合動態(tài)顯示、亮度可調(diào)等功能。應(yīng)用計算機對其進行操作和鍵盤進行設(shè)置就顯得十分重要。
為了解決以往以8位單片機為核心的LED點陣驅(qū)動器速度慢,結(jié)構(gòu)復(fù)雜,程序設(shè)計困難,功能單一等問題,本系統(tǒng)采用高速SPCE061A單片機,既提高了掃描速度,又保證了動態(tài)屏幕字符顯示、圖形顯示、語音播報和語音控制等功能的實現(xiàn)。尤其是本系統(tǒng)增添了屏幕亮度可調(diào)功能后,限制了LED中通過的平均電流;又因為SPCE061A的供電電源為3.3~5.0V,這樣既可降低功耗、保護LED,又可延長點陣電子顯示屏的使用壽命。
2 電子顯示屏功能
本文設(shè)計的基于SPCE061A的點陣電子顯示屏實現(xiàn)了漢字、字符、數(shù)字、實時時間
等信息的動態(tài)顯示,能夠做到屏幕信息左右、上下滾屏顯示,并可設(shè)置顯示速度。手動或光敏自動調(diào)節(jié)LED顯示亮度。
通過計算機人機界面和控制屏鍵盤可以隨時設(shè)置系統(tǒng)的顯示模式。
本系統(tǒng)具有掉電信息保存功能。掉電后主控制器可將顯示內(nèi)容和顯示模式等信息保存在Flash中,再次上電后可以繼續(xù)顯示。
此外系統(tǒng)具有語音功能,可以定時播報時間,顯示即時內(nèi)容;使用語音識別技術(shù)可以進行簡單的語音控制。
3 顯示屏硬件電路設(shè)計
LED點陣顯示由8*8共64個發(fā)光二極管組成??刂茣r,分別控制陽極8個行控制口和陰極8個列控制口。顯示時,向陽極送字模,向陰極送選通信號。送出一行的字模,再送選通信號,再送第二行的字模和選通信號,循環(huán)掃描8次,就可以在一塊點陣上顯示一個字符。顯示漢字用16*16 LED,所以一個顯示單元由4塊8*8點陣組成。一次送兩個字節(jié)的字模,16列選通信號。
該點陣顯示系統(tǒng)以凌陽16位單片機SPCE061A為控制核心,由LED點陣電子顯示器,電源,電流驅(qū)動電路,地址譯碼電路,串行接口電路,鍵盤,時鐘模塊和計算機控制界面組成,系統(tǒng)框圖如圖1所示。
圖1 點陣電子顯示屏系統(tǒng)框圖
3.1 主控制器功能
本設(shè)計采用16位SPCE061A單片機。該單片機主頻最高可達49MHz,處理速度很快,且主頻可通過軟件調(diào)整,能有效解決閃屏問題。硬件資源豐富,內(nèi)部擁有32KB flash閃存和2KB RAM,在不外擴存儲器的情況下就能完成較大的數(shù)據(jù)存儲,大大簡化了外圍接口電路; 32個通用I/O口,專為低功耗設(shè)計,在省電模式下,時鐘停止,耗電僅為2uA/3.6V。另外,該芯片支持在線仿真,編程接口,可方便實現(xiàn)在線調(diào)試。
SPCE061A有豐富的語音功能。1個10位的DAC(數(shù)模轉(zhuǎn)換器),麥克輸入通道內(nèi)置麥克風(fēng)放大器和自動增益(AGC)功能[1];其集成開發(fā)環(huán)境還配有豐富的語音接口函數(shù)API。為本系統(tǒng)擴展語音功能提供了豐富的軟硬件環(huán)境。
3.2 驅(qū)動電路
驅(qū)動電路分為行驅(qū)動電路和列驅(qū)動電路,行驅(qū)動電路如圖2所示。
圖2 行驅(qū)動電路
行驅(qū)動即LED的陽極,原理是送出電流使二極管發(fā)亮,由74HC595和驅(qū)動芯片ULN2803組成。主控制器將字模通過串行方式送給控制陽極的串轉(zhuǎn)并器件74HC595。74HC595是CMOS型TTL器件,功耗低,且速度可達到100MHz,適合作LED的顯示驅(qū)動[2]。每個顯示單元,由兩片74HC595級聯(lián)控制,一個顯示單元需兩片74HC595,字模數(shù)據(jù)信號由主控制器分別送出,時鐘等控制信號則通過同一個I/O口同時送出。這樣既能避免互相干擾,又能靈活控制。TTL電平的驅(qū)動能力有限,只能驅(qū)動8個TTL器件,當(dāng)顯示單元配置較多時,驅(qū)動能力不夠,信號可能誤傳,解決的方法是加一級74HC245,將一路信號變成8路輸出,提高了驅(qū)動能力,保證信號的準(zhǔn)確性。由于動態(tài)掃描的掃描速度心須達到60HZ以上,否則會產(chǎn)生閃爍現(xiàn)象,因此提高掃描速度至關(guān)重要。在程序中將緩沖區(qū)內(nèi)各個單元的字模整合成為一個數(shù)并行送出,可以提高掃描速度。74HC595將字模送給 ULN2803驅(qū)動LED的陽極。ULN2803是8路達林頓管,驅(qū)動能力較強,單路最大輸入電流可達500mA;由于ULN2803不能輸出高電平,驅(qū)動時須加上合適的上拉電阻以獲得合適的驅(qū)動電流。
列驅(qū)動即控制LED的陰極,原理是輸入電流也采用ULN2803做列驅(qū)動器。點陣顯示必須用動態(tài)顯示,任何時刻只能有一列選通,特別設(shè)計將各個顯示單元的對應(yīng)列接在一起,這樣掃描一個顯示單元的周期就完成了整個顯示屏掃描,提高了掃描速度。一個顯示單元的16路選通信號首先由4-16譯碼器 74154送出,再送給列驅(qū)動器,由于ULN2803為反向驅(qū)動,故在74154和ULN2803之間加7406作為反向。
3.3 亮度調(diào)節(jié)電路
顯示屏的亮度調(diào)節(jié)是通過改變VCC的電壓,從而調(diào)整流經(jīng)LED的電流來實現(xiàn)的。亮度自動調(diào)節(jié)是利用光敏電阻或光電三極管來檢測外部的光強,根據(jù)光強來自動調(diào)節(jié)LED亮度。亮度可調(diào)電路如圖3所示。
圖3 亮度可調(diào)電路
第一部分是亮度自動調(diào)節(jié)電路。RW1/ RW2控制自動調(diào)節(jié)的最高/最低輸出電壓。RW3控制對外界感光的靈敏度。R2,C2組成一階低通濾波器,濾除外界干擾光線(如日光燈)對系統(tǒng)的高頻干擾。第二部分是手動亮度調(diào)節(jié)電路。RW5為后面的LM317調(diào)整段提供一個可調(diào)的電壓。第三部分是最高輸出電壓保護電路調(diào)節(jié)RW4設(shè)定最高的輸出電壓。用一個三態(tài)開關(guān)SW1做兩種工作方式的切換。選擇工作方式1時,可以對亮度進行手動調(diào)節(jié);選擇工作方式2時,鉗位電路起作用,LM317輸出最大電壓,此時亮度最亮;選擇工作方式3時,進行亮度自動調(diào)節(jié)。
3.4 時鐘模塊
時鐘模塊采用DS1302。這是一種高性能、低功耗、帶RAM的實時時鐘芯片,它提供秒、分、小時、日、星期、月、年(帶閏年)等信息。能夠以24 小時或12小時模式工作,并且提供AM/PM指示。與單片機間通過簡單串行接口通信,只需3根線便可以和單片機以同步串行方式通信。該芯片同時提供了對后備電源進行涓流充電的能力[3],可以掉電保存時間。
4 程序設(shè)計
整個軟件分為三部分,即顯示部分、控制部分和通信部分。通信部分采用Visual C++編程語言。VC在標(biāo)準(zhǔn)串口通信方面提供功能強大的通信控件MSCOMM,該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進行設(shè)置,直接利用PC機的RS-232串口發(fā)送數(shù)據(jù)。為實現(xiàn)單片機與PC機的可靠通信,須保證雙方具有相同的數(shù)據(jù)格式和波特率,這里波特率設(shè)為 115200bps。
程序組成框圖如圖4所示。
圖4 程序組成框圖
顯示電路部分程序如下:
void display(unsigned int key)
{ unsigned int i,k,temp[4],dd,
data_high[4],data_low[4];
for(k=0;k10;k++)
{*P_Watchdog_Clear=0x01;
for(i=0;i16;i++) // "i" 表示列
{switch(key)
{case 0:
temp[0]=encoding_00[i]; //字模存在數(shù)組encoding_00[]中
temp[1]=encoding_01[i];
temp[2]=encoding_02[i];
temp[3]=clear_00[i];
break;......} //省略
data_high[0]=temp[0]0xff00; //以下四句是送出一個字的字模
data_high[0]=data_high[0]>>8;
data_low[0]=temp[0]0x00ff;
shiftbit(data_high[0]); //8位數(shù)據(jù)串行輸出到74595上
shiftbit(data_low[0]);
oe154=1;
latch0=1; //74595的數(shù)據(jù)并行送出使能
latch0=0;
dd= *P_IOA_Data;
dd=dd0xff0f;
*P_IOA_Data=(i4)dd; //74154的譯碼程序
oe154=0;} //打開74154 的使能
}
oe154=1; //return to main,close 74154 display
} // end of display
5 結(jié)論
此電子點陣顯示屏采用性能優(yōu)越的SPCE061A單片機為控制核心,實現(xiàn)漢字、字符及數(shù)字的預(yù)存顯示,同時完成按鍵多功能切換,實現(xiàn)左右滾動控制,預(yù)存數(shù)據(jù)顯示。具有亮度連續(xù)可調(diào)、亮度感光可調(diào)、計算機控制、掉電保護和語音識別等功能。顯示8個漢字時顯示掃描頻率可達120Hz,顯示質(zhì)量良好。在系統(tǒng)設(shè)計中還加強了驅(qū)動的可靠性,穩(wěn)定性,能夠有效地保護系統(tǒng)運行。
本文作者創(chuàng)新點:以單片機SPCE061A為控制核心以及廉價可靠的驅(qū)動電路實現(xiàn)了能圖形和字符混合動態(tài)顯示等多種功能的顯示系統(tǒng),可語音控制,并設(shè)計實現(xiàn)了屏幕亮度可調(diào)電路。
參考文獻:
[1] 黃濤,胡賓. 基于SPCE061A單片機的非特定人語音識別設(shè)計[J],微計算機信息,2005, 8:19-21.
[2] 翟震, 張春玲. 用74HC595芯片驅(qū)動LED的電路設(shè)計[J],機床與液壓,2004, 151(12):151-152.
[3] 朱路, 朱清慧. 連續(xù)補充充電實時時鐘芯片DS1302及其應(yīng)用[J], 現(xiàn)代電子技術(shù),2006,234(19):116-118.
評論