找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7059|回复: 10
收起左侧

关于LCD12864液晶屏时序图看不懂,连最简单的都不会

[复制链接]
ID:75806 发表于 2018-6-21 22:48 | 显示全部楼层 |阅读模式
网上找了好多资料,时序图看不懂,连最简单的都不会,听说不同的芯片操作起来还不一样,真心不知道怎么办了!
回复

使用道具 举报

ID:320306 发表于 2018-6-22 08:37 | 显示全部楼层
对照程序看时序会比较好一些,个人建议哈,不是每个人都适合!!!!
回复

使用道具 举报

ID:7485 发表于 2018-6-22 08:38 | 显示全部楼层
lcd12864有好几种类型的,我用过的就有4~5种。驱动芯片不同,对应的单片机程序也不同。这个要先看看是什么芯片驱动的。
回复

使用道具 举报

ID:7485 发表于 2018-6-22 08:40 | 显示全部楼层
如果真的下功夫看了,还是看不懂,就不要太难为自己了。
回复

使用道具 举报

ID:164602 发表于 2018-6-22 09:24 | 显示全部楼层
可以看别人的程序嘛,对照时序图,再研究,可能好懂些。
给个别人的程序,你看看:
uchar LCD12864_Busy(void)//检测LCD是否忙
{
        uchar i = 0;

        LCD12864_RS = 0;           //选择命令
        LCD12864_RW = 1;        //选择读取

        LCD12864_EN = 1;
        LCD12864_Delay1ms(1);

        while((LCD12864_DATAPORT & 0x80) == 0x80)        //检测读取到的值
        {
                i++;
                if(i > 100)
                {
                        LCD12864_EN = 0;
                        return 0;           //超过等待时间返回0表示失败
                }
        }

        LCD12864_EN = 0;

        return 1;
}

void LCD12864_WriteCmd(uchar cmd)//写命令
{
        uchar i;
        i = 0;
        while( LCD12864_Busy() == 0)
        {
                LCD12864_Delay1ms(1);
                i++;
                if( i>100)
                {
                        return;           //超过等待退出
                }       
        }
       
        LCD12864_RS = 0;     //选择命令
        LCD12864_RW = 0;     //选择写入
        LCD12864_EN = 0;     //初始化使能端

        LCD12864_DATAPORT = cmd;   //放置数据

        LCD12864_EN = 1;                   //写时序
        LCD12864_Delay1ms(1);
        LCD12864_EN = 0;                                           
}

void LCD12864_WriteData(uchar dat)//写数据
{
        uchar i;
        i = 0;
        while( LCD12864_Busy() == 0)
        {
                LCD12864_Delay1ms(1);
                i++;
                if( i>100)
                {
                        return;           //超过等待退出
                }       
        }

        LCD12864_RS = 1;     //选择数据
        LCD12864_RW = 0;     //选择写入
        LCD12864_EN = 0;     //初始化使能端

        LCD12864_DATAPORT = dat;   //放置数据

        LCD12864_EN = 1;                   //写时序
        LCD12864_Delay1ms(1);
        LCD12864_EN = 0;                                                                   
}
回复

使用道具 举报

ID:356576 发表于 2018-6-22 09:35 来自手机 | 显示全部楼层
多上网找一步一步来
回复

使用道具 举报

ID:355894 发表于 2018-6-22 09:43 | 显示全部楼层
这个不能强求,有人不适合编程。但是你要用哪款,你说明芯片型号,在网络上找,或者请教都比较具体了,就是回答的也能有目的的会。你这样问不合适。再有就是你真的不想努力就想获得大家的源码,这是不可取的。花足够的钱,谁都分分钟给你做出驱动。
回复

使用道具 举报

ID:7485 发表于 2018-6-22 15:47 | 显示全部楼层
5楼给出的程序应该是ST7920控制芯片的。比较多见的还有一种是不带好字库的,ks0108控制芯片的。你要看看你的LCD的控制芯片的型号。
回复

使用道具 举报

ID:269211 发表于 2018-6-26 22:47 | 显示全部楼层
先学会调用人家的程序,再自己慢慢摸索,自然就会了
回复

使用道具 举报

ID:51443 发表于 2018-6-27 08:23 | 显示全部楼层
楼上说的是捷径,一般应用,也就是复制粘贴的事.
回复

使用道具 举报

ID:776206 发表于 2020-8-5 09:58 | 显示全部楼层
我觉得要认真看芯片手册,还有别人的程序应该看懂不是什么难事。你可以看一下我的
1596592594(1).jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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