lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.top-me.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    如何用12864读数据功能读取DDRAM内部中文字符串模数据

    分享
    avatar
    滴迪
    初级会员
    初级会员

    帖子数 : 18
    威望 : 0
    注册日期 : 13-01-16
    地点 : 湖北理工学院

    如何用12864读数据功能读取DDRAM内部中文字符串模数据

    帖子 由 滴迪 于 2013-04-21, 5:27 pm

    代码:
    unsigned char read_data()
    {
        uchar lcd_data; 
       
        P0=0xff;             

        rs=1;
        rw=1;         
        e=0;         
        e=1;      

        delay_50us(1);
        lcd_data=P0;
        delay_50us(2);
        e=0;
        //delay_50us(2);
        return lcd_data;
    }


    uchar *read_DDRAM()
    {
    //  uchar i,j;
    //  uchar n;
      uchar data_DDRAM[2];

      check_busy();



      write_cmd(0x80);
      write_cmd(0x80);

                         
      read_data();//虚读是这么写吗??????

     
      data_DDRAM[0]=read_data();
       
      data_DDRAM[1]=read_data();


      return(data_DDRAM);
    }
    大概是这个形式吗
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    回复: 如何用12864读数据功能读取DDRAM内部中文字符串模数据

    帖子 由 Admin 于 2013-04-21, 5:57 pm

    代码:
    void   Lcd_Point(uchar   x,uchar y,uchar   color)
    {
       uchar   tmph = 0,tmpl = 0,xcmd,ycmd,xbit,xadd;
       xadd = x / 16;
       xbit = x % 16;
       
       if(y > 31)
       {
          ycmd = 0x80 + y % 32;
          xcmd = 0x88 + xadd;
       }
       else
       {
          ycmd = 0x80 + y;
          xcmd = 0x80 + xadd;
       }

       LCD_WRITE_CMD(Ecmd);      //扩展功能
       LCD_WRITE_CMD(ycmd);    //Y
       LCD_WRITE_CMD(xcmd);    //x
       Lcd_Read_Dat();        //空读
       tmph = Lcd_Read_Dat();  //读数据高8位
       tmpl = Lcd_Read_Dat();  //读数据低8位
       if(xbit > 7)
       {
          xbit = xbit % 8;
          switch(color)
          {
             case 0: tmpl = ~((~tmpl) | (0x80 >> xbit));
                   break;
             case 1: tmpl = tmpl | (0x80 >> xbit);
                   break;
             default: break;
          }
       }
       else
       {
          switch(color)
          {
             case 0: tmph = ~((~tmph) | (0x80 >> xbit));
                   break;
             case 1: tmph = tmph | (0x80 >> xbit);
                   break;
             default: break;
          }
       }
       LCD_WRITE_CMD(ycmd);    //Y
       LCD_WRITE_CMD(xcmd);
       LCD_WRITE_DAT(tmph);
       LCD_WRITE_DAT(tmpl);   
        LCD_WRITE_CMD(GD_ON);
    }
    这是在12864液晶上面打点的函数,其中涉及到读数据
    avatar
    滴迪
    初级会员
    初级会员

    帖子数 : 18
    威望 : 0
    注册日期 : 13-01-16
    地点 : 湖北理工学院

    回复: 如何用12864读数据功能读取DDRAM内部中文字符串模数据

    帖子 由 滴迪 于 2013-04-21, 7:18 pm

    感谢谢谢………………我提取后试试看

      目前的日期/时间是2018-02-20, 11:35 am