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