当前位置 - 股票行情交易網 - 國際漫評 - 段碼LCD液晶屏應該怎麽驅動?

段碼LCD液晶屏應該怎麽驅動?

大家平常在生活之中見到最多的可能就是段碼液晶屏了,它有著普通數碼管的特征,又有著點陣液晶屏的特征,已經固定的圖形,既省成本而且又好看,那麽,我們今天來壹起試壹試!

首先,大家都不要以為使用單片機來驅動,就以為是斷碼屏直流驅動的了,其實呢,段碼屏它是交流驅動的,什麽是交流驅動呢?例如矩形波、正弦波等等。大家可能會經常的使用驅動芯片來玩,例如HT1621等等,但是有壹些段式屏的IO口是比較少的,或者說是IO口充足的情況之下,也懶得在再去寫控制器的驅動了。但是,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為例子:

段碼LCD屏的驅動方法

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

void display_sub(u8 y) //lcd display subroutine

{

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

{

case 1:

{com1_output_high();break;}

case 2:

{com1_output_low();break;}

case 3:

{com2_output_high();break;}

case 4:

{com2_output_low();break;}

case 5:

{com3_output_high();break;}

case 6:

{com3_output_low();break;}

case 7:

{com4_output_high();break;}

case 8:

{com4_output_low();break;}

default:

{LCDPluseStep=0;

get_display_code(AD_Value,KeyScanRetVal);

break;}

}

}

復制代碼

如上圖代碼所示,定時到2ms,讓4個COM交替的輸出波形就可以了。

文章轉載於LCD液晶屏:,轉載請註明出處

同時我們還要註意,在COM的輸出較高的時候,如果要屏幕亮,那麽SEG就要輸出低,那麽在COM輸出低的時候,SEG就要輸出高了,保證COM和SEG的壓差大於1/2B工作電壓就可以正常顯示了

下面我們看其中壹個com口輸出時的函數

static void seg1_output(void) //seg1 output subroutine

{

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

{

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

{SEG1=1;}

else

{SEG1=0;}

}

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

{

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

{SEG1=0;}

else

{SEG1=1;}

}

}

復制代碼

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

段碼液晶屏:

文章原創於/zixun/xydt/822.html,轉載請註明出處