monkey.liu 发表于 2012-11-10 17:56:06

极速优化用51驱动s6d0154,单色刷屏一闪而过,刷图飞快......

本帖最后由 monkey.liu 于 2012-11-10 17:55 编辑

看到
http://www.amobbs.com/thread-5491832-1-1.html
2.6寸tft液晶屏加51开发板本站会员20元专为学习液晶的爱好...

http://www.amobbs.com/thread-5496302-1-1.html
自己动手丰衣足食!共享s6d0154驱动的带图片-字符显示,带...

http://www.amobbs.com/forum.php?mod=viewthread&tid=5492521&page=1#pid6103626
51单片机控制tft液晶的全部资料(精简版)

忍不住买了一块,测试发现刷屏较慢,虽知道51的速度有限,但1T的51应该还有潜力...
优化后测试发现:单色刷屏很快,检查LST文件,没有多余代码,达到目标。
但刷图提升不明显,检查刷图的LST文件,发现并没有充分利用16位指针DPTR,于是用汇编改写
了部份核心代码,编绎有错误提示,需要更改编绎选项。再次测试,刷图提升明显,检查SRC文
件,已经利用16位指针DPTR,没有多余代码,刷图达到目标。
程序改动如下:
1. 增加利用STC-ISP命令流,实现自动下载功能,不用拔插电源插头。
2. 优化单色刷屏函数 Pant 和刷图函数 Display_Image (因高度优化,与硬件相关,只能用
FLASH中的图象数据)。
3. 增加测试刷屏时间功能,分别显示在图象下部和用串口发出,单位为ms(串口数据多1ms和
0.5ms延时时间,分别是1和0,这两个数据已用定时器0的1MHz测试过,是准的;此处仅供参考,
因精度不够,没有实际意义)。
STC11F60XE, 12MH 条件下测试数据如下:
原单色刷屏时间:    0x181 = 385ms
优化后单色刷屏时间: 0x40 =64ms
优化后刷图时间:    0x0C7 = 199ms
附源码和编译好数据:
有此模块的朋友可下载HEX数据并直接烧入测试。

现正在调试用TF卡和FAT文件系统显示图片......

jordonwu 发表于 2012-11-10 22:48:22

下载试试

sgzzour 发表于 2012-11-10 23:32:59

楼主的自动下载是不是用的STC-ISP的自定义下载功能?

monkey.liu 发表于 2012-11-11 21:47:53

没有用STC-ISP的自定义下载功能。
直接用STC-ISP的下载功能,和上电下载功能完全一样。启动STC-ISP后,打开HEX后就可下载,不用做任何设置。

YS126 发表于 2012-11-11 22:19:17

我买了这个板,下来试下

monkey.liu 发表于 2012-11-17 19:44:13

现在已能从TF卡读图片显示了,24MHz时稍大于0.8秒,12HMz时小于1.6秒。
图片中数据是16进制,除以2就是24MHz时从开始读数据到显示完的时间,因晶振已由12HMz改为24MHz,但还没有改程序。

bbsview 发表于 2012-11-17 20:00:07

不错,顶一个

fengyuxiaoxiao 发表于 2012-11-17 20:35:22

我也买了呢

hahle 发表于 2012-12-24 10:04:50

本帖最后由 hahle 于 2012-12-24 10:23 编辑

楼主。能否将读SD卡的程序发出来共享下。,谢谢。


-------------------------------------------------------------------------------------------------------------------
我也买了。上周刚到,就是屏幕上有很大的一个暗斑,已经和淘宝掌柜的商量如何处理。

hahle 发表于 2012-12-24 13:37:46

monkey.liu 发表于 2012-11-17 19:44 static/image/common/back.gif
现在已能从TF卡读图片显示了,24MHz时稍大于0.8秒,12HMz时小于1.6秒。
图片中数据是16进制,除以2就是24MH ...

楼主,能把您显示SD卡图片的程序共享下吗。
多谢了。

monkey.liu 发表于 2012-12-26 21:55:43

我已改用24MHz晶振,再优化了一下,现在显示图片时间小于700ms。
图片中时间已改成十进制,显示的是正常十进制时间。
代码不规范,可以参考,但不要学坏习惯了。

hahle 发表于 2012-12-27 09:14:35

monkey.liu 发表于 2012-12-26 21:55 static/image/common/back.gif
我已改用24MHz晶振,再优化了一下,现在显示图片时间小于700ms。
图片中时间已改成十进制,显示的是正常十 ...

谢谢楼主的程序分享。
感谢楼主的提醒。

名字不能太长 发表于 2012-12-28 16:21:50

我买的这个屏已经吃灰好久。下载楼主的代码试试。

eit 发表于 2012-12-30 00:29:53

本帖最后由 eit 于 2012-12-30 00:36 编辑

谢谢楼主分享!

ksws0482846 发表于 2012-12-30 00:38:59

这个不算快吧,记得avr解码bmp函数调用注意下刷240320很好达到1fps

monkey.liu 发表于 2013-1-3 21:12:34

AVR有硬件SPI,且最高速度是2分频,这点51是无法比的。
bmp解码也增加不了多少时间。
耗时最多的是软件SPI读TF卡数据。

shanyan 发表于 2013-1-3 22:17:45

楼主我有2.6寸s6d0154的TFT液晶屏,而且还带触摸屏,无图标!

zhudeng66 发表于 2013-3-8 16:38:38

太牛了正需要这个呢

hamipeter 发表于 2013-3-11 22:07:04

不错,赞一个

hahle 发表于 2013-12-9 09:19:11

您好,楼主,看到您的51驱动s6d0154读取SD卡的帖子,下载您的程序后一直没有调通,请问您对TF卡中的图片名称和图片数据时怎么定义的,谢谢。

monkey.liu 发表于 2013-12-20 23:58:37

1. 文件名
000.bin
001.bin
002.bin
......
2. 图片数据,直接采用本论坛的数据,格式如下:
240点X320行X16位颜色
行0:点0,点1......点239
行1:点0,点1......点239
......
行319:点0,点1......点239

wkman 发表于 2013-12-21 09:28:46

牛xx的!等楼主的 SD卡存图片到tft显示{:handshake:}{:victory:}

monkey.liu 发表于 2013-12-21 22:41:10

本论坛的图片数据,找不到原帖了,再上传一次。

请注意:本程序从000.bin开始显示,如果没有000.bin将不能显示。
也就是按从000.bin到255.bin(最后一个文件,可以小于255,但中间不能有空缺;空缺及后面的文件不显示)循环显示。

shawn_bu 发表于 2014-2-15 14:17:42

翻出吃灰的屏,找到楼主的帖子试试。
页: [1]
查看完整版本: 极速优化用51驱动s6d0154,单色刷屏一闪而过,刷图飞快......