搜索
bottom↓
回复: 60

STM32F103的FSMC控制160x160单色液晶及成功移植UCGUI的源码

  [复制链接]

出0入0汤圆

发表于 2014-7-19 21:09:01 | 显示全部楼层 |阅读模式
如题..
硬件平台:野火旧版本开发板
软件平台:MDK4.73
液晶:控制器为UC1698U的160x160点阵单色液晶,工业控制专用





高手请飘过,有问题请轻拍。感激不尽。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-7-19 21:39:14 来自手机 | 显示全部楼层
有没有uc1698的中文资料?

出0入0汤圆

发表于 2014-7-19 22:24:00 | 显示全部楼层
赞一个,前段时间正好想用这个屏,省得写驱动了。

出0入0汤圆

发表于 2014-7-19 22:27:18 来自手机 | 显示全部楼层
这个好。。

出0入0汤圆

 楼主| 发表于 2014-7-20 07:06:47 | 显示全部楼层
soos 发表于 2014-7-19 21:39
有没有uc1698的中文资料?

这个我真没有。

出0入0汤圆

 楼主| 发表于 2014-7-20 07:07:36 | 显示全部楼层
dalarang 发表于 2014-7-19 22:24
赞一个,前段时间正好想用这个屏,省得写驱动了。

多谢支持

出0入0汤圆

 楼主| 发表于 2014-7-20 07:08:04 | 显示全部楼层

多谢支持!

出0入0汤圆

 楼主| 发表于 2014-7-20 07:08:30 | 显示全部楼层
自己顶顶。。

出0入0汤圆

发表于 2014-7-20 22:25:47 | 显示全部楼层
本帖最后由 rgzdb 于 2014-7-20 22:30 编辑

这个屏是5V的吗?如何与STM32连接,是不是开漏上拉接5V?看了源码,楼主居然用FSMC驱动单色屏,有点浪费。

出0入0汤圆

 楼主| 发表于 2014-7-20 22:35:40 | 显示全部楼层
rgzdb 发表于 2014-7-20 22:25
这个屏是5V的吗?如何与STM32连接,是不是开漏上拉接5V?看了源码,楼主居然用FSMC驱动单色屏,有点浪费。 ...

5V、3.3V都有。
对于引脚接口的接法,程序里都有配置,具体我也记不清楚了,程序是几个月前写好的,只是这两天整理了一下上传了。。
用FSMC驱动单色屏也不全是浪费,看场合,有需要用了也能少占点CPU资源,不用才叫更浪费。。

出0入0汤圆

发表于 2014-8-2 14:50:26 | 显示全部楼层
JohnsonJiang 发表于 2014-7-20 22:35
5V、3.3V都有。
对于引脚接口的接法,程序里都有配置,具体我也记不清楚了,程序是几个月前写好的,只是 ...

仔细研究了一下,这屏的写点效率好低。
用一个字来保存3个像素点,每次要写一像素点就要先读一个字,改其中一个像素点后再写回去,等于写点要先读后写。而且要写连续像素点时,3个像素点等于连续读写3次,很没效率啊。
测试发现用STM32F4刷一次屏都要100多ms。

出0入0汤圆

 楼主| 发表于 2014-8-4 11:09:02 | 显示全部楼层
dalarang 发表于 2014-8-2 14:50
仔细研究了一下,这屏的写点效率好低。
用一个字来保存3个像素点,每次要写一像素点就要先读一个字,改其 ...

有什么提高画点效率的方法吗

出0入0汤圆

发表于 2014-8-4 11:28:28 | 显示全部楼层
JohnsonJiang 发表于 2014-8-4 11:09
有什么提高画点效率的方法吗

画点效率感觉没辙,这种2字节映射3像素点的方式,画点效率高不了。
不过,不能提高画点效率,可以从提高刷屏效率着手嘛,我的想法是在RAM中开辟出一块屏幕映射缓存,画点都在缓存中进行,画完之后整屏刷新,这样刷屏速度就快多了。
用缓存整屏刷新好处是不用再挨个像素点读写,直接两个字节写入就覆盖3个像素点,效率提高了N倍,而且不用再每个像素点都设定一次坐标地址,直接不停地写数据就行,整体效率应该高10倍以上。
实际测试了一下,刷新整个屏幕只需要10ms,感觉这个思路是可行的。

