搜索
bottom↓
回复: 3

430F147驱动晶发液晶12232再次求助!

[复制链接]

出0入0汤圆

发表于 2011-3-3 16:37:47 | 显示全部楼层 |阅读模式
再次向大家求助!我真的是没招了!公司产品更新,有一款液晶要换新的,说是只要把写数据的时间延长就可以,图片如下:

指定要修改的地方 (原文件名:image003.jpg)
但是我加了N个NOP还是不行!每个地方也都试了加NOP,就是不对。之前我曾经发过这个帖子,当时以为解决问题了,但是过了两天发现还是不对。
现在把液晶的驱动程序贴上,希望大家帮忙啊!  液晶的背面写着GFE122032F,可能是它的型号吧。时钟晶振是32.768K的,现在的效果还是经常会有丢失和乱码,该在第一页显示的跑到第二页··
//********************************display program start
//define display I/O
#define LcdDatDIR P4DIR
#define LcdDatOUT P4OUT
#define LcdConDIR P3DIR
#define LcdConOUT P3OUT
unsigned char  COMA0=BIT2,COMBA=BIT0,COMBB=BIT1;  //comba->e1; combb->e2;  coma0->a
unsigned char i,DataTemp,ColumnTemp;
//write command
void LcdWriteCmd(unsigned char Cmd)
{   LcdDatDIR=0xff;
    LcdConDIR|=COMA0+COMBA+COMBB;
    LcdConOUT&=~COMA0;
    LcdConOUT|=COMBA;//LcdConOUT&=~COMBB;   
    LcdDatOUT=Cmd;
    LcdConOUT&=~COMBA;     //e1
    LcdDatOUT=0;
   
//    delay_test(200);
    LcdConOUT|=COMBB;
    LcdDatOUT=Cmd;
    LcdConOUT&=~COMBB;    //e2
    LcdDatOUT=0;
   
}
//write data
void LcdWriteData(unsigned char Eflag,unsigned char Data)
{
    LcdDatDIR=0xff;
    LcdConDIR|=COMA0+COMBA+COMBB;
    LcdConOUT|=COMA0;
//    delay_test(200);
    if(Eflag==1)
    {  LcdConOUT|=COMBA;//LcdConOUT&=~COMBB;
       LcdDatOUT=Data;
       LcdConOUT&=~COMBA;     //e1
       LcdDatOUT=0;
    }
    else
    {  LcdConOUT|=COMBB;
       LcdDatOUT=Data;
       LcdConOUT&=~COMBB;    //e2
       LcdDatOUT=0;
    }
}  
//Clear Lcd Screen
void ClearCld(void)
{   unsigned int i,j;
    for(i=0xb8;i<=0xbb;i++)
    {  LcdWriteCmd(i);
       LcdWriteCmd(0);
       for(j=0;j<=61;j++)
       {   LcdDatDIR=0xff;
           LcdConDIR|=COMA0+COMBA+COMBB;
           LcdConOUT|=COMA0;
           LcdConOUT|=COMBA;
           LcdDatOUT=0;
           LcdConOUT&=~COMBA;     //e1
           LcdConOUT|=COMBB;
           LcdDatOUT=0;
           LcdConOUT&=~COMBB;    //e2
       }
    }
}

//Lcd Init
void LcdInit(void)
{   LcdWriteCmd(0xe2);    //software reset
    LcdWriteCmd(0xae);    //close display
    LcdWriteCmd(0xa4);    //stats drive off
    LcdWriteCmd(0xa9);    //select duty  1:32
    LcdWriteCmd(0xa0);    //select ADC:CW output
    LcdWriteCmd(0xee);    //read-modify-write off
    LcdWriteCmd(0x00);    //开始的 列地址
    LcdWriteCmd(0xc0);    //开始的 行地址
    LcdWriteCmd(0xaf);  //open display
  
}
//****************display program end

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2011-3-3 17:26:34 | 显示全部楼层
顶起,真的救命啊!

出0入0汤圆

 楼主| 发表于 2011-3-4 09:23:55 | 显示全部楼层
救命啊!!!!!999999999999999999

出0入0汤圆

 楼主| 发表于 2011-3-9 16:38:51 | 显示全部楼层
好吧,我自己再次买块砖把自己拍死! 在这里我要说一句 晶发的12232液晶,老子恨死你了! 之前就是因为你我才发帖求助,http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4480053&bbs_page_no=1&search_mode=3&search_text=lazyduck&bbs_id=9999  当时以为是供电的问题,就不了了之了。后来发现不是,只有那一块是那样! 其余的都显示不正常,按照你们厂家提供的资料,我在写数据的地方加延时,加了N多都没效果,撞墙的心都有了!  最后转换思路,用51单片机驱动它完全正常,才发现是I/O操作电压的问题。旧的型号挺好的,5V供电,3.3V的I/O口电压工作起来挺好的,非要更新,更新也就算了,弄出这么一个问题,害我折腾了快三个星期,把注意力从软件改到硬件上才找到问题,坑爹呢!!!           还是那句话,大家看了当做经验,别跟我一样遇到这种问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 15:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表