微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 有人用过PCA8561 吗,我用它驱动LCD时,单步调试时一切正常,但是一全速运行,就什么也没有。有人知道什么问题吗?

有人用过PCA8561 吗,我用它驱动LCD时,单步调试时一切正常,但是一全速运行,就什么也没有。有人知道什么问题吗?

时间:10-02 整理:3721RD 点击:
SPI: 程序代码
void SPI0_8_Init(void)
{
    SPI0CR1 =0x00;
    SPI0CR2 =0x00;
    SPI0BR = 0x41;    // 波特率 1.5M     芯片支持 5M 以下
    SPI0CR1 = 0x50;
}
/*  SPI0 数据发送函数 */
void SPI0_8_Send_Data(unsigned char DAT_L)
{
    while(!SPI0SR_SPTEF);
    SPI0DRL = DAT_L;
}

PCA8561 液晶显示程序:
void PCA8561_Init(void)
{
    unsigned char i;
    PCA8561_CE_DIR = 1;//设置PCA8561 CE 端口为输出
    PCA8561_CE = 0;
    Delay_us(20);
    SPI0_8_Send_Data(Software_reset);                                       //延时
    SPI0_8_Send_Data(0x2c);    //芯片软件复位
    Delay_us(10);                                      
    PCA8561_CE = 1;
    Delay_us(60);
    PCA8561_CE = 0;
   Delay_us(20);
    SPI0_8_Send_Data(Software_reset);
    SPI0_8_Send_Data(0x00);
    SPI0_8_Send_Data(0x04);
    SPI0_8_Send_Data(0x01);
    SPI0_8_Send_Data(0x00);
    PCA8561_CE =1;
   Delay_us(60);
    PCA8561_CE =0;
    SPI0_8_Send_Data(COM0_7_0);    // 此处LCD 全部亮起                              
    for(i=0x04; i<0x10; i++){
        SPI0_8_Send_Data(0xff);
        Delay_us(20);
    }
    PCA8561_CE =1;                                      
}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top