feixiang2010 发表于 2010-10-20 11:58:36

请教关于19264LCD(st7920)驱动程序问题

最近要做一个19264驱动,想把12864的程序改一下用,发现 19264是E1,E2,两个使能控制上下半屏的,其他的跟12864一样,我把新增加的E2连到IO,其他管脚改好,但我弄了半天怎么都是只上半屏能有字符,下半屏没有,而且上半屏显示不正确,请问高手这是问题出在哪?多谢,我是新手,苦恼的探索中···

feixiang2010 发表于 2010-10-20 14:06:13

怎么没人帮忙啊
小女子万分感谢啊

feixiang2010 发表于 2010-10-20 16:12:44

哎 调试一下午 上半屏可以正常 可下半屏死活不显示

feixiang2010 发表于 2010-10-20 17:01:32

//写命令到LCD 上半屏
void write_com(unsigned char cmdcode)
{RS_0;                //RS=0;
   RS_0;                //RS=0;
    E_1;                //E =1;
// E2_0;                //
   P7=cmdcode;                //
   E_0;                //E =0;
   //E2_0;                //E =0;
   delay(5);
}
//写命令到LCD   下半屏
void write2_com(unsigned char cmdcode)
{RS_0;                //RS=0;
   E2_1;                //E =1;
   E_0;                //E =1;
   P7=cmdcode;                //
   E_0;                //E =0;
   //E2_0;                //E =0;
   delay(5);
}

//写数据到LCD上半屏
void write_data(unsigned char Dispdata)
{        RS_1;                        //RS=1;
           E_1;                //E =1;
           E2_0;                //E2 =1;
              P7=Dispdata;                        //
           E_0;                        //E =0;
        E2_0;                        //E =0;
           delay(5);
}
//写数据到LCD下半屏
void write2_data(unsigned char Dispdata)
{        RS_1;                        //RS=1;
        E2_1;                //E2 =1;
           E_0;                //E =1;
              P7=Dispdata;                        //          
           E_0;                        //E =0;
        E2_0;                        //E =0;
           delay(5);
}

//图位清屏
void clear_d()
{unsigned char x,y;
   for ( x=0;x<16;x++)
          for (y=0;y<32;y++)
          {   write_com(0x34);
            write_com(0x80+y);
            write_com(0x80+x);
            write_com(0x30);
            write_data(0x00);
            write_data(0x00);
         /*for (y=0;y<32;y++)
          {   write2_com(0x34);
            write2_com(0x80+y);
            write2_com(0x80+x);
            write2_com(0x30);
            write2_data(0x00);
            write2_data(0x00);
          }*/
                  }

}

//初始化LCD
void lcdinit()
{
   //R_W=0;
   delay(5000);
   write_com(0x30);
   delay(20);         
   write_com(0x30);   
   delay(20);
   write_com(0x0c);      
   delay(10);
   write_com(0x01);      
   delay(200);
   write_com(0x06);                           
   //clear_d();
   delay(200);

   delay(5000);
   write2_com(0x30);
   delay(20);            
write2_com(0x30);      
   delay(20);
   write2_com(0x0c);      
   delay(10);
   write2_com(0x01);   
   delay(200);
   write2_com(0x06);      
                     
   delay(200);
// clear_d();
   delay(200);
}
好心人看看问题出在哪里

452582621 发表于 2010-11-2 11:29:34

顶下
刚拿到屏
下午试试看

unknown 发表于 2010-11-2 12:02:28

屏哪里买的,共享一下啊

452582621 发表于 2010-11-3 11:02:49

是 YJD19264
感觉有点垃圾,手册拉拉的

452582621 发表于 2010-11-4 09:37:27

问题解决了
可能是你设置坐标的时候出错了
我也出现你说的那种情况,修改了一下就可以了

sheva21 发表于 2010-11-4 17:16:30

如果分屏的话,坐标超出上屏幕,你的程序没有判断转到下屏的选择语句啊

lotuss 发表于 2011-11-30 09:29:31

回复【8楼】452582621
-----------------------------------------------------------------------

能不能分享一下你的程序,谢谢!

lotuss 发表于 2011-11-30 10:52:08

回复【3楼】feixiang2010
-----------------------------------------------------------------------

能否分享一下程序和液晶屏的材料,感激不尽!

liuhaoytu2007 发表于 2011-11-30 12:28:23

。。。。谢谢

lotuss 发表于 2011-12-21 16:54:37

回复【14楼】liuhaoytu2007
-----------------------------------------------------------------------

点击此处下载 ourdev_706454YUXU5M.rar(文件大小:39K) (原文件名:四行显示字符串OK.rar)

charlieholy 发表于 2013-6-9 11:00:23

mark楼上不错- -

charlieholy 发表于 2013-6-15 10:25:15

lotuss 发表于 2011-12-21 16:54 static/image/common/back.gif
回复【14楼】liuhaoytu2007
-----------------------------------------------------------------------



这位大哥 能来个图形显示的例子吗

HZY//123456 发表于 2014-8-3 23:20:35

我都弄糊涂了,这个屏,感觉跟原来12864差那么远的
页: [1]
查看完整版本: 请教关于19264LCD(st7920)驱动程序问题