标题:
关于LCD12864液晶屏时序图看不懂,连最简单的都不会
[打印本页]
作者:
shinegentleman
时间:
2018-6-21 22:48
标题:
关于LCD12864液晶屏时序图看不懂,连最简单的都不会
网上找了好多资料,时序图看不懂,连最简单的都不会,听说不同的芯片操作起来还不一样,真心不知道怎么办了!
作者:
zsyzdx
时间:
2018-6-22 08:37
对照程序看时序会比较好一些,个人建议哈,不是每个人都适合!!!!
作者:
ahshmj
时间:
2018-6-22 08:38
lcd12864有好几种类型的,我用过的就有4~5种。驱动芯片不同,对应的单片机程序也不同。这个要先看看是什么芯片驱动的。
作者:
ahshmj
时间:
2018-6-22 08:40
如果真的下功夫看了,还是看不懂,就不要太难为自己了。
作者:
HC6800-ES-V2.0
时间:
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;
}
作者:
Cat1
时间:
2018-6-22 09:35
多上网找一步一步来
作者:
sir5
时间:
2018-6-22 09:43
这个不能强求,有人不适合编程。但是你要用哪款,你说明芯片型号,在网络上找,或者请教都比较具体了,就是回答的也能有目的的会。你这样问不合适。再有就是你真的不想努力就想获得大家的源码,这是不可取的。花足够的钱,谁都分分钟给你做出驱动。
作者:
ahshmj
时间:
2018-6-22 15:47
5楼给出的程序应该是ST7920控制芯片的。比较多见的还有一种是不带好字库的,ks0108控制芯片的。你要看看你的LCD的控制芯片的型号。
作者:
chaoself
时间:
2018-6-26 22:47
先学会调用人家的程序,再自己慢慢摸索,自然就会了
作者:
职教电子
时间:
2018-6-27 08:23
楼上说的是捷径,一般应用,也就是复制粘贴的事.
作者:
l2063610646
时间:
2020-8-5 09:58
我觉得要认真看芯片手册,还有别人的程序应该看懂不是什么难事。你可以看一下我的
1596592594(1).jpg
(74.86 KB, 下载次数: 75)
下载附件
2020-8-5 09:57 上传
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1