2赞

18回答

1收藏

[原创] 【玩转PSoC3】之TFT液晶篇

 

英飞凌 英飞凌 13285 人阅读 | 18 人回复 | 2012-10-23

本帖最后由 jlj8315292 于 2012-10-23 09:38 编辑

前言      

         因为前一段时间跟同学接了一个小项目,时间很紧(从10.1~10.15),所以这段时间一直没有出来发帖,在此深表歉意!不过做这个项目的时候使用了这款PSoC3 FirstTouch STARTER KIT的小板子的,呵呵,也就是说,做项目的同时我也没耽误学习这块小板子,一举两得,何乐不为呢,不过就是有点对不起坛友了,还希望各位谅解!

       本打算使用提供的SPI组件进行业液晶驱动,但是弄了两天也没搞清楚,还希望哪位大侠抽出点时间看看如何使用SPI组件驱动这块液晶,基本函数都已经写好了,只是SPI组件读写这块还有问题,我这里使用的是模拟的SPI驱动的液晶。如果哪位大神搞定了PSoC的SPI组件驱动,希望能开贴讲解下,不胜感激!!!

==================相关资料===================
工程压缩包(解压后直接可用):
LCD_7735.cywrk.Archive01.zip (1.48 MB, 下载次数: 151)

相关头问价压缩包(包含TFT_ST7735.h,Picture.h,ASCII.h):
相关头文件头文件.rar (23.25 KB, 下载次数: 66)

===========================================
【玩转PSoC3】之TFT液晶篇

【玩转PSoC3】之TFT液晶篇说明

          本帖意在简单介绍如何使用PSoC3驱动tft液晶,并且使用多种模式驱动TFT液晶(SPI总线模式、8Bit总线模式、16Bit总线模式)。首先将贴出SPI总线模式驱动TFT液晶。8Bit总线及16Bit总线模式将随着对PSoC3熟悉和学习的在后续更新。


一、       SPI总线模式驱动
1、开发环境及需求
  • 使用IDE环境:PSoC Creator 2.0
  • 使用的开发板:PSoC3FirstTouch STARTER KIT
  • 使用芯片型号:CY8C3866AXI-040ES2(工程样片)
  • 使用其他器件:LCD一块(SPI接口的1.8寸液晶,驱动芯片:ST7735)、排线若干。
2、硬件连接
PSoC3     TFT液晶
////////////////////////////////
|   P0.1|--------->|CS      |
|   P0.3|--------->|SCK    |
|   P0.5|--------->|SDA    |
|   P0.7|--------->|A0      |
|   P4.5|--------->|RESET|
////////////////////////////////
实物连接如下图所示:



