王月
段式 LCD大量應用于各類需要進行簡單信息顯示的電子類產品中,大多數產品中都采用專用的段式LCD驅動IC,這類驅動IC可在市場上購得,或由專業IC廠家定制。對某些特定外形和尺寸受限的產品來說,市場上購得的IC尺寸受限于產品的尺寸,難以使用,由專業IC廠家定制又受限于產品的生產數量和成本而不能實現。因此,如能用單片機和簡單附加電路直接驅動段式LCD是一種較好的選擇。筆者在研發某產品時,面臨了這樣的問題。經分析研究了關于段式 LCD顯示技術及 LCD顯示的一般原理后,結合ATmega8_L單片機的特點,提出并實現了一種新的直接動態驅動段式LCD的驅動模塊。
液晶顯示器件是利用液晶的各種電光效應,把液晶對電場、磁場、光線和溫度等外界條件的變化在一定條件下轉換為可視信號而制成的顯示器。液晶顯示器具有低電壓、低功耗、適合于便攜式顯示的特點。顯示體本身不發光,靠調制外界光來實現的,不刺激眼睛,不易疲勞等優點。隨著液晶顯示技術的新發展,液晶顯示幾乎應用于所有涉及顯示的場所。
LCD技術[1]是在兩片玻璃基板上裝有配向膜,把液晶灌入兩個有細槽的平面之間,液晶會沿著溝槽配向,由于玻璃基板配向膜溝槽偏離90度,所以液晶分子成為扭轉型,由于光線順著分子的排列方向傳播,當玻璃基板沒有加入電場時,光線透過偏光板跟著液晶做90度扭轉,通過下方偏光板,液晶面板顯示白色;當玻璃基板加入電場時,液晶分子產生配列變化,光線通過液晶分子空隙維持原方向,被下方偏光板遮蔽,光線被吸收無法透出,液晶面板顯示黑色。液晶顯示器就是根據此達到顯示效果的。
液晶顯示模塊是一種將液晶顯示器件、連接件、PCB線路板、液晶顯示控制器、行列驅動控制器、負壓發生器、偏置電路、溫度補償電路、背光源、背光源驅動控制電路、結構件等裝配在一起的組件。以驅動液晶顯示器顯示字符,數字及圖形等信息。
在外加電場的作用下具有偶極矩的液晶棒狀分子在排列狀態上發生變化,使得通過液晶顯示器件的光被調制,從而呈現明與暗或透過與不透過的顯示效果。液晶顯示器件中的每個顯示像素都可以單獨被電場控制,液晶顯示驅動功能就是建立這種控制電場。
液晶的顯示效果是在顯示像素上施加了電場,該電場由顯示像素前后兩電極上的電位信號差所產生。若施加直流電場,也可達到希望的顯示效果[2]。但直流電場將導致液晶材料的化學反應和電極老化,從而迅速降低液晶材料的壽命,因此必須用交流驅動電場,并要求這個交流電場中的直流分量越小越好,一般小于50mV。
靜態驅動主要用于位數很少(12位以下)的數字顯示或固定文字(圖形)顯示。在數字顯示時常采用筆段電極結構。每位數由一個“8”字形公共電極和構成“8”字形圖案的筆段形電極組成,分別設置在兩塊基板上。根據顯示數字的位數,可在兩基板上形成相應數量的電極組,每組電極可顯示0-9的任意數字。這種數字顯示方式廣泛用于手表、計算器以及計測儀器等。靜態驅動就是在所顯示數字的各筆段電極和共用電極之間,同時而連續地施加上驅動電壓,直到顯示時間結束。由于在顯示時間內驅動電壓一直保持,故稱作靜態驅動。要實現靜態驅動,各段形電極和公電極必須設置各自獨立的驅動電路。
靜態驅動時,各電極的驅動相互獨立,互不影響,在顯示期間,驅動電壓一直保持,使液晶充分驅動。具有對比度好,亮度高,響應快等優點。但靜態驅動的缺點是每個段形電極需要一個控制元件,一旦顯示數字的位數相對較多時,相應的驅動元件數和引線端子數就太多,其應用受到限制,只適合于位數較少的筆段電極顯示。
液晶顯示的動態驅動是逐行掃描行電極,同時輸出各列電極在該行上的像素顯示信息,實現對某行所有顯示像素的驅動,也稱多路尋址驅動法。所有行組成一幀,在一幀掃描周期中,每行所占的時間是均等的。設一幀的掃描行數為N,掃描一幀的時間為1,則1/N為占空比系數。同等電壓下,掃描行數的增多將使占空比下降,引起液晶像素上的交流電場電壓的有效值下降,降低了顯示質量,為了保證顯示質量,需要適當提高驅動電壓或采用雙屏電極排布結構以提高占空比系數。
段式LCD用于顯示段形數字或固定形狀的符號,廣泛用作計數、計時、狀態指示等。普遍使用的控制驅動器件是Holtek的HT1621,它內含與LCD顯示點一一對應的顯存、振蕩電路,低壓低功耗,4線串行MCU連接,8條控制/傳輸指令,可進行32段×4行=128點控制顯示,顯示對比度可外部調整,可編程選擇偏壓、占空比等驅動性能。
由于LCD的電化學特性,LCD的驅動一般采用交流驅動,如圖1所示:

