12864(ST7920),可以文字与小幅图片一起显示吗 ?图形刷新很慢是怎么回事,是硬伤吗?
12864(ST7920),可以文字与图片一起显示吗 ?比如说,最上面一行是文字,下面是32*32pis的图片
需要注意什么呢》?
比如说图形显示需要什么时候开 什么时候关?
或者其他什么的??
高手指点指点谢谢
我是想做这样一个东西
http://cache.amobbs.com/bbs_upload782111/files_31/ourdev_570136.JPG
(原文件名:未命名.JPG)
文字部分,指示比如说温度,或者压力什么的
图形部分,用图片形式的数字表示出来对应的值,因为默认的8*16字体太小了,不得已自己做了图形形式的数字库
现在基本实现了功能但是有个问题就是,图形刷新的太慢~~~
比如说开始显示的是1234,然后数字变为5678时,数字是按程序里面的顺序一个一个慢慢变过来的
想问问怎么才能提高刷新速度啊??晶振用的是6M的
驱动代码 参考了 liudeee兄弟的代码 自己多动动手有好处 完全可以。你可以先用图形模式,在指定位置显示图片,然后不清屏,再用文字模式在指定位置显示文字即可。 ST7920的字符ram和图形ram不是同一个 因此假如字符ram和图形ram在屏幕显示重合 会自动反白 可以,数据手册有说明 刷新老慢了,不知道为什么。。。 我用的就是像这样的图文混显,刷新老快,不会象你说的那样 回复【6楼】liusoldier大圣
我用的就是像这样的图文混显,刷新老快,不会象你说的那样
-----------------------------------------------------------------------
这位兄弟
可否把程序给兄弟参考一下下啊?我好看看问题出在哪里
我的邮箱
wangqiang751@163.com
谢谢你了兄弟
有人说把查忙函数去掉可以快点,
但是我没有查忙的话,就会花屏,估计数据和命令没有写进去,加了点延时,显示是正常了,可是刷新就慢下来了
还有 我更新显示的时候,图形显示不能关,因为关了的话,更新前的图形也没了,这样就会造成屏上的图形一直在闪
苦恼啊。。。。 查忙函数建议保留,比加入延时效果好。我用mega64驱动7920速度很快哈,不会出现这种情况。我以前参考杜洋的51源程序的写了两个驱动,串行并行,用于AVR,你可以参考一下
点击此处下载 ourdev_570308.rar(文件大小:4K) (原文件名:12864_st7920_AVR_并行.rar)
点击此处下载 ourdev_570309.rar(文件大小:40K) (原文件名:12864_st7920_AVR_串行.rar) 楼上好人!!
确认一下,你图文混排的时候,刷新也很快?
我只显示文字的时候,也很快的,就是局部图片的时候,很慢
我对比了一下代码,没发现什么问题。。。。 对了查忙函数,是不是太浪费时间了
忙的话,就要在那等老半天才能出来。。。
大大降低程序的运行效率啊 去掉了一些延时,好点了,但是还是不理想 我的LCD12864是NT7534芯片(在安哥那里淘的),用AVR32通过USART2-SPI控制,约4MHz串行时钟下写命令和写数据都不用延时,很爽啊 回复【12楼】mowin雾湾
-----------------------------------------------------------------------
这个貌似不带字库吧?
我这个是在附近的LCD厂家买的90块钱一个含17增值税 回复【9楼】hero751
-----------------------------------------------------------------------
图文混排速度很快啊,没得问题的,我用图形进度条显示AD转换的结果,效果很不错,就是点阵太大,有点粗糙 在任意位置画图,要一个点一个点的来画,对液晶的读写次数特别的多
我试过画了一个8*32像素的图,竟然对液晶写数据3000多次,能快才怪了
用的是liudeee兄弟的驱动库。。 我也遇到了一个类似的问题,我想用12864的中间两行显示时间,时间数字用16*32的图片数字,时间走动时,刷新太慢了,要十几秒才能看到一次时间更新。各位帮帮忙啊! 哦,我用的是STC89C52单片机 回复【16楼】alana8051
-----------------------------------------------------------------------
这个我已经搞定了
论坛里面弟兄们的库,都是画点函数组成的,你一个16*32的图片,就要画500多个点,画每个点,都要对LCM写命令和数据若干次,浪费的时间太长了
我自己写了函数,直接对相应点的寄存器赋值优点是速度快,几乎看不到刷新的过程,缺点是得事先知道图片的大小 列数必须为8的倍数,不能显示在任意位置,只能在定义好的地址处显示比如说0x80 0x83
之类的地址 回复【18楼】hero751
-----------------------------------------------------------------------
hero751你好,搞定后的代码能否传给我学习学习? 如何直接对相应点的寄存器赋值?邮箱是:jdztc6187@yeah.net 回复【18楼】hero751
-----------------------------------------------------------------------
兄弟,你好,能把你的代码也给我发下不?396208070@qq.com谢谢呢 hero751 发表于 2010-9-8 10:07 static/image/common/back.gif
回复【16楼】alana8051
-----------------------------------------------------------------------
兄弟,你好,我最近也在搞这个,图文混合显示的时候,图片的刷新速度老跟不上,显示的图片还一直闪,可不可以发你的程序学习下,谢谢 1135312469@qq.com MARK 12864显示图片
页:
[1]