书签 分享 收藏 举报 版权申诉 / 23
上传文档赚钱

类型面向物联网的嵌入式系统开发-24-STM32-LCD技术应用开发课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4848959
  • 上传时间:2023-01-17
  • 格式:PPTX
  • 页数:23
  • 大小:1.38MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《面向物联网的嵌入式系统开发-24-STM32-LCD技术应用开发课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    面向 联网 嵌入式 系统 开发 24 STM32 LCD 技术 应用 课件
    资源描述:

    1、CC2530和STM32嵌入式接口技术开发6.1 STM32 LCD技术应用开发EducationSolutions目录ContentsInternet+显示器STM32 FSMC接口技术STM32 FSMC库函数ILI93xx LCD原理项目实践23:54/3显示器介绍液晶显示器OLED显示器显示器属于计算机的I/O设备,即输入输出设备。它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具。常见的有CRT显示器、液晶显示器、LED点阵显示器及OLED显示器。23:54/4显示器的相关参数像素显示器尺寸分辨率点距色彩深度色域23:54/5FSMC介绍STM32F407或STM32F417系

    2、列芯片都带有FSMC接口。FSMC即灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡连接,STM32F4的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存储器。SARMPSARMNANDNOR23:54/6FSMC连接框图STM32F4的FSMC将外部设备分为2类:NOR/PSRAM设备、NAND/PC卡设备。他们共用地址数据总线等信号,他们具有不同的CS以区分不同的设备,比如本项目用到的TFTLCD就是用的FSMC_NE4做片选,其实就是将TFTLCD当成SRAM来控制。23:54/7FSMC的存储地址分配及映射FSMC总共管理1GB空间

    3、,拥有4个存储块(Bank)。FSMC存储块1(Bank1)被分为4个区,每个区管理64M字节空间,每个区都有独立的寄存器对所连接的存储器进行配置。Bank1的256M字节空间由28根地址线(HADDR27:0)寻址。23:54/8FSMC的读写操作FSMC在A模式下,读和写的时序时独立的。读的速度较慢,写的速度较快。在这种模式下很适合TFTLCD屏幕的操作。FSMC读时序FSMC写时序23:54/9STM32的FSMC的配置 FSMC_NORSRAMInit();/NOR SRam初始化函数 FSMC_NANDInit();/NAND Flash初始化函数 FSMC_PCCARDInit()

    4、;/PC Card初始化函数FSMC初始化函数。void FSMC_NORSRAMCmd(uint32_t FSMC_Bank,FunctionalState NewState);/NOR SRam使能 void FSMC_NANDCmd(uint32_t FSMC_Bank,FunctionalState NewState);/NAND Flash使能 void FSMC_PCCARDCmd(FunctionalState NewState);/PC Card使能FSMC使能函数。FSMC的存储外设有很多,有NOR SRAM、NAND Flash、PC Card等。但在使用的过程中通常用到哪

    5、种存储器就配置哪种存储器的函数从而初始化外设。23:54/10STM32的FSMC的基本配置参数typedefstructuint32_t FSMC_Bank;/FSMC的Bank的标号区号配置参数uint32_t FSMC_DataAddressMux;/设置地址总线与数据总线是否复用uint32_t FSMC_MemoryType;/设置存储器的类型uint32_t FSMC_MemoryDataWidth;/设置存储器的数据宽度,TFTLCD屏幕时16位数据宽度uint32_t FSMC_BurstAccessMode;/设置是否支持突发访问模式,只支持同步类型的存储器uint32_t

    6、FSMC_AsynchronousWait;/设置是否使能在同步传输时的等待信号uint32_t FSMC_WaitSignalPolarity;/设置等待信号的极性uint32_t FSMC_WrapMode;/设置是否支持对齐的突发模式 uint32_t FSMC_WaitSignalActive;/配置等待信号在等待前有效还是等待期间有效uint32_t FSMC_WriteOperation;/设置是否写使能uint32_t FSMC_WaitSignal;/设置是否使能等待状态插入uint32_t FSMC_ExtendedMode;/设置是否使能扩展模式uint32_t FSMC_

    7、WriteBurst;/设置是否使能写突发操作/当不使用扩展模式时,本参数用于配置读写时序,否则用于配置读时序FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;/当使用扩展模式时,本参数用于配置写时序FSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTimingStruct;FSMC_NORSRAMInitTypeDef;23:54/11STM32的FSMC的时序配置参数typedefstructuint32_t FSMC_AddressSetupTime;/地址建立时间,0-0 xF 个 HCLK

    8、周期uint32_t FSMC_AddressHoldTime;/地址保持时间,0-0 xF 个 HCLK 周期uint32_t FSMC_DataSetupTime;/数据建立时间,0-0 xF 个 HCLK 周期uint32_t FSMC_BusTurnAroundDuration;/总线转换周期,0-0 xF 个 HCLK 周期uint32_t FSMC_CLKDivision;/时钟分频因子,1-0 xF,若控制异步存储器,本参数无效uint32_t FSMC_DataLatency;/数据延迟时间,若控制异步存储器,本参数无效uint32_t FSMC_AccessMode;/设置访

    9、问模式FSMC_NORSRAMTimingInitTypeDef;/FSMC读/写时钟配置FSMC的在配置时由于驱动TFTLCD屏幕使用的是A模式,即异步模式。所以FSMC_NORSRAMTimingInitTypeDef结构体需要根据读时序和写时序分别配置两次。23:54/12ILI93xx LCD原理ILI93XX控制器内部结构23:54/13ILI93xx LCD原理液晶引出信号线说明:信号线ILI9341对应信号线说明FSMC_D15:0D15:0数据信号线LCD_CSCSX片选信号,低电平有效FSMC_NWEWRX写数据信号,低电平有效FSMC_NOERDX读数据信号,低电平有效LC

    10、D_BL-背光信号,低电平点亮LCD_RSD/CX数据/命令信号,高电平时,D15:0表示的是数据(RGB像素数据或命令数据),低电平时 D15:0表示控制命令RSTRESX复位信号,低电平有效23:54/14ILI93xx LCD原理在STM32的使用过程中,通常使用STM32的片上外设FSMC对8080端口的时序进行模拟。23:54/15项目场景可视对讲系统是一套现代化的小区住宅服务措施,提供访客与住户之间双向可视通话,达到图像、语音双重识别从而增加安全可靠性,同时节省大量的时间,提高了工作效率。它可提高住宅的整体管理和服务水平,创造安全社区居住环境,因此逐步成为小康住宅不可缺少的配套设备

    11、。23:54/16任务目标楼宇智能设备企业要设计一款可视对讲系统设备,通过门口主机安装的摄像头对门口图像在室内可视分机显示屏显示,要求使用STM32处理器的FSMC接口驱动液晶显示屏。23:54/17项目分析TFTLCD屏幕在STM32上的使用主要是需要弄清楚STM32能够驱动TFTLCD屏幕的原理,STM32的FSMC外设可以驱动SARM这种存储其,这种存储其的驱动与TFTLCD屏的驱动方式类似,因此可以使用SARM来驱动LCD屏,其中LCD屏幕的数据总线就是用FSMC的数据总线,而数据和指令线电平的切换则有FSMC的地址总线来完成。23:54/18项目程序逻辑框图程序启动首先初始化LED和

    12、LCD的背光,初始化完成以后初始化FSMC和LCD。在准备工作完成后开启LCD背光清屏和LCD屏幕的一系列操作,并在LCD上显示信息。23:54/19项目实现void fsmc_init(void)GPIO_InitTypeDef GPIO_InitStructure;FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;FSMC_NORSRAMTimingInitTypeDef readWriteTiming;FSMC_NORSRAMTimingInitTypeDef writeTiming;RCC_AHB3PeriphClockCmd(RCC_

    13、AHB3Periph_FSMC,ENABLE);/使能FSMC时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE,ENABLE);/使能GPIO时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_7;/选中相应的引脚 GPIO_InitStructure.GP

    14、IO_Mode=GPIO_Mode_AF;/复用模式 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;/输出速度 GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;/推挽输出 GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;/无上下拉 GPIO_Init(GPIOD,&GPIO_InitStructure);/按上述参数初始化(PD)GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_P

    15、in_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;/选中相应的引脚 GPIO_Init(GPIOE,&GPIO_InitStructure);/按上述参数初始化(PE)lfsmc初始化23:54/20项目实现/复用配置,将下列引脚复用为FSMC GPIO_PinAFConfig(GPIOD,GPIO_PinSource12,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource7,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_P

    16、inSource4,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);GPIO_PinA

    17、FConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO

    18、_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC);GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC);GPIO_PinAFConfig(GPI

    19、OE,GPIO_PinSource15,GPIO_AF_FSMC);lfsmc初始化23:54/21项目实现/写配置 readWriteTiming.FSMC_AddressSetupTime=0XF;/地址建立时间为16个HCLK 1/168M=6ns*16=96ns readWriteTiming.FSMC_AddressHoldTime=0;/地址保持时间 模式A未用到 readWriteTiming.FSMC_DataSetupTime=60;/数据保持时间为60个HCLK=6*60=360ns readWriteTiming.FSMC_BusTurnAroundDuration=0

    20、x00;readWriteTiming.FSMC_CLKDivision=0 x00;readWriteTiming.FSMC_DataLatency=0 x00;readWriteTiming.FSMC_AccessMode=FSMC_AccessMode_A;/模式A writeTiming.FSMC_AddressSetupTime=15;/地址建立时间为9个HCLK=54ns writeTiming.FSMC_AddressHoldTime=0;/地址保持时间 writeTiming.FSMC_DataSetupTime=15;/数据保持时间为6ns*9个HCLK=54ns write

    21、Timing.FSMC_BusTurnAroundDuration=0 x00;writeTiming.FSMC_CLKDivision=0 x00;writeTiming.FSMC_DataLatency=0 x00;writeTiming.FSMC_AccessMode=FSMC_AccessMode_A;/模式Alfsmc初始化23:54/22项目实现/配置FSMC FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM1;/使用NE1 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux=FSM

    22、C_DataAddressMux_Disable;/不复用数据地址 FSMC_NORSRAMInitStructure.FSMC_MemoryType=FSMC_MemoryType_SRAM;/FSMC_MemoryType_SRAM;/SRAM FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth=FSMC_MemoryDataWidth_16b;/存储器宽度16bit FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode=FSMC_BurstAccessMode_Disable;/FSMC_BurstAcce

    23、ssMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity=FSMC_WaitSignalPolarity_Low;FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_AsynchronousWait_Disable;FSMC_NORSRAMInitStructure.FSMC_WrapMode=FSMC_WrapMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive=FSMC_WaitSignalActi

    24、ve_BeforeWaitState;FSMC_NORSRAMInitStructure.FSMC_WriteOperation=FSMC_WriteOperation_Enable;/存储器写使能 FSMC_NORSRAMInitStructure.FSMC_WaitSignal=FSMC_WaitSignal_Disable;FSMC_NORSRAMInitStructure.FSMC_ExtendedMode=FSMC_ExtendedMode_Enable;/读写使用不同时序 FSMC_NORSRAMInitStructure.FSMC_WriteBurst=FSMC_WriteBur

    25、st_Disable;FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct=&readWriteTiming;/读时序 FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct=&writeTiming;/写时序 FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);/初始化fsmc配置 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1,ENABLE);/使能bank1,sram1lfsmc初始化23:54/23项目思考FSMC支持哪些存储的拓展?FSMC有几个BANK,每个BANK又是如何分配的?FSMC如何实现对TFT屏幕的控制?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:面向物联网的嵌入式系统开发-24-STM32-LCD技术应用开发课件.pptx
    链接地址:https://www.163wenku.com/p-4848959.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库