圖1 基本LCD驅動電路和工作波形示意圖
基本的LCD驅動電路和工作波形。圖中VA為背極信號,VC為段極信號。從中可以看出,當LCD兩極間電壓為零時,不顯示;而當LCD兩端為交替變化的電壓時,LCD顯示。動態驅動方式是用矩陣驅動法來驅動字段的顯示,字段引線相當于列引線,公共背極引線相當于行引線,每一字段相當于矩陣的一個點,選通點在交流驅動信號的控制下顯示。非選通點與半選通點則會由于液晶所具有的電容特性而產生交叉顯示效應,使清晰度下降,一般是在非選通點與半選通點上加低于LCD顯示閾值的電壓信號,以消除交叉效應的影響,如1/2 BIAS偏壓法。
用單片機直接動態驅動 LCD的驅動電路應能產生偏置電壓輸出[3],其驅動信號的電壓幅度不能超過 LCD顯示器限定的工作電壓,并且應是交流驅動信號,而單片機只能輸出直流信號,或脈沖信號。這里需要解決偏置電壓輸出和交流驅動信號輸出的問題,前者相對較易,后者需要由驅動電路和程序相配合來實現,要求驅動電路要簡單,控制程序不應復雜,如圖2所示:

圖2 基于Atmega8_L的LCD的動態驅動電路
基于Atmega8_L的直接驅動LCD的動態驅動電路。本動態驅動電路設計采用Atmel公司的Atmega8_L單片機來設計,利用了它的I/O口可進行輸入與輸出配置的特性,使圖2 所示的LCD動態驅動電路成為可能。一般并行I/O口可進行輸入與輸出配置的單片機都可采用此驅動電路。該電路結構簡單,所用電子元器件很少,易于小型化實現。
該電路中的背極控制信號由 PC0、PC1、PC2控制產生,當配置PC0、PC1、PC2為輸入方式時,由這3支電阻與二極管串聯電路產生偏置電壓以消除交叉顯示效應的影響,使顯示信息清晰。由于LCD的段極信號由其它輸出端口提供,為使背極控制信號的高電平與段極信號的高電平水平基本一致,故用PC3、PC4、PC5提供背極控制信號高電平,同一片單片機上的I/O端口的輸出高電平水平基本是一致,這樣也使 1/2 BIAS 偏置電壓易于獲得。D1、D2、D3這3支二極管是為產生交流驅動信號提供的硬件保障,這也是本動態驅動電路的獨創之處,可使背極控制信號獲得低電平、1/2 高電平、高電平。
交流驅動信號產生的方法是在輸出一個背極選擇信號與對應的段極信號后,適當延時,再將該背極選擇信號與對應的段極信號都取反后輸出,使背極與段極得到幾乎幅度完全相等的正脈沖與負脈沖,從而使其直流分量幾乎為零,完全滿足了LCD對交流驅動信號的要求。利用D1、D2、D3的單向導電性可從PC0、PC1、PC2輸出低電平,而不影響PC3、PC4、PC5輸出高電平。
筆者在研發產品時,選擇了北京博研佳信電子科技發展有限公司的SNJ13型段式LCD,圖3是其引腳分布圖,如圖3所示:

