TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR4133驱动8COM液晶的问题

大家好,今天使用自制板子驱动8COM 段式液晶。选用L0~L23为液晶驱动脚,其中L8~L15为COM,

其他都正常,唯有L20~L23对应段不显示,用示波器测量对应管脚(L20~L23)为矩形波,但是低电平位1.2V、

高电平位2.3V,其他管脚的波形是正常的;使用另一个没有焊接液晶屏的线路板实验,现象是相同的。

请问这是为什么呢?是不是我程序设置那里不对呢。

PS:程序是从TI 提供的示例代码更改过去的。

#include <msp430.h>

void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

P4SEL0 |= BIT1 | BIT2; // P4.2~P4.1: crystal pins
do
{
CSCTL7 &= ~(XT1OFFG | DCOFFG); // Clear XT1 and DCO fault flag
SFRIFG1 &= ~OFIFG;
}while (SFRIFG1 & OFIFG); // Test oscillator fault flag
CSCTL6 = (CSCTL6 & ~(XT1DRIVE_3)) | XT1DRIVE_2; // Higher drive strength and current consumption for XT1 oscillator

// P8OUT |= BIT3; // P8DIR |= BIT3; PM5CTL0 &= ~LOCKLPM5;

// Configure LCD pins
SYSCFG2 |= LCDPCTL; // R13/R23/R33/LCDCAP0/LCDCAP1 pins selected

LCDPCTL0 = 0xFFFF;
LCDPCTL1 = 0x00FF;
LCDPCTL2 = 0x0000; // L0~L23 pins selected

LCDCTL0 = LCDSSEL_0 | LCDDIV_7; // flcd ref freq is xtclk

LCDVCTL = LCDCPEN | LCDREFEN | VLCD_12 | (LCDCPFSEL0 | LCDCPFSEL1 | LCDCPFSEL2 | LCDCPFSEL3);

LCDMEMCTL |= LCDCLRM;

LCDCSSEL0 = 0xFF00; // Configure COMs and SEGs
LCDCSSEL1 = 0x0000; // L8-L15
LCDCSSEL2 = 0x0000;

LCDM15=0X01; //COM0
LCDM14=0X02; //COM1
LCDM13=0X04; //COM2
LCDM12=0X08; //COM3
LCDM11=0X10; //COM4
LCDM10=0X20; //COM5
LCDM9 =0X40; //COM6
LCDM8 =0X80; //COM7

LCDMEM[0] = 0XFF;
LCDMEM[1] = 0XFF;
LCDMEM[2] = 0XFF;
LCDMEM[3] = 0X0F;
LCDMEM[4] = 0XFF;
LCDMEM[5] = 0XFF;
LCDMEM[6] = 0XFF;
LCDMEM[7] = 0XFF;

LCDMEM[19] = 0XFF;
LCDMEM[18] = 0XFF;
LCDMEM[17] = 0XFF;
LCDMEM[16] = 0XFF;

LCDMEM[20] = 0XFF; //      ? 对应段 不显示
LCDMEM[21] = 0XFF; //       ?对应段 不显示
LCDMEM[22] = 0XFF; //       ?对应段 不显示
LCDMEM[23] = 0XFF; //      ?对应段 不显示

LCDCTL0 |= LCD8MUX | LCDON; // display on

while (1) {

}
}

Maka Luo:

LCDMEM[0] = 0XFF;LCDMEM[1] = 0XFF;LCDMEM[2] = 0XFF;LCDMEM[3] = 0X0F;LCDMEM[4] = 0XFF;LCDMEM[5] = 0XFF;LCDMEM[6] = 0XFF;LCDMEM[7] = 0XFF;

LCDMEM[19] = 0XFF;LCDMEM[18] = 0XFF;LCDMEM[17] = 0XFF;LCDMEM[16] = 0XFF;

LCDMEM[20] = 0XFF; //      ? 对应段 不显示LCDMEM[21] = 0XFF; //       ?对应段 不显示LCDMEM[22] = 0XFF; //       ?对应段 不显示LCDMEM[23] = 0XFF; //      ?对应段 不显示

参见user guide Table 16-9. LCD Memory Registers for 5-Mux to 8-Mux Modes(1) (2)

去对应写LCDMEM的值

如果需要验证硬件,可以将所有MEM的值写入FF

灰小子:

LCDMEM[3] = 0X0F ???

martin wang:

回复 Maka Luo:

问题解决了吗?我也遇到同样的问题了,能否交流下,qq:916922155

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR4133驱动8COM液晶的问题
分享到: 更多 (0)