标题: LCD12864写数据或者指令还需要专门的函数进行选择吗? [打印本页]

作者: karolyte    时间: 2021-6-28 22:35
标题: LCD12864写数据或者指令还需要专门的函数进行选择吗?
12864写数据或者写指令需要这样一个专用的函数进行判断吗?直接调用相应的写命令或者写数据函数不行吗?

12.png (31.18 KB, 下载次数: 31)

12.png

作者: 温xyz    时间: 2021-6-29 09:32
各人喜欢。这个用判断的也行,分别用写命令和数据的函数也行。
作者: hhdsdy    时间: 2021-6-29 10:38
既然看了别人的一个程序进行学习研究,为何不多看几个?只要再看两个人的程序包你可以自己确定答案的
作者: 名字不是重点    时间: 2021-6-29 12:00
脱KZ放P了!
既然有了2 个函数WRITE_COM和WRITE_DAT,就不用再传个参数bit i,且整个LCM_W_TEST()都可以不要,直接分别调用就行了,省的跳来跳去,CPU不累吗
作者: 名字不是重点    时间: 2021-6-29 12:01
比如这样:/*
1602模块的4线接口方式写入一个字节的数据
utype:数据类型,0为命令数据,1为显示数据
udat: 一字节数据
*/
void Lcd_1602_write(uchar utype,uchar udat)                    
{
      uchar i;
      lcdrs=utype;                   //写入指令或数据
      for(i=0;i<2;i++)               //8Bit分开2次写入,高低半字节
      {   
       lcden=1;                      //LCD使能开
       P0=(P0&0x0f)|(udat&0xf0);     //写入高4位:即P04-P07,低位是P00-P03
                                                     //如果写入的是低4位则:P0=(P0&0xf0)|((date>>4)&0x0f);
       delay(3);                     //简单延时
       lcden=0;                      //LCD使能关
       udat<<=4;                     //低4位上移到高4位
      }
}

轻轻松松。。。
作者: hz_dyg    时间: 2021-7-1 17:33
单片机,刷新屏幕,还是需要效率,能快则快,重复性代码还是需要精简,不是随便写写就好了。
作者: karolyte    时间: 2021-7-2 22:20
名字不是重点 发表于 2021-6-29 12:01
比如这样:/*
1602模块的4线接口方式写入一个字节的数据
utype:数据类型,0为命令数据,1为显示数据

嗯,确实很轻松
作者: 人人学会单片机    时间: 2021-7-6 20:38
OLED12864源代码分享 IIC协议http://www.51hei.com/bbs/dpj-204281-1.html

LCD12864中文资料包 容易看明白 http://www.51hei.com/bbs/dpj-200462-1.html




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