搜索
bottom↓
回复: 4

12864显示过段时间左半屏幕会出现阶梯错位

[复制链接]

出0入0汤圆

发表于 2009-8-10 19:38:41 | 显示全部楼层 |阅读模式
版主,我的12864液晶显示一段时间之后会错位,只是左半屏幕错位,重启以后会恢复,拿另一种型号的12864只不过c1 c2片选不一样,左右跟原来的正好相反,测试一段时间,也会出现错位,这次是在右边。
显示板和液晶是放在开关电源机箱内的,开关电源地线没有接。
会不会是共模电流没法释放,在机壳上积累产生电场,积累到一定程度,会使液晶错位?
在机箱外面测试是正常的。

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

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

出0入0汤圆

发表于 2009-8-22 11:25:57 | 显示全部楼层
问题;在函数void LCD12864_Clean(void)并行清屏函数中,可是还是出现了一大堆乱点。
而且,这些乱点都是在偶数行的,奇数行的点都被清除了。
请问:这是为什么?应该怎么做,才可以完全清除?
谢谢!急救!

出0入0汤圆

发表于 2009-10-20 09:25:19 | 显示全部楼层
unsigned char read_dat(void){
        unsigned char tmp;
        check_busy();
        SetB(RS_PORT,RS);       
        SetB(RW_PORT,RW);        //RW=1;
        SetB(EN_PORT,EN);        //EN=1;
        ClrB(EN_PORT,EN);        //EN=0;        //!!!!!!EN必须在一个下降沿后拉高,直接拉高等着头痛去~~~
        SetB(EN_PORT,EN);        //EN=1;
        //asm("nop");        //nop太少会导致读出的值不准
        //asm("nop");
        //asm("nop");
        ddr_dat_in();
        tmp=DAT_PIN;
        ddr_dat_out();
        return tmp;
}

注意读时序中的使能时序

出0入0汤圆

发表于 2009-10-20 12:57:39 | 显示全部楼层
使能信号给出前后,延时要稍微长点,液晶实际的动作没有手册上写的那么快(我手里液晶如此)

出0入0汤圆

发表于 2016-3-7 16:08:32 | 显示全部楼层
hithyy 发表于 2009-10-20 12:57
使能信号给出前后,延时要稍微长点,液晶实际的动作没有手册上写的那么快(我手里液晶如此) ...

确实是这样的,终于解决了我的问题,

LCD_RS=0;  //选择指令寄存器
LCD_RW=0;  //写

delayus(20);
LCD_EN=0;
// LCD_EN=1;
delayus(20);   //5us太小  容易出现移屏现象
Part=com;    //指令值赋给P0口



LCD_EN=0;这句前后延时10us都还有移屏现象,改成20才稳定下来
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-27 04:03

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

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