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

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

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

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

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

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

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


3.2 顯示子程序設計
 液晶顯示器的工作頻率范圍一般在25 Hz到數(shù)百赫茲之間,因為用普通單片機驅動液晶顯示器沒有硬件支持,驅動波形只能通過軟件編程實現(xiàn),所以選用較低的工作頻率,減少軟件的開銷。
 在編寫程序中定義一個二維數(shù)組來儲存要顯示內容的數(shù)據(jù)。當有顯示請求時,將相應的數(shù)據(jù)放入該二維數(shù)組中,調用顯示函數(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;//關閉
     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;//關閉
     P4DIR=0xff;P5DIR=0xff;P6DIR=0x0f;
     P1OUT=0x00;P2OUT=0x00;P3OUT=0x00;
     P4OUT=0x00;P5OUT=0x00;P6OUT=0x00;
     delay_ms(2);
     ……
}
其他3個COM端口掃描程序與此類似。
4 實驗結果及分析
4.1 實驗結果

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

 

 

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。