找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

LCD1602A显示图片功能

查看数: 6834 | 评论数: 5 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-7-23 21:37

正文摘要:

最近学习51单片机学会LCD1602A显示图片功能,这里分享给大家(上传显示效果和使用说明) #include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit lcdrs=P1^0; sbit lcdrw=P1^1 ...

回复

ID:1064915 发表于 2025-7-3 09:26
     LCD1602内部有一个64字节的自定义CGRAM,一个字符占8个字节,所以在CGRAM能够存放8个字符。
CGRAM的地址为0x40.所以当我们要写入数据时,要先写入一条地址命令 write_com(0x040);然后把你要写入的数据通过写数据命令写入  write_date( 你要写得数据);
           write_cmd(0x40);    //开始写入你要显示的自定义字符、汉字代码
              for(i=0;i<64;i++)
              {
                     write_date(table[i]);
                     delay(5);
              }
以上只是把你要显示汉字的代码存放在CGRAM里,就相当于其他常用字符一样固定在LCD里面了,如果不把它读出来,LCD是不会显示的。
      常用字符是从0x20开始显示,而0x00—0x0f都是没有用的,其实这个正式为我们自定义显示字符准备的。当你把上面的代码输入到CGRAM中,LCD1602会把汉字或字符赋与地址,这个地址是从0x00开始,因为最多只能8个字符,所以当在CGRAM里面输入8个字符代码时,这8个字符的代码的数据地址就是0x00开始到0x07。
     要显示自定义字符和显示常用字符一样的做法了,先写地址,然后写数据
自定义字符的数据就是0x00—0x07。
Write_date(0x00) — Write_date(0x07);
ID:1110477 发表于 2025-7-3 03:07
为啥是:write date,而不是write data
ID:1110792 发表于 2025-7-2 19:34
由创意,赞!
ID:466164 发表于 2019-3-13 22:03
有创意,买了12864,我的那个很久没用了,顶一下。
ID:68189 发表于 2019-3-13 10:23
感谢分享,谢谢楼主了.

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

Powered by 单片机教程网

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