一直卡在读不出LCD中的数据

2019-07-21 20:16发布

用G2和12864(ST7920)串行连接,准备做画曲线的程序,但是一直卡在读不出LCD中的数据
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
wyjie
2019-07-22 03:13

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;
}

一周热门 更多>