基于MSP430單片機的液晶LCD048應用程序
液晶驅動(dòng)
MSP430器件上的液晶顯示器的控制/驅動(dòng)將簡(jiǎn)化液晶顯示器的顯示。不同型號的液晶驅動(dòng)能力不同,我們采用 MSP430的F42X系列,有128段驅動(dòng)能力。
液晶的驅動(dòng)有4種方法:靜態(tài),2MUX或1/2占空比,3MUX或1/3占空比, 4MUX或1/4占空比。對于不同系列、不同型號的液晶驅動(dòng)原理,控制方法都是一樣的,不同點(diǎn)在于驅動(dòng)液晶段數不一樣,或可顯示信息的多少不一樣。我們采用4MUX,這種方式也最簡(jiǎn)單。
其中需要注意以下兩點(diǎn):
(1)液晶的偏壓。由于液晶驅動(dòng)使用交流電壓,所以必須根據液晶的工作模MSP430進(jìn)行偏壓設置,具體的操作是:STATIC模式下,R33開(kāi)路,R03-R23接地,2MUX模式下,分別在R33、R13以及R13、R03之間接上 10K的電阻;3/4MUX模式下,分別在R33、R23之間,R23、R13以及R13、R03之間接上10K的電阻,這樣就能保證COM0-COM3 出來(lái)供給液晶塊的電壓符合要求。
(2)頻率的設置。MSP430有三種時(shí)鐘ACLK(輔助時(shí)鐘)、MCLK(主時(shí)鐘)、SMCLK(子時(shí)鐘),其中液晶的驅動(dòng)頻率FCLK來(lái)自ACLK。在XTIN和XTOUT之間接上振蕩頻率為32KHz的晶振,Fclk可以根據需要選為1024Hz、512Hz、256Hz、128Hz等。由FRFQ0和FRFQ1的設置可以滿(mǎn)足不同液晶對頻率的要求,其中Flcd=2*MUX(rate)*F(framing)。
例如:采用3MUX,已知F(framing)=100Hz-30Hz,
由F(LCD)=2*MUX(rate)*F(framing)=6*F(framing),
可知F(LCD)=180Hz-600Hz??蛇x擇的F(LCD)為1024Hz、512Hz、256Hz、128Hz,所以F(LCD)=32K/128=256Hz,所以FRFQ0=1、FRFQ1=0。
在以上兩點(diǎn)做好的基礎上,我們只要把要輸出的數字所對應的代碼輸出到MSP430的顯存就可以顯示。實(shí)驗中如液晶抖動(dòng),可適當提高液晶的驅動(dòng)頻率。如液晶亮度不夠,應適當調整偏壓電阻的大小。
在驅動(dòng)電路中,液晶可以等效為電容。兩個(gè)電極分別為公共極與段極。公共極由CMOn信號驅動(dòng),段極由SEGn信號驅動(dòng)。由此可以得到4種驅動(dòng)方法。
(1)靜態(tài)驅動(dòng):使用一個(gè)引腳作為液晶公共端COM0,而每一段段極需要另一個(gè)引腳驅動(dòng)。
(2)2MUX驅動(dòng):使用兩個(gè)引腳作為液晶公共端COM0、COM1每?jì)啥味螛O需要另一引腳驅動(dòng)。
(3)3MUX驅動(dòng):使用三個(gè)引腳作為液晶公共端COM0、COM1、COM2,每3段段極需要另一引腳驅動(dòng)。
(4)4MUX驅動(dòng):使用4個(gè)引腳作為液晶公共端COM0、COM1、COM2,每4段段極需要另一引腳驅動(dòng)。
LCD048的資料

顯示“123456”程序
#include
const char digit[10] =
{
0x7B,// "0" LCD segments a+b+c+d+e+f lcd= lsd048
0x12,// "1"
0x4F,// "2"
0x1F,// "3"
0x36,// "4"
0x3D,// "5"
0x7D,// "6"
0x13,// "7"
0x7F,// "8"
0x3F // "9"
};
char *LCD=LCDMEM;
void main(void)
{
int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal to
LCDCTL = 0x03d; // 4-Mux LCD, segments S0-S15
BTCTL= BTFRFQ1; // Set freqLCD = ACLK/128
for (i=0;i<6;i++)
{
LCD[ i]=0;
}
for(i=1;i<7;i++)
LCD[ i]=digit[ i];
}
評論