《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 智能電表段式液晶驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)
智能電表段式液晶驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第13期
張步幸
(天津工業(yè)大學(xué) 電氣工程與自動(dòng)化學(xué)院,天津 300387)
摘要: 首先闡述段式液晶屏的驅(qū)動(dòng)原理,然后介紹利用MSP430F149單片機(jī)的管腳直接對(duì)多路尋址液晶顯示器件驅(qū)動(dòng)的硬件原理和程序,實(shí)現(xiàn)了無專用驅(qū)動(dòng)芯片的液晶顯示,減少了帶段式液晶產(chǎn)品驅(qū)動(dòng)芯片的費(fèi)用。本設(shè)計(jì)驅(qū)動(dòng)電路性能穩(wěn)定、成本低廉,是理想的人機(jī)界面實(shí)現(xiàn)方式。
Abstract:
Key words :

摘  要: 首先闡述段式液晶屏的驅(qū)動(dòng)原理,然后介紹利用MSP430F149單片機(jī)的管腳直接對(duì)多路尋址液晶顯示器件驅(qū)動(dòng)的硬件原理和程序,實(shí)現(xiàn)了無專用驅(qū)動(dòng)芯片的液晶顯示,減少了帶段式液晶產(chǎn)品驅(qū)動(dòng)芯片的費(fèi)用。本設(shè)計(jì)驅(qū)動(dòng)電路性能穩(wěn)定、成本低廉,是理想的人機(jī)界面實(shí)現(xiàn)方式。
關(guān)鍵詞: MSP430;多路尋址;直接驅(qū)動(dòng);段式液晶屏

 自從20世紀(jì)60年代末第一臺(tái)LCD液晶顯示器誕生以來,液晶顯示技術(shù)在短短的40多年里得到了飛速的發(fā)展。顯示器作為人機(jī)交互的關(guān)鍵部分,現(xiàn)已成為嵌入式設(shè)備中不可缺少的外圍接口器件之一。由于控制段式液晶顯示器的驅(qū)動(dòng)時(shí)序復(fù)雜,因而相應(yīng)的驅(qū)動(dòng)芯片應(yīng)運(yùn)而生,但是液晶屏的驅(qū)動(dòng)芯片價(jià)格昂貴且耗電量大,很多產(chǎn)品價(jià)格令用戶難以接受。本文在智能電表設(shè)計(jì)方案中采用TI公司具有三態(tài)輸出功能、超低功耗的MSP430F149單片機(jī)作為主控芯片,同時(shí)直接對(duì)多路尋址液晶器件進(jìn)行驅(qū)動(dòng),既起到了控制其他模塊的正常運(yùn)行又驅(qū)動(dòng)了液晶屏的顯示,減少了驅(qū)動(dòng)芯片的費(fèi)用,設(shè)計(jì)電路工作穩(wěn)定、成本低,具有一定的推廣價(jià)值。
1 筆段式LCD的結(jié)構(gòu)及顯示原理
1.1 筆段式LCD的結(jié)構(gòu)

 筆段式液晶顯示器是指以長(zhǎng)條狀顯示像素組成一位顯示類型的液晶顯示器件,簡(jiǎn)稱段式液晶顯示器件。它主要用于顯示數(shù)字,或類似數(shù)字的段碼型顯示。段式液晶顯示器件的驅(qū)動(dòng)分為兩類:一類是靜態(tài)驅(qū)動(dòng);另一類是動(dòng)態(tài)驅(qū)動(dòng)[1]。因?yàn)槎问絼?dòng)態(tài)液晶顯示器件尋址路數(shù)一般不超過4路,故動(dòng)態(tài)驅(qū)動(dòng)又被稱為多路尋址驅(qū)動(dòng)。方案中的多路尋址驅(qū)動(dòng)液晶顯示器件引腳排布如表1所示。

1.2 筆段式LCD的顯示原理
 LCD工作原理不同于LED,加上電壓(LED實(shí)際上是電流驅(qū)動(dòng))就可以長(zhǎng)期顯示。LCD必須使用交流電壓驅(qū)動(dòng)才能保持穩(wěn)定的顯示,如果在LCD上加上穩(wěn)定的直流電壓,不但不能正常顯示,時(shí)間久了還會(huì)損壞LCD。一段LCD由背電極和段電極組成,在兩個(gè)板極之間充滿著液態(tài)液晶體,驅(qū)動(dòng)信號(hào)分別加在背電極與段電極上。在顯示時(shí),驅(qū)動(dòng)信號(hào)幅度大(大于液晶的顯示閾值),熄滅時(shí),驅(qū)動(dòng)信號(hào)幅度小。它熄滅時(shí)驅(qū)動(dòng)信號(hào)幅度與顯示時(shí)的幅度之比稱為該顯示器的“偏置”。例如:1/3偏置(簡(jiǎn)稱1/3B)是指它熄滅時(shí)驅(qū)動(dòng)信號(hào)幅度與顯示的幅度之比為1:3。要想讓它顯示就使用一個(gè)幅度大的信號(hào),熄滅則加一個(gè)幅度小的信號(hào)。在一個(gè)顯示周期內(nèi)各段輪流顯示,其中每個(gè)段的顯示時(shí)間與顯示周期總時(shí)間之比稱為顯示占空比。例如:4個(gè)段碼連在一起的液晶顯示器,其顯示占空比是1/4(簡(jiǎn)稱I/4D)[2]。此外,液晶顯示器還有其他參數(shù),如最佳視角。例如:最佳視角為30°的稱為6點(diǎn)鐘;最佳視角為90°的稱為12點(diǎn)鐘等。
