This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLC5941为什么没有输出呢,灯也不亮?电路图和程序哪里有问题呢?多谢专家指教

Other Parts Discussed in Thread: TLC5941

//TLC上电
void tlc_init(void)
{

unsigned int i;
for(i=0;i<192;i++)
{
tlc_gs_data[i]=i%2;
}
for(i=0;i<96;i++)
{
tlc_dc_data[i]=1;
}
TLC_XLAT =0;
TLC_SIN =1;
TLC_SCLK =0;
TLC_MODE=1;
TLC_GSCLK=0;
TLC_BLANK=1;
}


//初始化TLC5941芯片的GS部分
void tlc_setup_gs_reg(void)
{
unsigned int i;

TLC_BLANK=1;//
delay_us(10);


TLC_MODE =0;//gs mode
delay_us(10);

for(i=0;i<192;i++)//192个数据
{
TLC_SIN =(tlc_gs_data[i]==0)?0:1;
delay_us(10);
TLC_SCLK =0;
delay_us(10);
TLC_SCLK =1;
delay_us(10);

}


TLC_SCLK =0;
delay_us(10);




TLC_XLAT =1;//更新数据
delay_us(10);
TLC_XLAT =0;//锁存数据
delay_us(10);



TLC_SCLK =0;//额外一个脉冲
delay_us(10);
TLC_SCLK =1;
delay_us(10);




TLC_SCLK =0;



}


//初始化TLC5941芯片的dc部分
void tlc_setup_dc_reg(void)
{
unsigned int i;

TLC_BLANK=1;


TLC_MODE =1;//dc mode

delay_us(10);

for(i=0;i<96;i++)//96个数据
{
TLC_SIN =(tlc_dc_data[i]==0) ? 0 : 1 ;
delay_us(10);
TLC_SCLK =0;
delay_us(10);
TLC_SCLK =1;
delay_us(10);

}

TLC_SCLK =0;



delay_us(10);
TLC_XLAT =1;//更新数据
delay_us(10);
TLC_XLAT =0;//锁存数据
delay_us(10);

TLC_MODE =0;
}


//控制灯的PWM闪烁,暂时使用恒定频率
void tlc_pwm(void)
{
unsigned int i;

TLC_MODE =0;


delay_us(10);
TLC_BLANK=1;elay_us(10);
TLC_BLANK=0;

for(i=0;i<4096;i++)//产生4096个脉冲
{

delay_us(10);
TLC_GSCLK=1;

delay_us(10);
TLC_GSCLK=0;
}



TLC_BLANK=1;
delay_us(10);
}

int main(void)
{

CPUM_PD_Init();

tlc_init(); 

tlc_setup_gs_reg();//

tlc_setup_dc_reg();


nextloop:

delay_ms(500);

tlc_pwm();

goto nextloop;



}