專業的LCD液晶顯示屏供應商
行業資訊
聯系我們
公司名稱:廣州漢顯電子科技有限公司
聯系手機:138 2977 7585
Q Q:487651756
公司郵箱:lcd1010#foxmail.com
電話:020-8259 5819
電話:020-8259 5766
傳真:020-8259 4149
辦公總部:廣州黃埔區黃埔東路266號五樓
工廠:江西信豐縣工業園區信誠大道
專業知識
如何驅動段碼液晶屏? 時間:2018-05-05 10:07:30 點擊數:1128

大家平常在生活中見到最多的就是段碼是液晶屏幕了,他有普通的數碼管的特征,又有點陣LCD的特征,固定的圖形,省成本而有好看,那么,我們今天來一起玩玩!       

首先,大家不要以為用單片機來驅動就以為斷碼屏是直流驅動的,其實,段碼屏是交流驅動,什么是交流?矩形波,正弦波等。大家可能會經常用驅動芯片來玩,如HT1621等,但是有些段式屏IO口比較少,或者說IO口充足的情況下,也懶得在去寫控制器的驅動了。單片機接口方便,而后者驅動電流小,功耗低、壽命長、字形美觀、顯示清晰、視角大、驅動方式靈活、應用廣泛

1】。但在控制上LCD較復雜,因為LCD電極之間的相對電壓直流平均值必須為0

【2】,否則易引起LCD氧化,因此LCD不能簡單地用電平信號控制,而要用一定波形的方波序列來控制。LCD顯示有靜態和時分割兩種方式,前者簡單,但是需要較多的口線;后者復雜,但所需口線較少,這兩種方式由電極引線的選擇方式確定。下面以電子表的液晶顯示為例,小時的高位同時滅或亮,分鐘的高位在顯示數碼1~5時,其頂部和底部也是同時滅或亮,兩個dot點也是同時亮或滅,其驅動方式是偏置比為1/2的時分割驅動,共有11個段電極和兩個公共電極。

但是,IO模擬驅動段式液晶有一個前提條件,就是IO必須是三態,

為什么?下面我們一起細細道來:


       第一步,段碼式液晶屏的重要參數:工作電壓, 占空比, 偏壓比。這三個參數非常重要,必須都要滿足。


       第二步,驅動方式:根據 LCD 的驅動原理可知,LCD 像素點上只能加上 AC 電壓,LCD 顯示器的對比度由 COM腳上的電壓值減去 SEG 腳上的電壓值決定,當這個電壓差大于 LCD 的飽和電壓就能打開像素點,小于 LCD 閾值電壓就能關閉像素點,LCD 型 MCU 已經由內建的 LCD 驅動電路自動產生 LCD 驅動信號,因此只要 I/O 口能仿真輸

出該驅動信號,就能完成 LCD 的驅動。


      段碼式液晶屏幕主要有兩種引腳,COM,SEG,跟數碼管很像,但是,壓差必須是交替變化,例如第一時刻是正向的3V,那么第二時刻必須是反向的3V,注意一點,如果

給段碼式液晶屏通直流電,不用多久屏幕就會廢了,所以千萬注意。下面我們來考慮如何模擬COM口的波形,以1/4D,1/2B為例子:

 

只要模擬出以上波形,你的液晶屏已經成功了一大半了。

 

1. void display_sub(u8 y)              //lcd display subroutine

2. {

3.         switch(y)                              //4*com,VDD and -VDD LCD display,so 8 timebase interrupt one sacn period

4.         {

5.                 case 1:

6.                         {com1_output_high();break;}

7.                 case 2:

8.                         {com1_output_low();break;}

9.                 case 3:

10.                         {com2_output_high();break;}

11.                 case 4:

12.                         {com2_output_low();break;}

13.                 case 5:

14.                         {com3_output_high();break;}

15.                 case 6:

16.                         {com3_output_low();break;}

17.                 case 7:

18.                         {com4_output_high();break;}

19.                 case 8:

20.                         {com4_output_low();break;}

21.                 default:

22.                         {LCDPluseStep=0;

23.                          get_display_code(AD_Value,KeyScanRetVal);

24.                          break;}

25.         }

26. }

入上圖代碼所示,定時2ms,讓4個COM交替輸出波形即可。
同時我們要注意,在COM輸出高的時候,如果要屏幕亮,SEG就要輸出低,那么在COM輸出低的時候,SEG就要輸出高,保證COM和SEG的壓差大于1/2B工作電壓就可以顯示了
下面我們看其中一個com口輸出時的函數

1. static void seg1_output(void)                        //seg1 output subroutine

2. {

3.         if(1 == (LCDPluseStep%2))                        //com_pulse is odd,com output high (VDD)

4.         {

5.                 if(0 == (DisplayCode1&0x10))

6.                 {SEG1=1;}

7.                 else

8.                 {SEG1=0;}

9.         }

10.         else                                        //com_pulse is even,com output low (VSS)

11.         {

12.                 if(0 == (DisplayCode1&0x10))

13.                 {SEG1=0;}

14.                 else

15.                 {SEG1=1;}

16.         }

17. }

時刻讓SEG電平跟COM的電平反向,那么驅動段式液晶就不會有多大難度了

Copyright ? 2013-2015 All Rights Reserved. 粵ICP備15058523號-1
廣州漢顯電子科技有限公司 總部辦公地址:廣州黃埔區黃埔東路怡港大廈五樓 辦公電話:020-82595819、82595766 傳真:020-82594149
廠址:江西贛州信豐縣工業園誠信大道
澳门庄闲游戏博彩