【求助】430 ST7920带字库12864画点失败

2019-03-24 09:55发布

求救下万能的网友。
我采用打点程序,打出来的竟然是几条线。
之前看看到网上有人说是因为没有开扩展指令集,但是我开了
求救
QQ图片20141026102732.jpg


PS:附上我的打点子程序
  1. unsigned char Row,Tier,Tier_bit ,Tier_y,i;
  2.     unsigned char ReadOldH=0x00;
  3.     unsigned char ReadOldL=0x00 ;
  4.    LCD_WCMD(0x34);
  5.    LCD_WCMD(0x36);
  6.     Tier        =       X >> 4 ;
  7.    // Tier_y      =       Y&0x3f;
  8.      Tier_bit=X&0x0f ;
  9.   
  10. //   Row = Tier_y;
  11.     if(Y<32)
  12.     {
  13.         Row=Y ;
  14.     }
  15.    else
  16.     {
  17.         Row=Y-32 ;
  18.         Tier+=8 ;
  19.         
  20.     }
  21.       // LCD_WCMD(0x34);
  22.    //LCD_WCMD(0x34);
  23.     /***
  24.     if(Y>31)
  25.     {
  26.       Tier += 8;
  27.       Row  -= 32;
  28.     }
  29.     ***/
  30.      
  31.    
  32.      // LCD_WCMD(0x34);
  33.   //  for(i=0;i<4;i++)
  34. //        {
  35.     LCD_WCMD(0x80+Row);
  36.     LCD_WCMD(0x80+Tier);
  37.     ReadByte();
  38.    // ReadOldH=ReadByte();
  39.      ReadOldH=ReadByte();
  40.     ReadOldL=ReadByte();
  41.          LCD_WCMD(0x80+Row);
  42.     LCD_WCMD(0x80+Tier);
  43.     if(Tier_bit<8)
  44.     {
  45.       //ReadOldH|=(1<<(7-Tier_bit));
  46.       ReadOldH|= (0x80>> Tier_bit);
  47.       // LCD_WDAT(ReadOldH);
  48.         //LCD_WDAT(ReadOldL);
  49.     }
  50.     else
  51.     {
  52.       //ReadOldL|=(1<<(15-Tier_bit));
  53.       ReadOldL  |=  (0x80 >>(Tier_bit -8));
  54.     //    LCD_WDAT(ReadOldH);
  55.       //  LCD_WDAT(ReadOldL);
  56.     }
  57.    

  58.      LCD_WDAT(ReadOldH);
  59.       LCD_WDAT(ReadOldL);
  60.     //     LCD_WCMD(0x36);
  61.     LCD_WCMD(0x30);
复制代码


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
小呀小菜鸟
2019-03-25 04:32
楼主   你是并行还是串行?  我串行方式   打点竖着一条线没问题  但是横着显示一条线不行  只能显示一条线的最后一个点   仿真看了下,从12864读取出来的一直是0x00   怎么回事?是串行不能读取吗?

一周热门 更多>

相关问题

    相关文章