2 筆段式LCD驅(qū)動(dòng)設(shè)計(jì)
 方案中采用的LCD,有4個(gè)COM,32個(gè)SEG。要想某一SEG顯示時(shí),需要在對(duì)應(yīng)的SEG和COM之間加上足夠的交流電壓。COM驅(qū)動(dòng)使用了兩個(gè)I/O口控制兩個(gè)電阻進(jìn)行分壓,輸出電壓有0 V、1/3Vcc、2/3Vcc、Vcc。SEG驅(qū)動(dòng)使用了兩個(gè)電阻進(jìn)行分壓,輸出電壓為1/2Vcc。當(dāng)不想讓某位顯示時(shí),就將它的SEG端電壓設(shè)置為1/2Vcc(通過設(shè)置I/O口為高阻態(tài)來完成)同時(shí)COM端電壓設(shè)置為1/3Vcc或者2/3Vcc,這樣加在對(duì)應(yīng)的SEG和COM之間的電壓只有1/6Vcc,不足以點(diǎn)亮對(duì)應(yīng)的SEG。需要顯示的,就將COM電壓設(shè)置為0或者1,這樣SEG電壓跟COM電壓相反的段就被點(diǎn)亮了。通過定期掃描每個(gè)COM,即可穩(wěn)定地在LCD上顯示需要的字段了。但是如果使用100%的時(shí)間都驅(qū)動(dòng)的話,會(huì)造成對(duì)比度太高,甚至出現(xiàn)不該顯示的地方也顯示了。因此在顯示一段時(shí)間后,就將COM和SEG都設(shè)置為低,以關(guān)閉它的顯示,降低對(duì)比度。通過調(diào)節(jié)關(guān)閉時(shí)間的長(zhǎng)短(PWM),可以調(diào)節(jié)對(duì)比度[3]。在圖1中,使用了50%固定的占空比。COM為低電平時(shí)點(diǎn)亮叫做正亮,COM為高電平時(shí)點(diǎn)亮叫做負(fù)亮。掃描每個(gè)COM分成4個(gè)階段:正亮,關(guān)閉,負(fù)亮,關(guān)閉[4]。因此對(duì)于方案中LCD驅(qū)動(dòng),總共有16種狀態(tài),每個(gè)COM都有上面所說的4種狀態(tài)。每隔2 ms就切換一次狀態(tài),整個(gè)掃描周期為2×16=32 ms,肉眼感覺不到閃爍。驅(qū)動(dòng)時(shí)序如圖1所示。

3 軟件實(shí)現(xiàn)
3.1 程序流程圖

 顯示程序流程圖如圖2所示。


3.2 顯示子程序設(shè)計(jì)
 液晶顯示器的工作頻率范圍一般在25 Hz到數(shù)百赫茲之間,因?yàn)橛闷胀▎纹瑱C(jī)驅(qū)動(dòng)液晶顯示器沒有硬件支持,驅(qū)動(dòng)波形只能通過軟件編程實(shí)現(xiàn),所以選用較低的工作頻率,減少軟件的開銷。
 在編寫程序中定義一個(gè)二維數(shù)組來儲(chǔ)存要顯示內(nèi)容的數(shù)據(jù)。當(dāng)有顯示請(qǐng)求時(shí),將相應(yīng)的數(shù)據(jù)放入該二維數(shù)組中,調(diào)用顯示函數(shù)即可,COM1的掃描程序如下。
