MSP430F4152 LCD驱动问题
各位,再用MSP430F4152驱动LCD的时候碰到一个非常奇怪的问题。MSP430F4152的LCD配成了使用内部充电泵,配置程序如下:
void LCD_Init(void)
{
//Setup Sx PIN
P5SEL |= BIT7 + BIT6 + BIT5 + BIT4; //COM0 ~ COM3,
//Enable LCD Sx PIN func
P4SEL = 0xFF;
P2SEL = 0xFF;
//LCDA : ACLK / 128 + 4-MUX + LCD SEG ON + LCD MODULE ON
LCDACTL = LCDFREQ_128 + LCD4MUX + LCDON;
//LCDA Port Ctrl: S0 ~ S7 + S16 ~ S23
LCDAPCTL0 = LCDS0 + LCDS4 + LCDS8 + LCDS12; // Enable LCD S0 ~ S15 4COM
LCDAPCTL1 = 0;
LCDAVCTL0 = LCDCPEN; //Enable internal LCD charge pump
LCDAVCTL1 = VLCD_1; //Vlcd = 2.6V is enough
}
LCDCAP脚我接了个10uF的电容到地。正常情况下,芯片全速运行,LCDCAP脚的电压应该是2.6V,如我配置的那样。但是我发现如果我单步执行,LCDCAP脚电压就是正确的2.6V,LCD显示也正常。但是如果单片机全速执行,LCDCAP脚的电压就被抬高到4.4~4.8V,此时LCD所有的SEG都被点亮了(其实是严重的拖影)。如果此时pause,那么等几秒,LCD显示又会正常,LCDCAP电压又会回落到2.6V。真是奇怪。哪位大侠也碰到过这种问题么?给个解决思路吧。(另外我不打算用外部的R0~R3分压来产生LCD的偏置电压,因为板子就按内部电荷泵来设计的,没有R0 ~ R3分压的地方)。