但是,这种2字节映射3像素点的方式太奇葩,缓存映射到屏幕的算法有点难搞,160的分辨率不能被3整除,缓存字节和屏幕分辨率不好对齐,而且测试的时候还发现有时候写入两个字节是刷3个像素点,有时候却刷6个像素点,没搞明白问题的原因。
不想费脑子了。

出0入0汤圆

发表于 2014-8-4 16:05:54 | 显示全部楼层
学习gui。

出0入4汤圆

发表于 2014-8-4 16:10:11 | 显示全部楼层
一直觉得GUI很高深的悄悄飘过。

出0入0汤圆

发表于 2014-8-6 10:51:25 | 显示全部楼层
uc1698 uc1698 uc1698

出0入85汤圆

发表于 2014-8-6 10:53:55 | 显示全部楼层
上传几张控件的测试图看看

出0入0汤圆

发表于 2014-8-6 10:57:39 | 显示全部楼层
这种屏确实很奇葩,不过仔细动动脑子,还是能提高的。
我现在用的就是这屏,采用在内存里开缓存的方式,现在刷一屏的时间不超过10ms,用的是MSP430F5438。

出0入0汤圆

发表于 2014-8-8 13:00:55 | 显示全部楼层
再仔细研究了一下,愈发觉得这屏显示太奇葩。
在RAM中开辟出3200字节作为屏幕缓存,像素的读写都直接操作缓存,之后再一次性整屏刷新,理论上来说这样刷屏速度能快很多。
开始以为屏幕是以3个像素为单位写入并显示的,刷屏怎么样像素对不上。后来终于发现,这玩意是以4个像素为单位写入,但是显示是以3个像素为单位显示,后来有人要用这屏一定要注意这点,太TM奇葩了。
知道屏幕的像素对应关系后就很好弄了,经过测试,刷屏一次8ms,楼上的MSP430F5438能做到10ms我比较诧异,那玩意才25M的主频怎么跑起来速度跟我168M主频的STM32F407差不多?是优化得好?

出0入0汤圆

发表于 2014-8-8 16:14:30 | 显示全部楼层
ucgui黑白屏 标记!

出0入8汤圆

发表于 2014-8-8 16:29:45 | 显示全部楼层
显示个汉字就更好了~

出0入4汤圆

发表于 2014-8-8 16:47:32 | 显示全部楼层
用这个屏的人看来还是有点多呢

出0入0汤圆

发表于 2014-8-8 16:53:33 | 显示全部楼层
不错,挺有参考性

出0入0汤圆

 楼主| 发表于 2014-8-9 11:02:00 | 显示全部楼层
xjmlfm1 & dalarang二位最好直接上传调试好的源码,以供大家分析参考。

出0入0汤圆

 楼主| 发表于 2014-8-9 11:03:17 | 显示全部楼层
蓝蓝的恋 发表于 2014-8-8 16:29
显示个汉字就更好了~

这是我发的在UCGUI中添加汉字显示的方法,可以参考,希望对你有所帮助。
http://www.amobbs.com/forum.php? ... p;page=1#pid7699795

出0入0汤圆

 楼主| 发表于 2014-8-9 11:05:55 | 显示全部楼层
cwei 发表于 2014-8-8 16:47
用这个屏的人看来还是有点多呢

这个屏一般用在工业上面,像一些FTU,RTU什么的这个屏是标配,因为国网有标准,规定使用160X160的屏。。

出0入0汤圆

 楼主| 发表于 2014-8-9 11:06:19 | 显示全部楼层
zhd1021 发表于 2014-8-8 16:53
不错,挺有参考性

多谢支持。。

出0入0汤圆

 楼主| 发表于 2014-8-9 11:13:54 | 显示全部楼层
dalarang 发表于 2014-8-8 13:00
再仔细研究了一下,愈发觉得这屏显示太奇葩。
在RAM中开辟出3200字节作为屏幕缓存,像素的读写都直接操作缓 ...

MSP按25M单周期来算,刷完整屏3200个字节,我计算了一下,至少需要1.024ms,这样看来,也不是没可能。具体坐等xjmlfm1分享“高速”刷此屏的方法。

出0入10汤圆

发表于 2014-8-9 12:31:46 | 显示全部楼层
牛。谢谢分享

出0入8汤圆

发表于 2014-8-9 15:40:16 | 显示全部楼层
JohnsonJiang 发表于 2014-8-9 11:03
这是我发的在UCGUI中添加汉字显示的方法,可以参考,希望对你有所帮助。
http://www.amobbs.com/forum.ph ...

高端啊~

出0入0汤圆