void display()
  { P1DIR=a[0][0]; P2DIR=a[0][1];P3DIR=a[0][2];//正亮
     P4DIR=a[0][3];P5DIR=a[0][4];P6DIR=0x0f;
     P1OUT=a[0][0];P2OUT=a[0][1];P3OUT=a[0][5];
     P4OUT=a[0][3];P5OUT=a[0][4];P6OUT=0x00;
     delay_ms(2);
     P1DIR=0xf0;P2DIR=0xff;P3DIR=0xff;//關(guān)閉
     P4DIR=0xff;P5DIR=0xff;P6DIR=0x0f;
     P1OUT=0x00;P2OUT=0x00;P3OUT=0x00;
     P4OUT=0x00;P5OUT=0x00;P6OUT=0x00;
     delay_ms(2));
     P1DIR=a[0][0];P2DIR=a[0][1];P3DIR=a[0][2];
//反亮
     P4DIR=a[0][3];P5DIR=a[0][4];P6DIR=0x0f;
     P1OUT |=~a[0][0];P2OUT |=~a[0][1];P3OUT |=~a[0][5];
     P4OUT |=~a[0][3];P5OUT |=~a[0][4];P6OUT |=~0x00;
     delay_ms(2);
     P1DIR=0xf0;P2DIR=0xff;P3DIR=0xff;//關(guān)閉
     P4DIR=0xff;P5DIR=0xff;P6DIR=0x0f;
     P1OUT=0x00;P2OUT=0x00;P3OUT=0x00;
     P4OUT=0x00;P5OUT=0x00;P6OUT=0x00;
     delay_ms(2);
     ……
}
其他3個(gè)COM端口掃描程序與此類似。
4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)結(jié)果

 當(dāng)用戶電表出現(xiàn)剩余金額不足時(shí),用戶會(huì)收到電表發(fā)送的金額不足提醒,驅(qū)動(dòng)顯示效果如圖3(a)所示。用戶也可以通過手持設(shè)備向電表發(fā)送查詢命令查詢電表當(dāng)前數(shù)據(jù),比如用戶發(fā)送查詢上月用電量信息,電表自動(dòng)喚醒,并顯示相應(yīng)的查詢結(jié)果,顯示效果如圖3(b)所示。

 

 

4.2 實(shí)驗(yàn)分析
 采用上述方法驅(qū)動(dòng)液晶屏的顯示,需要注意兩點(diǎn)。首先,由于不是靜態(tài)顯示,因此4個(gè)周期中每個(gè)周期應(yīng)該控制在12 ms以下,如果周期設(shè)置太大,會(huì)導(dǎo)致需要顯示的段會(huì)不停閃爍,從而影響顯示質(zhì)量。因此設(shè)置的頻率不能少于25 Hz,這樣肉眼才無法察覺閃爍。
 其次,由于采集的數(shù)據(jù)不是一位,而是多位,在動(dòng)態(tài)顯示的過程中無法簡(jiǎn)單地一一判斷每一位的顯示狀態(tài),會(huì)造成程序冗長(zhǎng),因此有必要在進(jìn)行顯示前對(duì)采集的數(shù)據(jù)進(jìn)行處理,以減少在顯示子函數(shù)中的運(yùn)算,通過一個(gè)二維數(shù)組作為數(shù)據(jù)庫(kù),記錄每一段的亮與滅的狀態(tài)。在顯示過程中直接讀取該二維數(shù)組所記錄的值來對(duì)液晶屏點(diǎn)亮。
 對(duì)于計(jì)量?jī)x表來說,顯示技術(shù)是十分重要的。本論文中分析了智能電表中專用筆段式液晶屏的顯示原理,給出了驅(qū)動(dòng)設(shè)計(jì)的方法以及有關(guān)利用MSP430單片機(jī)I/O口直接驅(qū)動(dòng)筆段式液晶顯示屏的C語(yǔ)言程序。直接驅(qū)動(dòng)LCD顯示的方法可以減少筆段式液晶顯示因需要專門的驅(qū)動(dòng)芯片而增加的功耗和產(chǎn)品成本,在單片機(jī)I/O口充裕的條件下,是一種理想的人機(jī)界面實(shí)現(xiàn)方式,具有一定的意義。
參考文獻(xiàn)
[1] 王鵬,馬波,邵仕泉,等.基于51單片機(jī)的段式液晶的顯示器的驅(qū)動(dòng)設(shè)計(jì)[J].西南民族大學(xué)學(xué)報(bào)·自然科學(xué)版,2011,37(5):243-246.
[2] 程秀平,劉忠超.基于單片機(jī)的VRAM型彩色液晶驅(qū)動(dòng)設(shè)計(jì)[J].電子與封裝,2011(1):41-43.
[3] 萬盛國(guó),劉凱,李芳.基于CPLD的液晶顯示驅(qū)動(dòng)模塊的設(shè)計(jì)[J].中國(guó)制造業(yè)信息化,2010(13):55-57.
[4] 薛旭,喬毅,吳化柱.淺談一種基于ATmega48段式液晶顯示器的驅(qū)動(dòng)方法[J].應(yīng)用技術(shù),2007(11):91-92.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。