3、软件及程序
3.1、首先打开PSoC Creator2.0,点击File->New->roject,弹出新建工程对话框如下:
3.2、鼠标左键单击选择Empty PSoC***esign。Name:工程名称,工程名称可自定义,本例修改为LCD_7735。Location:工程路径,工程路径可自由设置,注意:不要包含中文路径!本例设置为:D:\Project_jlj\PSOC。Advanced:高级选项,高级选项设为默认。设置完成后点击确认。弹出下图所示工程界面。
3.3、在右边栏Component catalog对话框下找到Digital->Registers->Control Register。如下图所示。
3.4鼠标左键点击Control Register,将其拖拽到原理图上。然后双击该组件进行配置,对话框如下图所示:
3.5、将组建Name修改为LCD_CS,作为模拟SPI总线的CS引脚控制寄存器。Output选择为1,输出只使用1bit。设置完成后选择OK。
3.6、重复3.3~3.5再拖拽4个控制寄存器,分别命名为LCD_SCK、LCD_SDA、LCD_RS、LCD_RESET。如下图所示:
3.7、在右边栏Component catalog对话框下找到Ports and Pin->Digital Output Pin如下图所示。
3.8、标左键点击Digital OutputPin,拖拽5个Digital Output到原理图上,然后双击该组件进行配置,分别命名为Pin_CS、Pin_SCK、Pin_SDA、Pin_RS、Pin_RESET,其他选项配置如下图所示。Mapping、Reset、Built-in一栏默认设置就可以。
3.9、配置结束后,在原理图编辑模式下,按“W”快捷键或者点击Wire tool将Control Register与相应的Pin引脚连接。如下图所示:
至此,原理图部分已经结束。
3.10、原理图画好后,我们打开.cydwr文件,为5个数字输出引脚分配到指定IO。(这个IO可以根据需要自己任意选择,本例为了方便连接,选择如下图配置)如下图所示:
3.11、管脚分配结束后我们为工程添加头文件,本例已将驱动液晶需要的头文件写好,使用时只需将头文件添加到工程中。例如添加ASCII.h方法如下:
3.12、鼠标右键点击Header ***,选择Add->New Item。然后弹出如下对话框。
3.13、在对话框中选择Header File,Name:修改为ASCII.h。点击OK。
3.14、然后将已经写好的ASCII.h头文件中的内容复制这个新建的到ASCII.h文件中。
3.15、重复3.12~3.14步骤,将TFT_ST7735.h、Picture.h添加到工程中。
3.16、添加完成后,我们开始编写Main()函数,作为一个简单的demo程序,主函数只对头文件涉及到的函数做简单的测试。流程图如下:
4、图片及演示效果如下:
4.1系统整体图
4.2、系统整体图背面
4.3、图片显示效果


演示视频
分享到:
回复

使用道具 举报

回答|共 18 个

倒序浏览

沙发

小菜儿

发表于 2012-10-24 08:48:04 | 只看该作者

好帖,沙发!!!期待后续更新!!!{:soso_e182:}
板凳

jlj8315292

发表于 2012-10-28 09:32:31 | 只看该作者

xinxincaijq 发表于 2012-10-24 08:48
好帖,沙发!!!期待后续更新!!!

哎,感觉一天24小时不够用。。。
地板

jlj8315292

发表于 2012-10-28 09:41:30 | 只看该作者

powerdruy 发表于 2012-10-25 23:14
SPI驱动液晶的速度够快不,为啥不直接模拟并口的呢

因为是模拟的SPI,所以速度不是很快呢,不过8bit并口处理这个屏的话肯定会毫无压力的。Creator2.0的组件库中包换并口(8bit/16bit接口)的组件哦,想用直接调用即可。这个帖子主要是为了把各种接口都用一下,后续我会把并口的工程及说明也发到这个帖子里。
5#

jlj8315292

发表于 2012-10-28 09:43:10 | 只看该作者

powerdruy 发表于 2012-10-25 23:16
我用430刷1.77寸的TFT速度很快的,受限于我430板子上16M的晶振的原因,再快就上不去了,但是也差不多是一眨眼 ...

我也就是根据自己想到的写的,感觉一步一步写下来会对初学者比较合适。,以初学者的角度出发去写就好了
6#

w932443004

发表于 2012-10-29 01:19:43 | 只看该作者

不错 学习了
7#

jlj8315292

发表于 2012-11-1 01:47:09 | 只看该作者

wangku001wei 发表于 2012-10-29 01:19
不错 学习了

不要光学习呀,再发些帖子让大家学习
8#

w932443004

发表于 2012-11-1 08:19:14 | 只看该作者

jlj8315292 发表于 2012-11-1 01:47
不要光学习呀,再发些帖子让大家学习

最近在看C5000的那个板子
9#

kk5290122

发表于 2013-1-10 21:44:06 | 只看该作者

你有彩屏资料吗?
10#

kk5290122

发表于 2013-1-10 21:47:40 | 只看该作者

jlj8315292 发表于 2012-10-28 09:41
因为是模拟的SPI,所以速度不是很快呢,不过8bit并口处理这个屏的话肯定会毫无压力的。Creator2.0的组件 ...

不知楼主并口驱动现在用了吗?
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条