找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1756|回复: 7
收起左侧

LCD12864写数据或者指令还需要专门的函数进行选择吗?

[复制链接]
ID:446775 发表于 2021-6-28 22:35 | 显示全部楼层 |阅读模式
12864写数据或者写指令需要这样一个专用的函数进行判断吗?直接调用相应的写命令或者写数据函数不行吗?
12.png
回复

使用道具 举报

ID:8222 发表于 2021-6-29 09:32 | 显示全部楼层
各人喜欢。这个用判断的也行,分别用写命令和数据的函数也行。
回复

使用道具 举报

ID:88256 发表于 2021-6-29 10:38 | 显示全部楼层
既然看了别人的一个程序进行学习研究,为何不多看几个?只要再看两个人的程序包你可以自己确定答案的
回复

使用道具 举报

ID:824490 发表于 2021-6-29 12:00 | 显示全部楼层
脱KZ放P了!
既然有了2 个函数WRITE_COM和WRITE_DAT,就不用再传个参数bit i,且整个LCM_W_TEST()都可以不要,直接分别调用就行了,省的跳来跳去,CPU不累吗
回复

使用道具 举报

ID:824490 发表于 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位
      }
}

轻轻松松。。。
回复

使用道具 举报

ID:298123 发表于 2021-7-1 17:33 | 显示全部楼层
单片机,刷新屏幕,还是需要效率,能快则快,重复性代码还是需要精简,不是随便写写就好了。
回复

使用道具 举报

ID:446775 发表于 2021-7-2 22:20 | 显示全部楼层
名字不是重点 发表于 2021-6-29 12:01
比如这样:/*
1602模块的4线接口方式写入一个字节的数据
utype:数据类型,0为命令数据,1为显示数据

嗯,确实很轻松
回复

使用道具 举报

ID:390416 发表于 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
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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