发表于 2014-8-9 16:57:12 | 显示全部楼层
JohnsonJiang 发表于 2014-8-9 11:02
xjmlfm1 & dalarang二位最好直接上传调试好的源码,以供大家分析参考。

在你给的源码基础上改的,采用缓存刷屏的方式提高刷屏效率,未使用UCGUI。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-8-9 21:32:28 | 显示全部楼层
很久没来了,不错

出0入0汤圆

发表于 2014-8-19 10:22:51 | 显示全部楼层
正需要呢,谢谢

出0入0汤圆

发表于 2014-8-26 20:57:18 | 显示全部楼层
请问一下,我打算用FSMC挂三块需要8086时序的芯片(NE1接第一片的片选,NE2接第二片的片选,NE3接第三片的片选)
1.数据线和地址线可以并联吗?
2.我三个芯片都需要等待端NWAIT,而STM32只有一个等待端,我该怎么连接?
3.我三个芯片都需要中断,我该怎么连接?可以把中断连到STM32的普通外部中断管脚上去吗?
好人一生平安

出0入0汤圆

 楼主| 发表于 2014-9-6 21:12:18 | 显示全部楼层
darcyju1 发表于 2014-8-26 20:57
请问一下,我打算用FSMC挂三块需要8086时序的芯片(NE1接第一片的片选,NE2接第二片的片选,NE3接第三片的 ...

1、数据线地址线肯定是可以并联使用的,因为有不同的片选;
2、这个等待端目前我没有使用过,所以与你同问;
3、中断可以接普通IO口,配置成外部中断模式即可。
好人一生平安!

出0入0汤圆

 楼主| 发表于 2014-9-6 21:32:35 | 显示全部楼层
darcyju1 发表于 2014-8-26 20:57
请问一下,我打算用FSMC挂三块需要8086时序的芯片(NE1接第一片的片选,NE2接第二片的片选,NE3接第三片的 ...

我刚查看了一下有关NWAIT这个引脚的资料,在参考手册中没有讲的很详细,在官方的一个应用笔记里看到了一些蛛丝马迹,这个引脚是配置成输入来用,连接外部存储器的“R/B”引脚,也就是“就绪/忙”信号,
所以依我个人理解,你的这三个引脚都可以同时接到NWAIT引脚上,只要保证同时只有一片存储器的片选被使能就应该不会有问题。仅供参考。

出0入0汤圆

发表于 2014-9-7 07:46:36 | 显示全部楼层
soos 发表于 2014-7-19 21:39
有没有uc1698的中文资料?

网络可以下的啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-9-9 19:50:56 来自手机 | 显示全部楼层
mark一下,需要320*240的

出0入8汤圆

发表于 2014-9-19 10:51:05 | 显示全部楼层
屏啥地方有卖的?

出0入0汤圆

发表于 2014-9-19 10:57:55 | 显示全部楼层
这个ucgui是哪个版本的?

出0入0汤圆

发表于 2014-9-19 10:58:51 | 显示全部楼层
收藏下,

出0入0汤圆

发表于 2014-9-20 10:30:02 | 显示全部楼层
UCGUI 还是很厉害的 不知道最小支持多少的分辨率

出0入0汤圆

 楼主| 发表于 2014-9-21 14:30:15 | 显示全部楼层
huxiaoping 发表于 2014-9-19 10:51
屏啥地方有卖的?

万能的TB。。

出0入0汤圆

 楼主| 发表于 2014-9-21 14:31:39 | 显示全部楼层
ljt80158015 发表于 2014-9-19 10:57
这个ucgui是哪个版本的?

3.90版本

出0入0汤圆

发表于 2014-9-21 14:37:19 | 显示全部楼层
JohnsonJiang 发表于 2014-8-9 11:13
MSP按25M单周期来算,刷完整屏3200个字节,我计算了一下,至少需要1.024ms,这样看来,也不是没可能。具 ...

这个屏以前用过
的确比较奇葩
GUI一般刷新不会刷全部,只刷修改的部分,那速度就完全不一样了
一般的GUI,不可能每次都是整屏变化

出0入0汤圆

发表于 2014-9-21 17:56:38 | 显示全部楼层
good,赞一下

出0入0汤圆

发表于 2014-9-21 18:30:02 | 显示全部楼层
JohnsonJiang 发表于 2014-8-9 11:02
xjmlfm1 & dalarang二位最好直接上传调试好的源码,以供大家分析参考。

好久没看这贴了。
貌似楼主也是做电力设备的?
如果是,提醒一点楼主注意,做这种屏,很多厂家做不到-25到70度的温度范围。
在-25度的时候,1秒钟变化一次的数据完全看不清楚。
还有一点,如果楼主要做EMC的话,也要注意,很多厂家的这种屏,静电很难过4级。
我们是试了N家的屏,才找到一家合适的,不过价格也上去了。

出0入0汤圆

发表于 2014-9-22 08:47:26 | 显示全部楼层
xjmlfm1 发表于 2014-9-21 18:30
好久没看这贴了。
貌似楼主也是做电力设备的?
如果是,提醒一点楼主注意,做这种屏,很多厂家做不到-25 ...

-25℃  所有的液晶屏均凝固!

出0入0汤圆

发表于 2014-9-22 09:22:39 | 显示全部楼层
ljt80158015 发表于 2014-9-22 08:47
-25℃  所有的液晶屏均凝固!

不要这么肯定哦
-25度下,液晶的流动性变差,对于快速变化的数据,显示会变得模糊。
但对于电力行业的仪表之类的产品,平时都是显示电流电压之类的数据,一般1秒钟刷新一次。
所以只要做到在-25度的情况下,一秒一次的数据能正常显示,就可以了。

出0入0汤圆

发表于 2014-9-22 09:24:17 | 显示全部楼层
xjmlfm1 发表于 2014-9-22 09:22
不要这么肯定哦
-25度下,液晶的流动性变差,对于快速变化的数据,显示会变得模糊。
但对于电力行业的仪 ...

电力行业的仪表   人家也没说  -25℃  LCD刷新有要求的

出0入0汤圆

发表于 2014-9-22 09:40:13 | 显示全部楼层
ljt80158015 发表于 2014-9-22 09:24
电力行业的仪表   人家也没说  -25℃  LCD刷新有要求的

是没有要求,但肯定不能是完全不变了,电压电流的数据肯定是变化的。如果进菜单,至少要能显示出来,能操作。

出0入0汤圆

发表于 2014-9-22 09:42:58 | 显示全部楼层
xjmlfm1 发表于 2014-9-22 09:40
是没有要求,但肯定不能是完全不变了,电压电流的数据肯定是变化的。如果进菜单,至少要能显示出来,能操 ...

我们测试是通过后台看数据的,装置在高低温箱中   怎么看?

出0入0汤圆

发表于 2014-9-22 10:37:45 | 显示全部楼层
ljt80158015 发表于 2014-9-22 09:42
我们测试是通过后台看数据的,装置在高低温箱中   怎么看?

高低温箱一般都有块透明的玻璃呀。
做高低温实验,看液晶屏显示是否正常是一项很重要的测试。

出0入0汤圆

发表于 2014-9-22 10:45:33 | 显示全部楼层
赞一个                                                                                                                  

出0入0汤圆

发表于 2014-9-22 10:49:39 | 显示全部楼层
xjmlfm1 发表于 2014-9-22 10:37
高低温箱一般都有块透明的玻璃呀。
做高低温实验,看液晶屏显示是否正常是一项很重要的测试。 ...

液晶屏  我们设计都是会休眠了    长时间点亮  lcd 寿命很短的

出0入0汤圆

发表于 2014-9-22 11:14:37 | 显示全部楼层
ljt80158015 发表于 2014-9-22 10:49
液晶屏  我们设计都是会休眠了    长时间点亮  lcd 寿命很短的

休眠只是背光不亮吧,屏幕应该还是有显示的。
要不然人家想看看数据,还得按下按键才行。

出0入0汤圆

发表于 2015-1-11 20:56:50 | 显示全部楼层
刚搞定这个屏,黑白屏,使用207做的。
楼上的2个字节控制3个点,是使用的64K模式,建议使用4K模式,那么就是1个字节控制2个点。
本来uc1698 是控制彩屏的。但是被用于黑白屏,导致大家看手册和实际对不上。
我也是搞了3天才明白。

出0入0汤圆

发表于 2015-1-13 20:24:28 | 显示全部楼层
这帖子很有参考价值啊,不过160*160这屏用的不是太多。

出0入0汤圆

发表于 2016-10-15 17:09:08 | 显示全部楼层
不错,学习下

出0入0汤圆

发表于 2019-2-26 13:57:52 | 显示全部楼层
谢谢啦,刚好需要用到,

出0入0汤圆

发表于 2021-8-23 00:14:32 | 显示全部楼层
谢谢分享,正在弄uc1698驱动液晶。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-30 22:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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