这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » F449,LCD F449的LCD显示问题

共2条 1/1 1 跳转至

F449,LCD F449的LCD显示问题

院士
2006-09-17 18:14:16     打赏
F449,LCD F449的LCD显示问题



关键词: 显示     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 我使用430F449在做设计,需要使用到1/4DUTY的LCD显示,
现在碰到的问题是,我在debug状态下已经看到LCDMEM[0],LCDMEM[1],LCDMEM
[2]的值有改变,但是LCD并没有显示。我的程序如下:(因为LCD连线的问题,我自己做的显示编码)

char Group1[10] = {
//[ p c g b d e f a ]
//091H~093H
0x5F, /* "0" LCD segments a+b+c+d+e+f = 0101 1111 */
0x50, /* "1" LCD segments b+c */
0x3D, /* "2" LCD segments a+b+d+e+g */
0x79, /* "3" LCD segments a+b+c+d+g */
0x72, /* "4" LCD segments b+c+f+g */
0x6B, /* "5" LCD segments a+c+d+f+g */
0x6F, /* "6" LCD segments a+c+d+e+f+g */
0x51, /* "7" LCD segments a+b+c */
0x7F, /* "8" LCD segments a+b+c+d+e+f+g */
0x7B /* "9" LCD segments a+b+c+d+f+g */
};

void DispLockTime(int time1,int time2,int time3) //display lock time setting
{
LCDMEM[12] = Group1[time1];
LCDMEM[11] = Group1[time2];
LCDMEM[10] = Group1[time3];
}

void main(viod)
{
int i;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
FLL_CTL0 |= XCAP14PF; // Configure load caps
LCDCTL = LCDON + LCD4MUX + LCDP2; // STK LCD 4Mux, S0-S17
BTCTL = BTFRFQ1; // STK LCD freq
P5SEL = 0xFC; // Common and Rxx all selected

StartInit();
TACTL = TASSEL1 + TACLR; // SMCLK, clear TAR
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 5000;
P4DIR |= 0xff; // P5.1 output
P4OUT=0x00;
P6DIR |=0XFF;
P6OUT=0X06;

TACTL |= MC1; // Start Timer_A in continuous mode

_EINT(); // Enable interrupts

ClrDisp();
DispLockTime(4,5,6);

for (;;)
{
for (i=0; i<3; ++i) // Display "210"
LCDMEM[i] = Group1[i];
}
}

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
ulcount++;
if(ulcount>5)
{
P4OUT ^= 0xf7; // Toggle P5.1
P6OUT ^= 0X06;
//CCR0 += 50000; // Add Offset to CCR0
ulcount=0;
}
}


void StartInit(void)
{
unsigned int i;

WDTCTL = WDTPW + WDTHOLD; // stop watchdog timer
FLL_CTL0 = XCAP18PF; // set load capacitance for 32k xtal
FLL_CTL1 = FLL_CTL1 & ~XT2OFF; // clear bit = high freq xtal on

do // loop until flag is clear
{
FLL_CTL0 = FLL_CTL0 & ~XT2OF; // clear high freq oscillator fault flag
for (i = 50000; i; i--); // delay for crystal to start and FLL to lock
}
while (FLL_CTL0 & XT2OF); // test high freq oscillator fault flag

// if flag remained clear then -
FLL_CTL1 = SELS; // switch SMCLK = HF xtal
P1DIR = 0x32; // P1.1, P1.4 & P1.5 to outputs
P1SEL = 0x32; // P1.1, P1.4 & P1.5 functions to output
}

如果外接的晶体振荡器没有起振的话,会不会对LCD的显示有影响?或者是我在配置430的初始化环境的时候出错了?

我刚刚开始使用430,请各位高手不吝指教! 1: LCD时钟呢? 2: BTCTL = BTFRFQ1; // STK LCD freq

我用他的基本定时器啊!

还有要怎么设置吗? 3: 请大家帮我看看啊!
谢谢各位了! 4: 基本定时器是使用ACLK来作为时钟来源的,
但是我的板子上并没有连接XIN和XOUT,这样会有影响吗? 5: 晶振是必须的。
不良也可能是其他原因。测量如下电压是否正常:1、r03-r33,每个电阻分压约1/3vcc,2、com和地的压差,用万用表测约1/2vcc,seg和地也是,如果用示波器可以看到梯形波。
如果有不正常的,先排除虚焊,再查程序,再怀疑芯片坏了。 6: 引用:

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]