发 帖  
STM32液晶屏接口和SD卡接口设计
2018-7-4 08:14:39  206 STM32 SD卡
收藏 0 收藏 推荐 0 推荐
分享
液晶屏接口

大多数情况下,学习STM32的人,都是会先学51的,学过51的话,就一定知道1602屏和12864屏了。如果你真的学会了使用51驱动1602和12864的话,那你就应该知道1602和12864屏任何单片机可以驱动,当然,STM32也可以驱动。不过,既然学51的时候就学会了1602和12864,那么我们STM32开发板就不使用这两种屏了。

彩色TFT液晶屏以前是FPGA的女朋友,由于科技的发展,现在单片机也可以驱动TFT了,不过,最多只能显示个图片,显示视频就不行了。单片机驱动TFT,还得益于ILI家族的控制器。例如,当下流行的ILI9341,它可以让单片机用16个IO口和若干控制引脚就可以驱动彩色TFT,这就使得任何单片机可以驱动彩色TFT,当然,51单片机也可以,只是速度不够快而已。

就目前来说,彩色TFT也没有形成一个统一的标准,各家的TFT接口都不一样,为了方便,这里使用我曾经开发过的一款3.2寸的TFT屏:







先来介(xuan)绍(yao)一下这款牛逼的屏吧。这款屏使用ILI9341驱动,带触摸屏,带背光打开和关闭控制引脚。采用FPC排线连接,如果屏不小心摔碎了,只要把连接器叩开即可更换,无需焊接。从上图也可以看出来,这款屏支持4种驱动方式。这4种驱动方式分别是:16位并口、8位并口、3线SPI和4线SPI串行接口。刷屏最快的就是16位并口,8位并口次之,SPI接口最慢。

既然要使用这款屏,那我们的STM32底板也就需要设计相同接口定义的插座,使得屏插上去就可以用。我们使用最快的驱动方式:16位并口驱动。如果是用51单片机的话,可以使用2组IO口做并口(例如:P1和P2加起来正好16个引脚)。使用STM32的话,使用1组IO口就可以,因为STM32的每组IO口都是16个引脚(例如:PB0~PB15)。不过,我们这次要使用STM32的FSMC口。


当人们听到一个从来没有听过的专业名词,就会产生恐惧感,不过,你有没有发现,你现在也掌握了很多的专业名词(不管是哪个行业的),你现在随便揪出一个来,是不是感觉弱爆了。所以,以后不要对任何专业名词产生恐惧了。这里我们先简单了解一下,FSMC口本来是STM32为了扩展内存增设的接口,我们知道,单片机读取内存,要求的速度是非常高的,所以我们就有了印象,FSMC口的速度一定很高,至少要比直接控制IO口要快很多。关于FSMC口的详细使用方法,当然是在后面做好开发板以后来讲的。




从3脚到25脚,是TFT的控制引脚,26脚是背光亮灭控制引脚,从27到32脚是触摸屏控制引脚,使用SPI2口,关于这个,上一篇文章也提到过。(有些小伙伴会问,”为什么7脚和8脚没有用?“答:因为我们使用的是16位并口,这两个引脚是SPI控制引脚,所以就不用了。”那为什么不把这两个脚去掉,底下的引脚上移?“答:因为我们是依照屏的引脚来画的底板,把引脚上移后,屏插进来能用吗?)

SD卡接口


SD卡,有两种驱动方式,这个在SD卡协议里面有介绍。这两种驱动方式分别是:SDIO接口和SPI接口。一提到SPI接口,你就应该想到,任何单片机都可以驱动SD卡了,即使使用没有硬件SPI接口的51单片机,也可以用GPIO模拟SPI时序来驱动SD卡。但是,SPI接口没有SDIO的速度快,而且,STM32VET6自带SDIO接口,所以我们就使用STM32的SDIO接口来驱动SD卡吧:



虽然我们使用了SDIO接口连接SD卡,不过,这样连接后,既可以使用SDIO接口驱动SD卡,又可以使用GPIO模拟SPI时序来驱动SD卡,那我们就可以学习SD卡的两种驱动方式了。

到时候,我们就可以读出SD卡里面的文件夹,读出SD卡里面的图片,读出SD卡中的TXT文件等等。并且可以模仿电脑来显示SD卡的存储情况,如下图所示:


(这是我曾经做过的一个程序,图中上半部分是我做的程序的效果,图中下半部分是SD卡在电脑上看到的效果。如果你对这个程序感兴趣的话,可以去我的网站(瑞生网)搜索”SD卡“就可以找到这篇文章,带源码。)


2018-7-4 08:14:39   评论

只有小组成员才能发言,加入小组>>

268个成员聚集在这个小组

加入小组

创建小组步骤

关闭

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

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

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

电路设计论坛

电子元器件论坛

传感技术

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

-

EDA设计论坛

multisim论坛

PCB设计论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

Orcad论坛

-

综合技术与应用

电机控制

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

物联网技术

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

高校联盟

西藏民族学院电子设计协会

西安电子科技大学西电实验室

桂林电子科技大学机电工程协会

鉴鹰电子科技协会

广东海洋大学科技创新协会

福建农林大学电子科技创新协会

湖北理工学院电子技术协会

深圳职业技术学院电子精英训练营

浙江科技学院Zuster

湘潭大学电子科技协会

青岛理工大学琴岛学院天宏开发团队

河南理工大学大学生电器开发部

广西科技大学电气信息创新协会

浙江机电职业技术学院电子制作协会

郑州大学西亚斯国际学院爱电工作室

新乡学院电子创新工作室

洛阳理工学院SmartTeam

苏州工业职业技术学院创新工作室

浙江工业大学GC315团队

杭电-微芯大学生科技创新孵化器

西安工业大学电信科协

商洛学院科技创新协会

大连民族学院创新工作室

南京信息工程大学帆木工作室

-

供求信息发布

方案交易

供需广告

芯片求购|供应发布区