找回密码
 立即注册
查看: 545|回复: 3

lcd12864并口带字库如何在指定位置显示图片或大的字符

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:381
  • 最近打卡:2025-05-01 07:33:48
已绑定手机

12

主题

43

回帖

698

积分

高级会员

积分
698
发表于 2024-8-30 19:12:54 | 显示全部楼层 |阅读模式
使用lcd12864并口带字库可以正常的显示汉字和字母数字,但现在需要在字的下面显示更大的数字或字母(0-26或A-Z两种模式),更大的字符使用网友的字库和驱动程序显示,但字的周围是阴影,想请教一下大家该怎么解决。

图片和程序如下

截图202408301910197952.jpg
截图202408301911018310.jpg

数字信号采集模块.zip

94.69 MB, 下载次数: 62

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-8-30 21:16:15 | 显示全部楼层
没清屏?
DebugLab
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:381
  • 最近打卡:2025-05-01 07:33:48
已绑定手机

12

主题

43

回帖

698

积分

高级会员

积分
698
发表于 2024-8-31 18:42:13 | 显示全部楼层

今天上午调试了,创建了一个128×64的字符图片,观察了一下数据,不显示的部分都是0x00。应该是需要清屏,只不过生产部门催的紧,没有验证这个猜测。创建了26个128×64的大字符图片,直接调用刷整屏,单片机rom用了55k,下午给生产用去了。
还有一块屏,改天调试一下,看看如何在任意位置显示不同大小图片和线条
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:392
  • 最近打卡:2025-05-01 15:00:39

24

主题

305

回帖

2556

积分

荣誉版主

积分
2556
发表于 2024-9-2 11:43:43 | 显示全部楼层
驱动部分没有问题,花屏的原因确实是显示自定义的数字“1”之前,没有先“清屏”的结果。

在这个屏幕上显示图片需要先执行扩充功能的指定(0x34),然后向屏幕芯片里的16×64字节的缓存空间里写入数据(对应屏幕上的64行,每行16根小横棍,一共128×64点阵),
然后执行开启显示指令(0x36, 0x30),是把缓存里的内容显示到屏幕上。

没有经过初始化的缓存空间里的数据是乱码,在执行(0x34)指令之后,再执行开启显示指令(0x36, 0x30),是把缓存里的内容显示到屏幕上,也就是一片花屏。
而程序里执行的 LCD12864Clear 函数,只调用了清屏指令(0x01),是把屏幕上的内容清除掉,并不能对缓存里的数据进行清空操作,
所以程序里显示图片的 LCD12864DisplayImage 函数,在执行(0x34)指令之后,只是对指定的区域写入了“数字1”的数据,并没有对其它区域的数据进行操作,
于是在执行开启显示指令之后,是把缓存里的内容全都显示到屏幕上,就出现了有数字有花屏的画面。



可以先显示一张128×64点阵的空白图片(1024个数据全是0),就相当于清空缓存里的数据了,之后再显示自己的16×32点阵的图片,屏幕上就干净了。



IMG_20240902_114055.jpg


能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:32 , Processed in 0.119541 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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