求助,MSP430G2553串行连接12864

2019-08-08 14:19发布

我用G2和12864(ST7920)串行连接,准备做画曲线程序,但一直卡在读不出LCD中的数据,从网上找,也很少有这方面的资料。所以求助各位大神了。
读程序如下:
uchar read_lcd()
{


      uchar i,data;
      data =0;
      LCD_SCLK0;             //en=1;
      LCD_SID1;              //wr=1
      for(i=0;i<5;i++)       //数据时序
      {
          LCD_SCLK1;
          delay_us(50);
          LCD_SCLK0;
          delay_us(50);
      }

      LCD_SID1;             //wr=1
      LCD_SCLK1;            //en=1
      delay_us(50);
      LCD_SCLK0;            //en=0
      delay_us(50);

      LCD_SID1;   
      LCD_SCLK1;
      delay_us(50);
      LCD_SCLK0;
      delay_us(50);

      LCD_SID0;
      LCD_SCLK1;
      delay_us(50);
      LCD_SCLK0;
      delay_us(50);
   P2DIR &= 0xef;  
    for(i=0;i<4;i++)
    {
        data<<=1;
        LCD_SCLK1;
        if(LCD_SID_READ) data++;
        LCD_SCLK0;
    }
    //再接受4个连续'0'
    for(i=0;i<4;i++)
    {
        delay_us(1);
        LCD_SCLK1;
        delay_us(1);
        LCD_SCLK0;
    }
    //接受低4位
    for(i=0;i<4;i++)
    {
        data<<=1;
        LCD_SCLK1;
        if(LCD_SID_READ) data++;
        LCD_SCLK0;   
    }
    //再接受4个连续'0'
    for(i=0;i<4;i++)
    {   
        delay_us(1);
        LCD_SCLK1;
        delay_us(1);
        LCD_SCLK0;   
    }
    P2DIR |= BIT4;
    return data;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。