




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第16讲 LCD显示(xinsh)实验ALIENTEK广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:原子教你玩STM32系列视频LCD原理讲解FSMC原理源码分析 技术支持论坛: 开源电子网 官方微博: “正点原子” 微博网址 /u/2973019374 淘宝店铺: 共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频CS:TFTLCD片选信号。WR:向TFTLCD写入数据。RD:从TFTLCD读取数
2、据。D15:0:16位双向数据线。RST:硬复位TFTLCD。RS:命令/数据标志(0,读写命令;1,读写数据)。80并口连接线:注意: RST信号线是直接接到STM32的复位脚上,并不由软件控制。另外我们还需要一个背光控制线来控制TFTLCD的背光。 所以,我们总共需要的IO口数目为21个。 我们标注的DB1DB8,DB10DB17,是相对于LCD控制IC标注的, 实际上大家可以把他们就等同于D0D15,这样理解起来就比较简单一点。共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频ALIENTEK提供的2.8寸TFTLCD模块
3、,其驱动芯片有很多种类型,比如有: ILI9320/ILI9325/ILI9328/ILI9341 /SSD1289/LGDP4531/LGDP4535/R61505/ SPFD5408/ RM68021等(具体的型号,大家可以通过下载本章实验代码, 通过串口或者 LCD显示查看)。 这里我们仅以ILI9320控制器为例进行介绍,其他的控制基本 都类似,我们就不详细阐述了。共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xl
4、i)视频ILI9320常用命令:共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频R0,这个命令,有两个功能,如果对它写,则最低位为OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。R32,R33,设置GRAM的行地址和列地址。R32用于设置列地址(X坐标,0239),R33用于设置行地址(Y坐标,0319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到该点,然后写入颜色值就可以了。R34,写数据到GRAM命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一
5、组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数。R80R83,行列GRAM地址位置设置。这几个命令用于设定你显示区域的大小,我们整个屏的大小为240*320,但是有时候我们只需要在其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就可以通过这几个命令,在其中开辟一个区域,然后不停的丢数据,地址计数器就会根据R3的设置自动增加/减少,这样就不需要频繁的写地址了,大大提高了刷新的速度。共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频R3
6、,入口模式命令。我们重点关注的是I/D0、I/D1、AM这3个位,因为这3个位控制了屏幕的显示方向。 AM:控制GRAM更新方向。当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。、 I/D1:0:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1。共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频TFTLCD显示需要的相关设置步骤如下:1)设置STM32与TFTLCD模块相连接的IO。 这一步,先将我们与TFTLCD模块相连的IO口进行初始化,以便驱动LCD。 这里我们用到的是
7、FSMC,FSMC将在18.1.2节向大家详细介绍。 2)初始化TFTLCD模块。 其实这里就是上和上面OLED模块的初始化过程差不多。通过向TFTLCD写 入一系列的设置,来启动TFTLCD的显示。为后续显示字符和数字做准备。3)通过函数将字符和数字显示到TFTLCD模块上。 这里就是通过我们设计的程序,将要显示的字符送到TFTLCD模块就可以了, 这些函数将在软件设计部分向大家介绍。共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频FSMC介绍:大容量,且引脚数在100脚以上的STM32F103芯片都带有FSMC接口, 战舰
8、STM32开发板的主芯片为STM32F103ZET6,是带有FSMC接口的。 FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡连接,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存储器。共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频FSMC提供了所有的LCD控制器的信号:FSMC NEx:分配给NOR的256M,再分为4个区
9、,每个区用来分配一个外设, 这四个外设的片选分为是NE1-NE4,对应相应的引脚。FSMC NOE:输出使能,连接LCD的RD脚。FSMC NWE:写使能,连接LCD的RW脚。FSMC_D16:0 16bit的数据总线FSMC_A25:0 :用在LCD显示RAM和寄存器之间进行选择的地址线,即该线用于选择LCD的 RS脚,该线可用地址线的任意一根。注:RS = 0时,表示读写寄存器;RS = 1表示读写数据RAM。 共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论
10、坛:ALIENTEK原子(yunz)教你玩STM32系列视频共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频typedef struct u16 LCD_REG; u16 LCD_RAM; LCD_TypeDef;/使用NOR/SRAM的 Bank1.sector4,地址位HADDR27,26=11 A10作为数据命令区分线 /注意设置时STM32内部会右移一位对其! 111110=0X3E #define LCD_BASE (u32)(0 x6C000000 | 0 x000007FE)#define LCD (LCD
11、_TypeDef *) LCD_BASE)0 x7FE =011111111110b因为结构体成员变量都是16位,所以+2偏移到下一个变量,那么0 x7FE+2=100000000000b刚好两个成员地址最高位分别为0和1,从而区分命令和数据。共二十页广州星翼电子(dinz) 官方淘宝店: 技术支持论坛:ALIENTEK原子教你玩STM32系列(xli)视频void LCD_WR_REG(u16 regval) LCD-LCD_REG=regval;/写入要写的寄存器序号 /写LCD数据;data:要写入的值void LCD_WR_DATA(u16 data) LCD-LCD_RAM=data
12、; /读LCD数据;返回值:读到的值u16 LCD_RD_DATA(void) return LCD-LCD_RAM; /写寄存器;LCD_Reg:寄存器地址;LCD_RegValue:要写入的数据void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue) LCD-LCD_REG = LCD_Reg; /写入要写的寄存器序号 LCD-LCD_RAM = LCD_RegValue;/写入数据 共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTEK原子(yunz)教你玩STM32系列视频 FSMC_NORSRAMTimingInitT
13、ypeDef readWriteTiming; FSMC_NORSRAMTimingInitTypeDef writeTiming; readWriteTiming.FSMC_AddressSetupTime = 0 x01; /地址建立时间(ADDSET)为2个HCLK 1/36M=27ns readWriteTiming.FSMC_AddressHoldTime = 0 x00; /地址保持时间(ADDHLD)模式A未用到 readWriteTiming.FSMC_DataSetupTime = 0 x0f; / 数据保存时间为16个HCLK,因为液晶驱动IC的读数据的时候, /速度不能太
14、快,尤其对1289这个IC。 readWriteTiming.FSMC_BusTurnAroundDuration = 0 x00; readWriteTiming.FSMC_CLKDivision = 0 x00; readWriteTiming.FSMC_DataLatency = 0 x00; readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; /模式A writeTiming.FSMC_AddressSetupTime = 0 x00; /地址建立时间(ADDSET)为1个HCLK writeTiming.FSMC_AddressH
15、oldTime = 0 x00; /地址保持时间(A writeTiming.FSMC_DataSetupTime = 0 x03; /数据保存时间为4个HCLK writeTiming.FSMC_BusTurnAroundDuration = 0 x00; writeTiming.FSMC_CLKDivision = 0 x00; writeTiming.FSMC_DataLatency = 0 x00; writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; /模式A 共二十页广州星翼电子 官方(gunfng)淘宝店: 技术支持论坛:ALIENTE
16、K原子教你玩STM32系列(xli)视频 FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;/ 这里我们使用NE4 ,也就对应BTCR6,7。 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; / 不复用数据地址 FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;/ FSMC_MemoryType_SRAM; /SRAM FSMC_NORSRAMIn
17、itStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;/存储器数据宽度为16bit FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =FSMC_BurstAccessMode_Disable;/ FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_Asynchronous
18、Wait_Disable; 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_Enable; / 读写使用不同的时序 FSMC_NORSRAMInitStru
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年民航博物馆招聘考前自测高频考点模拟试题及参考答案详解
- 2025年济宁高新区事业单位公开招聘工作人员(教育类)(47人)考前自测高频考点模拟试题完整答案详解
- 2025福建三明清流县金星园建设发展有限公司招聘消防员2人考前自测高频考点模拟试题带答案详解
- 2025年4月广东深圳市光明区教育局招聘公办幼儿园工作人员模拟试卷及完整答案详解1套
- 2025年宜昌市猇亭区急需紧缺人才引进12人考前自测高频考点模拟试题及答案详解(新)
- 2025年美术联考恐怖试卷及答案
- 2025年粤点制作初级试题及答案
- 2025大河智运物流(河南)有限公司招聘10人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025北京市房山区韩村河镇社区卫生服务中心招聘1人模拟试卷及答案详解(网校专用)
- 2025年宿州市立医院招聘42人考前自测高频考点模拟试题及1套参考答案详解
- 2025贵州盐业(集团)遵义有限责任公司招聘15人笔试备考试题及答案解析
- EMS供应商对比方案报告
- 神奇的加密术教学设计-2025-2026学年初中数学北师大版2024八年级上册-北师大版2024
- 价格波动对利润影响分析-洞察及研究
- 广西检测协会试题(钢结构检测综合)判断题(1-375)
- 医院感染判定标准与流程
- 我的祖国音乐教学课件
- 2025春江苏开放大学大学英语(B)(1)060051过程性考核作业3参考答案
- 企业决策支持系统-项目案例分析
- DB37-T 5310-2025《城镇排水管渠养护维修服务规范》
- 三年级下册32《每天自省五分钟》心理健康教学设计
评论
0/150
提交评论