hero751 发表于 2010-7-22 23:34:30

12864(ST7920),可以文字与小幅图片一起显示吗 ?图形刷新很慢是怎么回事,是硬伤吗?

12864(ST7920),可以文字与图片一起显示吗 ?
比如说,最上面一行是文字,下面是32*32pis的图片

需要注意什么呢》?
比如说图形显示需要什么时候开 什么时候关?
或者其他什么的??

高手指点指点谢谢

我是想做这样一个东西

http://cache.amobbs.com/bbs_upload782111/files_31/ourdev_570136.JPG
(原文件名:未命名.JPG)

文字部分,指示比如说温度,或者压力什么的
图形部分,用图片形式的数字表示出来对应的值,因为默认的8*16字体太小了,不得已自己做了图形形式的数字库

现在基本实现了功能但是有个问题就是,图形刷新的太慢~~~
比如说开始显示的是1234,然后数字变为5678时,数字是按程序里面的顺序一个一个慢慢变过来的

想问问怎么才能提高刷新速度啊??晶振用的是6M的
驱动代码 参考了 liudeee兄弟的代码

bluerain 发表于 2010-7-22 23:52:56

自己多动动手有好处

liusoldier 发表于 2010-7-23 00:00:50

完全可以。你可以先用图形模式,在指定位置显示图片,然后不清屏,再用文字模式在指定位置显示文字即可。

175891641 发表于 2010-7-23 07:43:46

ST7920的字符ram和图形ram不是同一个 因此假如字符ram和图形ram在屏幕显示重合 会自动反白

huohuansong 发表于 2010-7-23 08:40:14

可以,数据手册有说明

hero751 发表于 2010-7-23 11:49:37

刷新老慢了,不知道为什么。。。

liusoldier 发表于 2010-7-23 12:05:30

我用的就是像这样的图文混显,刷新老快,不会象你说的那样

hero751 发表于 2010-7-23 14:29:15

回复【6楼】liusoldier大圣
我用的就是像这样的图文混显,刷新老快,不会象你说的那样
-----------------------------------------------------------------------

这位兄弟
可否把程序给兄弟参考一下下啊?我好看看问题出在哪里
我的邮箱
wangqiang751@163.com
谢谢你了兄弟

有人说把查忙函数去掉可以快点,
但是我没有查忙的话,就会花屏,估计数据和命令没有写进去,加了点延时,显示是正常了,可是刷新就慢下来了

还有 我更新显示的时候,图形显示不能关,因为关了的话,更新前的图形也没了,这样就会造成屏上的图形一直在闪

苦恼啊。。。。

buffon 发表于 2010-7-23 19:57:18

查忙函数建议保留,比加入延时效果好。我用mega64驱动7920速度很快哈,不会出现这种情况。我以前参考杜洋的51源程序的写了两个驱动,串行并行,用于AVR,你可以参考一下
点击此处下载 ourdev_570308.rar(文件大小:4K) (原文件名:12864_st7920_AVR_并行.rar)
点击此处下载 ourdev_570309.rar(文件大小:40K) (原文件名:12864_st7920_AVR_串行.rar)

hero751 发表于 2010-7-24 11:08:03

楼上好人!!
确认一下,你图文混排的时候,刷新也很快?
我只显示文字的时候,也很快的,就是局部图片的时候,很慢

我对比了一下代码,没发现什么问题。。。。

hero751 发表于 2010-7-24 11:09:54

对了查忙函数,是不是太浪费时间了
忙的话,就要在那等老半天才能出来。。。
大大降低程序的运行效率啊

hero751 发表于 2010-7-24 12:00:54

去掉了一些延时,好点了,但是还是不理想

mowin 发表于 2010-7-24 12:08:23

我的LCD12864是NT7534芯片(在安哥那里淘的),用AVR32通过USART2-SPI控制,约4MHz串行时钟下写命令和写数据都不用延时,很爽啊

hero751 发表于 2010-7-24 13:05:30

回复【12楼】mowin雾湾
-----------------------------------------------------------------------

这个貌似不带字库吧?

我这个是在附近的LCD厂家买的90块钱一个含17增值税

buffon 发表于 2010-7-25 11:04:24

回复【9楼】hero751
-----------------------------------------------------------------------

图文混排速度很快啊,没得问题的,我用图形进度条显示AD转换的结果,效果很不错,就是点阵太大,有点粗糙

hero751 发表于 2010-7-28 13:25:43

在任意位置画图,要一个点一个点的来画,对液晶的读写次数特别的多

我试过画了一个8*32像素的图,竟然对液晶写数据3000多次,能快才怪了

用的是liudeee兄弟的驱动库。。

alana8051 发表于 2010-9-2 20:16:31

我也遇到了一个类似的问题,我想用12864的中间两行显示时间,时间数字用16*32的图片数字,时间走动时,刷新太慢了,要十几秒才能看到一次时间更新。各位帮帮忙啊!

alana8051 发表于 2010-9-2 20:17:06

哦,我用的是STC89C52单片机

hero751 发表于 2010-9-8 10:07:03

回复【16楼】alana8051
-----------------------------------------------------------------------

这个我已经搞定了
论坛里面弟兄们的库,都是画点函数组成的,你一个16*32的图片,就要画500多个点,画每个点,都要对LCM写命令和数据若干次,浪费的时间太长了

我自己写了函数,直接对相应点的寄存器赋值优点是速度快,几乎看不到刷新的过程,缺点是得事先知道图片的大小 列数必须为8的倍数,不能显示在任意位置,只能在定义好的地址处显示比如说0x80 0x83
之类的地址

sch3461 发表于 2010-11-1 20:26:27

回复【18楼】hero751
-----------------------------------------------------------------------

hero751你好,搞定后的代码能否传给我学习学习? 如何直接对相应点的寄存器赋值?邮箱是:jdztc6187@yeah.net

fga333 发表于 2011-7-27 16:59:17

回复【18楼】hero751
-----------------------------------------------------------------------

兄弟,你好,能把你的代码也给我发下不?396208070@qq.com谢谢呢

odandingo 发表于 2012-6-13 08:49:37

hero751 发表于 2010-9-8 10:07 static/image/common/back.gif
回复【16楼】alana8051
-----------------------------------------------------------------------



兄弟,你好,我最近也在搞这个,图文混合显示的时候,图片的刷新速度老跟不上,显示的图片还一直闪,可不可以发你的程序学习下,谢谢   1135312469@qq.com

Syth 发表于 2012-9-24 21:54:00

MARK 12864显示图片
页: [1]
查看完整版本: 12864(ST7920),可以文字与小幅图片一起显示吗 ?图形刷新很慢是怎么回事,是硬伤吗?