标题: lcd12864扩展指令,反白 [打印本页]

作者: 33943417    时间: 2021-8-19 07:40
标题: lcd12864扩展指令,反白
最近看了12864屏反白的内容,我 的程序只能使1、3行(发送0X04)或者2、4行反白(发送0X05),都发送则无法同时反白。有人在帖子里说先指令,后地址数据,我试了也不行。下面是我的部分程序,其中,p1、p2、p3、p4是指针,指向需要显示 的字符串。本帖暂不考虑任意位置反白,只讲12864提供的基本指令和扩展指令。

initi_LCD();                             //初始化LCD
write_LCD_command(0x01);
write_LCD_command(0X80);
write_LCD_data(p1);        
write_LCD_command(0X90);
write_LCD_data(p2);
write_LCD_command(0X88);
write_LCD_data(p3);
write_LCD_command(0X98);
write_LCD_data(p4);
        
write_LCD_command(0X34);//扩展指令
write_LCD_command(0X04);//第一、三行反白
write_LCD_command(0X05);//第二、四行反白
while(1);


问如何实现四行同时反白?

作者: ttmax3    时间: 2021-8-19 10:42
思路,你可以在一三行显示的前面插入一三行反白命令,二四行显示的前面插入二四行反白命令。
作者: 33943417    时间: 2021-8-19 22:19
ttmax3 发表于 2021-8-19 10:42
思路,你可以在一三行显示的前面插入一三行反白命令,二四行显示的前面插入二四行反白命令。

试了什么都不显示。反白指令放在最后。放在前面也不行。
作者: Y_G_G    时间: 2021-8-20 00:39
反白指令是在扩展指令里面的
要显示的话,还得切换回基本指令
作者: 33943417    时间: 2021-8-20 08:28
Y_G_G 发表于 2021-8-20 00:39
反白指令是在扩展指令里面的
要显示的话,还得切换回基本指令

试了,不行。谢谢回复
作者: Y_G_G    时间: 2021-8-20 21:24
33943417 发表于 2021-8-20 08:28
试了,不行。谢谢回复

不行,你不会是一直这样的等着吧?
要是我,几个小时就搞定了,上网找教程,没有就看数据手册,改代码,烧录验证,一次不行就试一百试,总比你等着别人来回答的好
作者: man1234567    时间: 2021-8-24 15:11
在手册里查找,如果是点阵屏蔽是不会有标准统一的行这个概念的。
一般来说,反显就是在显示函数里将打点命令反着显示就可以了。
作者: 2271690396    时间: 2021-8-25 22:36
本帖最后由 2271690396 于 2021-8-25 22:48 编辑

是这样的:
1)12864液晶DDRAM是4行,显示出来的只有2行(地址为80H~8FH,90H~9F),另2行是隐藏不显示的,显示的这2行拆分成4排,地址如下;
     一   80H......87H
     二   90H......97H
     三   88H......8FH
     四   98H......9FH
一三排其实是第1行,二四排其实是第2行,另外隐藏的2行可以通过滚动命令显示出来
2)用反白命令,00反白的是第1行,也就是显示部分的一三排;01反白的是第2行,也就是显示部分的二四排
3)你想全部反白,我试了,也没成功





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1