圖3 引腳分布圖
其引腳配置表,如表1所示:

表1 引腳配置表
這是一個4位、3個背極(COM1、COM2、COM3)、33個段極的小尺寸LCD。工作電壓3V,掃描頻率75HZ,驅動方式為1/3 Duty,1/2 Bias,TN型的液晶顯示技術,在電子產品中所用的液晶顯示器,幾乎都是用扭轉式向列場效應原理所制成的。
驅動模塊硬件電路設計遵循一般 LCD驅動模塊硬件設計的做法,提供串行數據通信功能,選用 Atmel公司的Atmega8_L單片機作為控制器。基于Atmega8_L單片機的段式LCD驅動模塊硬件電路圖,圖中JP1為Atmega8的串行下載接口。串行數據通信引腳分配:PB0為數據,PD3為時鐘,如圖4所示:

圖4 段式LCD驅動模塊硬件電路圖
驅動軟件根據SNJ13型段式LCD的技術參數和要求并結合本動態驅動電路的特性來設計。根據引腳配置表,構建了一個三段式段極控制信號字庫,顯示 8段字形及“:”(P4段極),動態驅動軟件算法如下:
(1)背極之一為輸出配置,且輸出低電平。
(2)其余兩背極輸入配置,獲得1/2 BIAS。
(3)輸出段極控制信號,并適當延時。
(4)背極輸出高電平,段極控制信號取反后輸出。
(5)與(3)做同樣時長的延時。
(6)三背極是否都掃描一遍,若是轉至(8)。否則轉至(7)。
(7)輪換另一背極,轉至(1)。
(8)返回。
以下是一個背極的掃描控制程序:

背極與段極電壓波形示意圖,如圖5所示:

圖5背極與段極電壓波形示意圖
圖中COM1、COM2、COM3的高電平與負高電平期間分別表示3個背極信號與段極信號的電壓波形。以COM1的高電平與負高電平期間 t1及 t2為例,t1期間背極信號COM1(PC0)輸出高電平,待顯示的段極信號輸出低電平,顯示相應信息;t2期間背極信號COM1(PC0)輸出低電平,待顯示的段極信號輸出高電平,顯示 t1期間相同的信息。在t1期間,半選擇段極與背極信號COM1的高電平幾乎相等,電位差幾乎為零,不顯示。非選擇段極的高電平與背極信號COM1和COM2(PC1與PC2配置為輸入)的1/2高電平的電位差近似為1/2高電平。在t2期間,半選擇段極與背極信號 COM1的低電平幾乎相等,電位差幾乎為零,不顯示。非選擇段極的低電平與背極信號 COM1和COM2(PC1與PC2配置為輸入)的1/2高電平的電位差近似為負1/2高電平。因此,在t1與t2期間,半選擇段極和非選擇段極與相應背極之間的電位差平均值為零。t2與t3分別是背極信號COM2(PC1)與COM3(PC2)的工作期間。
串行通信協議規定了驅動模塊與其它單片機之間的數據傳輸約定,由于驅動模塊僅接收其它單片機要顯示的信息,故定義5個字節。第一個至第四個字節為要顯示的四位信息,第五個字節為要顯示的點形段極位置信息,1、2、3、4分別表示要顯示P1、P2、P3、P4點形段形(見圖3)。
采用中斷方式接收其它單片機發來的顯示信息。以下是中斷接收程序,顯示程序略。

本文基于單片機直接驅動段式 LCD的驅動模塊具有一般性,驅動電路結構簡單有效,以串行通信的方式接收其它單片機的顯示信息,軟件與硬件相結合的動態驅動設計效果尚佳,顯示性能和品質令人滿意。該驅動模塊適用于需計數、計時、狀態提示等LCD顯示的電子類產品中。
[1]孫俊喜,LCD驅動電路、驅動程序設計及典型應用[M],北京,人民郵電出版社,2009
[2]薛旭,淺談一種基于Atmega48段式液晶顯示器的驅動方法[J],山西,太原科技,2007
[3]佟長福,AVR單片機GCC程序設計[M],北京,北京航空航天大學出版社,2006