欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计(论文)基于STM32的LCD触摸屏驱动的设计.doc

    • 资源ID:4150604       资源大小:724.50KB        全文页数:35页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计(论文)基于STM32的LCD触摸屏驱动的设计.doc

    课程设计报告题 目: 基于STM32的LCD的 设计 学生姓名: 学生学号: 系 别: 专 业: 届 别: 指导教师: 电子工程学院制基于STM32的LCD触摸屏驱动的设计学生:凤凰花指导教师:吴琰电子工程学院 电子信息科学与技术目录1 概述12 LCD液晶显示屏12.1 LCD液晶显示屏原理12.2 LCD液晶显示屏分类23触摸屏驱动原理概述23.1 电阻触摸屏工作原理23.2 触摸屏控制实现34 设计目标35 系统硬件设计35.1 STM32微处理器FSMC接口45.2 LCD液晶显示屏介绍65.3 触摸屏控制板86 系统软件设计116.1 系统软件结构116.2 头文件设计126.2 硬件初始化程序126.3 3寸LCD模块驱动程序186.4 触摸坐标获取程序256.5 LCD控制器控制程序287 总结错误!未定义书签。1 概述LCD液晶显示屏与触摸屏在嵌入式系统中的应用越来越普及。他们是非常简单、方便、自然的人机交互方式,目前广泛应用于便携式仪器、智能家电、掌上设备等领域。触摸屏与LCD液晶显示技术的紧密结合,成了主流配置。LCD液晶显示屏(LCD Module , LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源以及结构件装配在仪器的组件。触摸屏技术在我国的应用时间不是太长,但它已经成长为人们最为接受的输入方式。利用这种技术人们只需触碰屏幕就可以对主机进行操作,是人机交互更为方便,直截了当。本文档是对LCD液晶显示屏和触摸屏驱动的设计做深入介绍。2 LCD液晶显示屏2.1 LCD液晶显示屏原理液晶(Liquid Crystal):是一种介于固态和液态之间的具有规则性分子排列,及晶体的光学各向异性的有机化合物,液晶在受热到一定温度的时候会呈现透明状的液体状态,而冷却则会出现结晶颗粒的混浊固体状态,因为物理上具有液体与晶体的特性,故称之为“液晶”。液晶显示器LCD(Liquid Crystal Display):是新型平板显示器件。显示器中的液晶体并不发光,而是控制外部光的通过量。当外部光线通过液晶分子时,液晶分子的排列扭曲状态不同,使光线通过的多少就不同,实现了亮暗变化,可重现图像。液晶分子扭曲的大小由加在液晶分子两边的电压差的大小决定。因而可以实现电到光的转换。即用电压的高低控制光的通过量,从而把电信号转换成光像。2.2 LCD液晶显示屏分类(1) 位段型液晶显示模块位段型液晶显示模块是一种由位段型液晶显示器件与专用的集成电路组装成一体的功能部件。(2) 字符型液晶显示模块字符型液晶显示模块是由字符液晶显示器件与专用的行、列驱动器、控制器、必要的连接件以及结构件装配而成,可以显示数字和西文字符。(3) 图形点阵型液晶显示模块图形点阵型显示模块就是可以动态地显示字符和图片的LCD。图形点阵液晶模块的点阵像素连续排列,行和列在拍布中均没有空隔,不仅可以显示字符,还可以显示连续完整的图像。图形点阵型液晶显示模块有三种类型可供选择:行列驱动型,行列驱动控制型及行列控制型。2嵌入式和LCD的发展21嵌入式系统的概述 211嵌入式系统发展史 嵌入式系统虽然是近几年才风靡起来的,但是这个概念并非是新近才出现产物。从 20世纪70年代左右单片机的出现到今天各式各样的微控制器、嵌入式处理器大规模应用,嵌入式系统已经快有30多年的发展历史。【1】综合看嵌入式技术的发展,大致可以说经历了以下4个阶段: l 第一阶段是以单芯片为核心的可编程控制器的系统,同时也具有与伺服、监测、指示设备相配合的一些功能,应用在专业性强的工业控制系统中。而且这种系统一般没有操作系统的支持,同时通过汇编语言编程对系统进行直接控制。这一阶段系统主要特点是:系统结构和功能相对单一,存储容量较小,处理效率较低,几乎没有用户的接口。 l 第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。 这一阶段系统的主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统达到了一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好;主要用于控制系统负载的运行以及监控应用程序的运行。 l 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、多任务、设备支持、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。l 第四阶段是以基于Intemet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Intemet的发展以及 Intemet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet 的结合将代表着嵌入式技术的真正未来。 数字时代和信息时代的到来使嵌入式产品获得了巨大的历史发展机遇,为嵌入式市场展现了美好的前景,同时这也对嵌入式厂商提出了新的挑战。未来的嵌入式系统的发展趋势是: (1)网络互联成为了必然趋势。未来的嵌入式设备为了适应网络互联的要求,必须要在硬件上提供各种网络通讯的接口。软件方面内核要支持网络模块,甚至可以在设备上嵌入WEB浏览器,真正可以实现随时随地的用各种设备上网。 (2)精简系统内核、算法,降低功耗、软硬件的成本。未来嵌入式产品是软、硬件紧密结合的设备,为了降低功耗成本,需要尽量的精简系统内核,只保留和系统紧密相关的软、硬件,利用最少的资源来实现最适当的功能。 (3)提供友好的多媒体人机界面。嵌入式设备不仅能与用户亲密接触,最重要的因素就是能提供友好的用户界面。这就要求了软件设计要在多媒体技术、图形界面上多下功夫。 3 触摸屏驱动原理概述3.1 电阻触摸屏工作原理电阻触摸屏是采用电阻模拟量技术。它是一层玻璃作为基层,上面涂有一层透明氧化金属(ITO氧化铟)导电层,再盖有一层玻璃或是外表面硬化处理的光滑的塑料层;内表面也涂有一层ITO导电层。它们之间有许多细小的透明隔离点把两导电层隔开绝缘,每当有笔或是手指按下时,两导电层就相互接触。而形成电路。导电层的两端都涂有一条银胶,称为该工作面的一对电极。上下两个导电层一个是水平方向,一个是竖直方向,分别用来测量X和Y的坐标位置。在水平面上的电极称为X+电极和X-电极,在竖直平面的电极称为Y+电极和Y-电极。工作时,两个电极根据测量需要提供参考电压或是作为测量端对接触点的位置进行测量。当测量接触点X坐标的时候,导电层上的X+电极和X-电极分别上参考电压和地;Y电极不加电压,那么X电极间会形成均匀的电压分布,用Y+电极作为测量点,得到的电压值通过A/D转换,就可对应地判断出接触点的X坐标。Y坐标亦是类似,只需改成对Y电极加电压而X电极不加电压即可。图1 电阻屏原理图212嵌入式系统定义及其构成 根据IEEE(国际电气和电子工程师协会)从应用上定义为:嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置(原文为device used to controlmonitor,or assist the operation of equipment,machinery or plants)”。由此可以看出来嵌入式系统是软件和硬件的综合体,可以涵盖到机械等附属装置。目前,国内对嵌入式系统的普遍认同一个定义是:以计算机技术为基础、以应用为中心,软硬件可裁减,适应应用系统对功能、体积、可靠性、成本、功耗等严格要求的计算机系统【2】。 对嵌入式系统的定义可以从以下几方面来理解: (1) 嵌入式系统是面向产品、面向用户、面向应用的,嵌入式系统是和应用紧密结合的,它具有很强地专用性,必须要结合实际系统需求来进行合理的裁减。它的升级换代也是根据具体产品同步来进行的,因此嵌入式系统产品一旦进入了市场,一般都具有具有较长的生命周期。 (2) 嵌入式系统是将先进的计算机技术、半导体技术、电子技术等各个行业具体应用相结合的产物。这一点就决定了它是一个资金密集、高度分散、技术密集、高度分散、不断创新的知识集成系统。 (3)嵌入式系统必须能根据应用需要对软件、硬件进行裁减、扩展以满足应用系统的功能、成本、可靠性、体积等要求。为了提高系统可靠性和执行速度,嵌入式系统中的软件一般都固化在了存储器芯片或者单片机本身中,而不是储存在磁盘等载体中。目前的嵌入式系统的内核都只是一个几K到几十K的微核,能够非常顺利地按需求扩展功能。 一般而言,嵌入式系统的构架可以分成四个部分:存储器、处理器、输入/输出(I/O)和软件构成。嵌入式系统和一般的计算机处理系统不同,它不具备像硬盘那样的大容量存储介质,大多都使用EPROM、E2PROM或闪存(Flash Memory)来作为存储介质。由于大多数嵌入式设备的应用软件和操作系统都是紧密结合的,不加以区别,这也是嵌入式系统和Windows系统最大的区别。213嵌入式系统的应用 嵌入式系统技术具有非常广泛的应用前景,其应用领域一般可以包括: (1)工业控制领域口1:作为32位的RISC架构、基于ARM核的微控制器芯片不但占据高端微控制器市场的很大部分市场份额,同时也在逐渐向低端微控制器应用领域方向扩展,目前已经有了大量的8位、16位、32位嵌入式微处理器应用在工业过程控制、电网安全、数控机床、电力系统、石油化工系统等领域。ARM微控制器的低功耗、高性价比,向传统的8位16位微控制器提出了强烈挑战。 (2)信息家电领域:以后这将成为嵌入式最大的应用领域,冰箱、空调、电视等家用电器的网络化、智能化将引领人们的生活步入一个崭新的空间,可以利用电话线或者网络来对家电进行远程的控制。 (3)交通管理领域:在流量控制、车辆导航、信息监测与汽车服务等,嵌入式系统技术已经获得广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输业广泛应用。 (4)家庭智能管理系统:水、电和煤气等远程自动抄表,安全防火、防盗, 这将是嵌入式系统广泛应用的又一领域,它不仅能代替传统的人工检查,而且还能实现了更准确、速度更快、精度更高、更安全等性能。 (5)无线通讯领域:目前已有超过85的无线通讯设备采用ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固和稳定。 (6)消费类电子产品:ARM技术在目前流行的手机、数字音频播放器、数字机顶盒和游戏机中得到了广泛采用。 (7)网络应用:伴随着宽带技术推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化和处理,并获得了广泛的支持,这也对DSP的应用领域提出了新的挑战。 (8)成像和安全产品:现在流行的数码相机和打印机中绝大部分都采用ARM技术。手机中的32位SIM智能卡也采用TARM技术陆。 除了这些以外,ARM微处理器及技术还应用到很多不同的领域,并会在将来取得更加广泛的应用。 2.2 ARM体系结构的发展 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公 司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器,其应用大概占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗透到我们生活的各个方面中。 目前,ARM32位体系结构被公认是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。自诞生到现在,ARM体系结构为了能够满足ARM合作者以及设计领域的需求正在稳步发展,已经发展并定义了7个不同的版本,每一次ARM体系结构的重大修改,都会添加成极为重要的技术。在体系结构作重大修改的期间,会添加新的性能来来作为体系结构的变体。ARM的名字代表了系统结构上的提升,后面附加的关键字代表了体系结构的变体。 (1)v1版架构:该版架构只在原型机子ARM1上出现过,没有用在商业产品上。采用的地址空间是26位,寻址空间则是64MBt。 (2)V2版架构:该版架构是对V1版架构进行了扩展,V2架构的ARM处理器的指令结构进行了完善,例如:支持协处理器操作指令、增加了乘法指令、快速中断模式等,但该结构的处理器仍然是26位的地址空间。(3)V3版架构:对以前的ARM体系结构作了很大的改动,例如:寻址空间增到32位(4GB);指令结构也比前两种有所完善,例如:增加了程序状态保存寄存器(SPSR)、程序状态寄存器 (CPSR)、增加了中止和未定义2种处理器模式等。 (4)V4版架构:V4架构在V3版架构的基础上做了进一步的扩充,指令集中完善了软件中断SWl指令的功能、增加了16位Thumb指令集的读取和写入操作、增加了处理器系统模式等。V4版架构是目前应用比较多的ARM系统结构,属于V4 体系结构的处理器的有ARM7,ARM8,ARM9 ,StrongARM。 (5)V5版架构:提升了ARM和Thumb指令的交互工作的能力,同时有了DSP 指令(V5E结构)、Java指令(V5J结构支持),增加了带有链接和交换的转移BLX指令。属于V5T体系结构的处理器(有ARMl0TDMI和Xscale(Intel公司产品)。属于V5TE体系结构的处理器有ARM9E、ARM9ES、ARM946等pJ。 (6)V6版架构:V6版架构与V5版架构相比 增加了多媒体指令、增加了高性能定点DSP功能、改进了的内存管理,使系统性能提高了30。属于V6体系结构的处理器的有ARMll。V6构体系结构包含ARM体系结构中所有的四种特殊指令集:Thumb指令,DSP指令,Java指令,Media指令。同时为了满足向后兼容,ARMv6也包括了ARMy5的存储器管理和例外处理。这使得众多的第三方发展商能够利用现有的成果,支持软件和设计的复用。 (7)V7版架构:V7版架构ARM是2005年发布的。它使用了能够带来更高性能、低功耗、高效率及代码密度大的Thumb.2技术。它首次采用了强大的信号处理扩展集,对MP3等媒体编码提供了加速。 下一代体系结构的发展是由不断出现的新产品和变化的市场来推动的。关键的设计约束也是显而易见的,速度,功能,性能,功耗,面积和成本必须与每一种的应用需求相平衡。保证领先的性能/功耗。在过去是ARM成功的基石所在,在将来的应用中它也是一个很重要衡量标准。但新的体系结构不能是想取代现存的体系结构,让它们变得多余。新的CPU核和衍生产品必须建立在这些结构之上,同时不断地与制造工艺保持同步。例如基于V4T体系结构的ARMTTDMI核还在不断广泛被新产品所使用。 3.2 触摸屏控制实现对触摸屏的控制有专用的控制芯片。触摸屏的控制芯片主要完成两个任务:一是完成电极电压的切换,二是采集接触点处的电压值并实现A/D转换。触摸屏控制芯片主要由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受位置信号后送至触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给MPU,同时它能接收MPU发来的命令并加以执行。4 设计目标基于STM32硬件开发平台与3寸液晶屏组成液晶显示与触摸屏人机交互系统。5 系统硬件设计本实验的主要硬件由STM32微处理器的FSMC接口,3寸屏时序转换板以及触摸屏控制板组成。图2 硬件系统结构图5.1 STM32微处理器FSMC接口FSMC模块能够与同步或异步的存储器和16位的PC存储器卡接口,它的主要作用是:将AHB传输信号转换到适当的外部设备协议,满足访问外部设备的时序要求,所有的外部存储器共享控制器输出的地址、数据和控制信号,每个外部设备可以通过一个唯一的片选信号加以区分,FSMC在任一时刻只访问一个外部设备。FSMC具有下列主要功能:(1)具有静态存储器接口的器件包括:静态随机存储器(SRAM);只读存储器(ROM);NOR闪存;PSRAM(4个存储器块)。(2)两个NAND闪存块,支持硬件ECC并可检测多达8K字节数据。(3)16位的PC卡。(4)支持对同步器件的成组(Burst)访问模式,如NOR闪存和PSRAM8或16位数据总线。(5)每一个存储器块都有独立的片选控制,每一个存储器块都可以独立配置,时序可编程以支持各种不同的器件:等待周期可编程(多达15个周期);总线恢复周期可编程(多达15个周期);输出使能和写使能延迟可编程(多达15周期)(6)独立的读写时序和协议,可支持宽范围的存储器和时序PSRAM和SRAM器件使用的写使能和字节选择输出。(6)将32位的AHB访问请求,转换到连续的16位或8位的,对外部16位或8位器件的访问具有16个字,每个字32位宽的写入FIFO,允许在写入较慢存储器时释放AHB进行其它操作。在开始一次新的FSMC操作前,FIFO要先被清空。通常在系统复位或上电时,应该设置好所有定义外部存储器类型和特性的FSMC寄存器,并保持它们的内容不变;当然,也可以在任何时候改变这些设置。FSMC包含四个主要模块:(1)AHB接口(包含FSMC配置寄存器)(2)NOR闪存和PSRAM控制器(3)NAND闪存和PC卡控制器(4)外部设备接口FSMC框图如下:图3 FSMC接口结构框图当STM32微处理器使用FSMC接口模块来控制LCD液晶显示模块时,其接口信号用于驱动LCD的对应关系如表1:FSMC接口信号线LCD接口信号 功能NExCSX片选 NWRWRX写使能 NOE RDX 读使能D15:0D15:0    数据信号A25:0 RS地址信号表1STM32微处理器使用FSMC接口模块与LCD英特尔8080(类似)接口示意图:图4 FSMC接口模块与LCD英特尔8080接口示意图5.2 LCD液晶显示屏介绍本实验的LCD液晶显示器采用宇顺公司的3寸彩色液晶屏S95361,分辨率为240*400。3TFT显示屏焊接在奋斗显示转接板上,在屏上贴有触摸屏,通过40芯的接口与V5连接。40芯接口定义如下:图5 40芯接口40芯里包含了16位数据线,读写线,命令/数据控制线,片选线,LCD硬件复位线,背光控制线以及触摸控制线。奋斗板V3和MINI就是通过这个接口来控制显示。 奋斗板MINI和V3都是选用了具有16位FSMC接口STM32F103VET6作为MCU, FSMC接口也可以称为16位并行接口,时序同I8080接口。按照显示屏驱动电路LGDP5420的手册,为了达到色彩与显示效率的平衡,奋斗板采用了16位 64K色接口模式。图6 16位RGB真彩图在这个模式每个像素用5位红色6位绿色5位蓝色总共16位来表示, 根据分辨率,一帧图像占用400*240*2=192000字节。16位8080总线接口时序如下:图7 总线读写时序图5.3 触摸屏控制板TSC2046是一款四线制触摸屏控制器,内涵12位分辨率125kHz转换速率逐步逼近型A/D转换器,它支持1.5V5.25V范围的低电压I/O口。TSC2046还具有一个片上2.5V的参考电压,可以用于辅助输入,电池监测,和温度测量模式。TSC2046芯片主要功能如下:(1)具有四线制触摸屏接口;(2)可单电源工作,工作电压范围2.2V至5.25V;(3)支持1.5V至5.25V的数字I / O口;(4)内部自带2.5V参考电压源;(5)能直接测量电源电压(0V至6V);(6)片上温度测量;(7)触摸压力测量;(8)具有3线制SPI通信接口;(9)自动省电;(10)封装小,TSSOP-16,QFN-16封装,可在VFBGA-48封装;其功能框图如图8:图8 TSC2046功能框图TSC2046最常用封装TSSOP-16引脚排列如图9所示,对应的引脚功能定义如表2所示:图9 TSC2046引脚排列图引脚号引脚名功能描述1VCC电源2,3X+,Y+触摸屏正电极4,5X-,Y-触摸屏负电极6GND电源地7 VBAT 电池监控输入端。8AUX辅助输入端。9VREFA/D参考电压输入10IOVDD数字电源输入端。 11PENIRQ笔中断引脚,当有触摸事件发生时,向微控制器申请中断服务。12 DOUT串行数据输出,用于输出转换后的触摸位置数据,12位工作方式下,最大为4095。  13BUSY忙指示,低电平有效14DIN串行数据输入、其控制数据通过该引脚输入。15CS片选16DCLK外部时钟输入引脚。 表26 系统软件设计6.1 系统软件结构图10 系统软件结构本实验的触摸模块主要的软件设计任务按功能和层次可分为如下几个部分:1、ucos系统建立任务,包括主任务,用户界面任务,CAN报文接收任务等。2、ucGUI图形用户界面程序,设计相关操作界面。3、中断服务程序,主要使用的中断处理函数为USB_HP_CAN_TX_IRQHandler(),执行CAN总线接收的中断处理。4、硬件平台初始化程序,包括时钟,CAN模块,触摸屏等等的初始化。5、LCD的底层驱动函数。6.2 头文件设计本实验由于使用函数以及宏定义较多,自定义了头文件demo.hh。demo.h内容如下:#ifdef GLOBALS #define EXT#else#define EXT extern #endif#define Led_ON() GPIO_SetBits(GPIOB, GPIO_Pin_5); /LED1亮#define Led_OFF() GPIO_ResetBits(GPIOB, GPIO_Pin_5); /LED1灭#define TP_CS() GPIO_ResetBits(GPIOB,GPIO_Pin_7) /触摸SPI片选允许#define TP_DCS() GPIO_SetBits(GPIOB,GPIO_Pin_7) /触摸SPI片选允许#define PEN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) /触摸检测 #define RED 0XF800#define GREEN 0X07E0#define BLUE 0X001F #define BRED 0XF81F#define GRED 0XFFE0#define GBLUE 0X07FF;#define BLACK 0; FSMC接口的LCD初始化通过调用FSMC_LCD_Init()函数实现信号引脚配置等功能。函数代码如下:/* 名 称:void FSMC_LCD_Init(void)* 功 能:基于FSMC接口的16位TFT接口初始化*/void FSMC_LCD_Init(void) FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef p; GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); /使能FSMC接口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; /背光控制 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /通用推挽输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/输出模式最大速度50MHz GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_SetBits(GPIOD, GPIO_Pin_13); /打开背光 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; /TFT 复位脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /通用推挽输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /输出模式最大速度50MHz GPIO_Init(GPIOE, &GPIO_InitStructure); /* 启用FSMC复用功能, 定义FSMC D0-D15及nWE, nOE对应的引脚 */ /* 设置 PD.00(D2), PD.01(D3), PD.04(nOE), PD.05(nWE), PD.08(D13), PD.09(D14), PD.10(D15), PD.14(D0), PD.15(D1) 为复用上拉 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /最大速度50MHz GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /复用模式 GPIO_Init(GPIOD, &GPIO_InitStructure); /* 设置 PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), PE.14(D11), PE.15(D12) 为复用上拉 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOE, &GPIO_InitStructure); /* FSMC NE1 配置 PD7 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOD, &GPIO_InitStructure); /* FSMC RS配置 PD11-A16 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ; GPIO_Init(GPIOD, &GPIO_InitStructure); p.FSMC_AddressSetupTime = 0x02; p.FSMC_AddressHoldTime = 0x00; p.FSMC_DataSetupTime = 0x05; p.FSMC_BusTurnAroundDuration = 0x00; p.FSMC_CLKDivision = 0x00; p.FSMC_DataLatency = 0x00; p.FSMC_AccessMode = FSMC_AccessMode_B; FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1; FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); /* 使能FSMC BANK1_SRAM 模式 */ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE); 6.3 3寸LCD模块驱动程序#include "fsmc_sram.h"#include "font.h" #include "demo.h" #define Bank1_LCD_D (uint32_t)0x60020000) /disp Data ADDR#define Bank1_LCD_C (uint32_t)0x60000000) /disp Reg ADDRvoid LCD_Init(void);void LCD_WR_REG(unsigned int index);void LCD_WR_CMD(unsigned int index,unsigned int val);void LCD_WR_Data(unsigned int val);void LCD_test(void);void LCD_clear(unsigned int p);void Delay(_IO uint32_t nCount);unsigned short LCD_RD_data(void);extern void lcd_rst(void);extern void Delay(_IO uint32_t nCount);void TFT_CLEAR(u8 x,u16 y,u8 len,u16 wid); void TFT_DrawPoint(u8 x,u16 y);void TFT_ShowChar(u8 x,u16 y,u8 num);void TFT_ShowNum(u8 x,u16 y,u32 num);void TFT_ShowString(u8 x,u16 y,const u8 *p);void TFT_ShowBmp(u8 x,u16 y,u8 lenth,u16 wide,const u8 *p);u16 POINT_COLOR=RED; /默认红色 /* 名 称:LCD_WR_REG(unsigned int index)* 功

    注意事项

    本文(课程设计(论文)基于STM32的LCD触摸屏驱动的设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开