6212|8

45

帖子

1

TA的资源

一粒金砂(中级)

SSD1289编程3.2寸TFT [复制链接]

最近想用LM3S811驱动一块3.2寸TFT,控制器为ssd1289,程序能通过,但是有几个问题:

1.我模拟16位并口的,感觉刷屏有点慢,能有更好的算法提高响应速度吗?

2.当我想显示图片或用汉字字库时就发现内存不够了,能通过增加内存芯片或SD卡的方法解决吗?

请各位帮帮忙啊

 

#define D0  GPIO_PIN_5
#define D1  GPIO_PIN_7
#define D2  GPIO_PIN_0
#define D3  GPIO_PIN_6
#define D4  GPIO_PIN_2
#define D5  GPIO_PIN_4
#define D6  GPIO_PIN_4
#define D7  GPIO_PIN_1
#define D8  GPIO_PIN_0
#define D9  GPIO_PIN_3
#define D10  GPIO_PIN_2
#define D11  GPIO_PIN_5
#define D12  GPIO_PIN_0
#define D13  GPIO_PIN_1
#define D14  GPIO_PIN_1
#define D15  GPIO_PIN_3

void LCD_DATA(uint data)   //模拟并口发送数据
{

  if((data >> 0) & 0x01) GPIOPinWrite(PC, D0, D0);
      else               GPIOPinWrite(PC, D0, ~D0);
  if((data >> 1) & 0x01) GPIOPinWrite(PC, D1, D1);
      else               GPIOPinWrite(PC, D1, ~D1);
  if((data >> 2) & 0x01) GPIOPinWrite(PA, D2, D2);
      else               GPIOPinWrite(PA, D2, ~D2);
  if((data >> 3) & 0x01) GPIOPinWrite(PC, D3, D3);
      else               GPIOPinWrite(PC, D3, ~D3);
  if((data >> 4) & 0x01) GPIOPinWrite(PA, D4, D4);
      else               GPIOPinWrite(PA, D4, ~D4);
  if((data >> 5) & 0x01) GPIOPinWrite(PC, D5, D5);
      else               GPIOPinWrite(PC, D5, ~D5);  
  if((data >> 6) & 0x01) GPIOPinWrite(PA, D6, D6);
      else               GPIOPinWrite(PA, D6, ~D6);
  if((data >> 7) & 0x01) GPIOPinWrite(PA, D7, D7);
      else               GPIOPinWrite(PA, D7, ~D7);
  if((data >> 8) & 0x01) GPIOPinWrite(PD, D8, D8);
      else               GPIOPinWrite(PD, D8, ~D8);
  if((data >> 9) & 0x01) GPIOPinWrite(PA, D9, D9);
      else               GPIOPinWrite(PA, D9, ~D9);
  if((data >> 10) & 0x01) GPIOPinWrite(PD, D10, D10);
      else               GPIOPinWrite(PD, D10, ~D10);
  if((data >> 11) & 0x01) GPIOPinWrite(PA, D11, D11);
      else               GPIOPinWrite(PA, D11, ~D11);
  if((data >> 12) & 0x01) GPIOPinWrite(PB, D12, D12);
      else               GPIOPinWrite(PB, D12, ~D12);
  if((data >> 13) & 0x01) GPIOPinWrite(PD, D13, D13);
      else               GPIOPinWrite(PD, D13, ~D13);
  if((data >> 14) & 0x01) GPIOPinWrite(PB, D14, D14);
      else               GPIOPinWrite(PB, D14, ~D14);
  if((data >> 15) & 0x01) GPIOPinWrite(PD, D15, D15);
      else               GPIOPinWrite(PD, D15, ~D15);

}

最新回复

:carnation: 楼主可不可以把你的驱动程序给我发份儿啊,我也在用SSD1289液晶,还没驱动成功,16位模式。。。 411010845@qq.com,谢了。。。  详情 回复 发表于 2012-4-25 09:04

回复
举报

2002

帖子

24

TA的资源

五彩晶圆(高级)

1、并口16bit应该比较快了,那就是程序需要优化。
2、从贴出的程序看太多的判断语句,编译会变后会很长周期,建议改为对字的操作,16bit用一个for循环移位输出。
     但你16bit的脚使用很多端口,且不连续,这样会降低性能,哪怕改成8bit连续的可能还快点。如果连续就可以像
  LCD_Bus_Write_Byte( Data>>8 );
  LCD_Bus_Write_Byte( Data );
这样一次输出。否则就要加太多处理。
3、汉字库差不多都200K了,图片很小的可以放到flash中,最好还是扩SD卡,SPI接口就行
愚见望指正

[ 本帖最后由 shower.xu 于 2012-1-18 08:35 编辑 ]

回复

1万

帖子

16

TA的资源

版主

楼主程序这么简单就可以,真是不可思议

有的屏就是反应慢,楼主可以看资料,或者做做实验,内存不够可以扩SD卡,再有搞个EEPROM大点的之类去掉,考虑管脚用SPI或IIC的吧
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

45

帖子

1

TA的资源

一粒金砂(中级)

回复 沙发 shower.xu 的帖子

谢谢指点哈,还想请教一下,8位怎么接,是只要接低8位就可以了吗?还是要锁存器?

回复

2002

帖子

24

TA的资源

五彩晶圆(高级)

原帖由 xupz123 于 2012-1-18 20:57 发表
谢谢指点哈,还想请教一下,8位怎么接,是只要接低8位就可以了吗?还是要锁存器?

这个要看你LCD的驱动IC资料,一般支持两种可选。数据一般是低8bit有效,驱动IC资料应该有讲,一般自刷新,不需要锁存。

回复

23

帖子

0

TA的资源

一粒金砂(中级)

lz你这么写,怎么会不慢呢
如果没有一个完整的16bit的端口可以用的话,还是用直接的寄存器操作吧,毕竟你送16bit的数据,要进行16次函数调用和跳转,这效率要去撞墙了....
或者用汇编写吧,cortex m3 的thumb2指令有小IF...THEN块可以用,避免跳转带来的流水线清洗

回复

299

帖子

0

TA的资源

纯净的硅(高级)

如果单纯放字库,还是外扩spi flash比较方便,性价比也高。

回复

299

帖子

0

TA的资源

纯净的硅(高级)

kitronix320x240x16_ssd2119_8bit.rar (7.58 KB, 下载次数: 109)


回复

23

帖子

0

TA的资源

一粒金砂(中级)

回复 楼主 xupz123 的帖子

:carnation: 楼主可不可以把你的驱动程序给我发份儿啊,我也在用SSD1289液晶,还没驱动成功,16位模式。。。
411010845@qq.com,谢了。。。

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表