教学课件 15-LCD显示系统设计_第1页
教学课件 15-LCD显示系统设计_第2页
教学课件 15-LCD显示系统设计_第3页
教学课件 15-LCD显示系统设计_第4页
教学课件 15-LCD显示系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目五环境检测系统设计任务1LCD显示系统设计项目五环境检测系统设计任务1任务2任务3LCD显示系统设计温度采集系统设计光照采集系统设计知识目标:1.掌握LCD及FSMC工作原理;2.知道ILI9341常用指令。技能目标:1.会使用ILI9341的常用指令。2.会使用相关函数实现液晶显示;素养目标:1.操作规范,符合5S管理要求;2.具备自主探究、勤学好问的态度。学习目标设计要求利用STM32开发板上的LCD接口,实现ASCII字符和彩色的显示等功能,编写控制程序并进行系统调试。硬件设计硬件连接:

知识导航TFTLCD模块与STM32F103ZET6处理器的I/O口对应关系:LCD_BL(背景光控制)对应PB0;LCD_CS对应PG12,即FSMC_NE4;LCD_RS对应PG0,即FSMC_A10;LCD_RD对应PD4,即FSMC_NOE;LCD_WR对应PD5,即FSMC_NWE;LCD_D[15:0]直接连接到FSMC_D15--FSMC_D0。知识导航FSMC引脚STM32F103ZET6引脚FSMC_D0PD14FSMC_D1PD15FSMC_D2PD0FSMC_D3PD1FSMC_D13PD8FSMC_D14PD9FSMC_D15PD10FSMC引脚STM32F103ZET6引脚FSMC_D4PE7FSMC_D5PE8FSMC_D6PE9FSMC_D7PE10FSMC_D8PE11FSMC_D9PE12FSMC_D10PE13FSMC_D11PE14FSMC_D12PE15知识导航函数RCC_APB2PeriphClockCmd函数原型:voidRCC_APB2PeriphClockCmd(u32RCC_APB2Periph,FunctionalStateNewState);函数功能:开启相应的外设时钟。参数1:APB2外设时钟,可以取下表的一个或者多个取值的组合作为该参数的值。参数2:可以取ENABLE或者DISABLE。知识导航RCC_APB2Periph值描述RCC_APB2Periph_GPIOAGPIOA时钟RCC_APB2Periph_GPIOBGPIOB时钟RCC_APB2Periph_GPIOCGPIOC时钟RCC_APB2Periph_GPIODGPIOD时钟RCC_APB2Periph_GPIOEGPIOE时钟RCC_APB2Periph_GPIOFGPIOF时钟RCC_APB2Periph_GPIOGGPIOG时钟RCC_APB2Periph_AFIO功能复用I/O时钟RCC_APB2Periph_ADC1ADC1时钟RCC_APB2Periph_ADC2ADC2时钟知识导航函数RCC_AHBPeriphClockCmd函数原型:voidRCC_AHBPeriphClockCmd(u32RCC_AHBPeriph,FunctionalStateNewState);函数功能:开启相应的外设时钟。参数1:AHB外设时钟,比如:RCC_AHBPeriph_FSMC。参数2:可以取ENABLE或者DISABLE。例如:

开启FSMC时钟RCC_AHBPeriph(RCC_AHBPeriph_FSMC,ENABLE);知识导航函数FSMC_NORSRAMInit函数原型:voidFSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef*FSMC_NORSRAMInitStruct);函数功能:对NOR存储器的时序进行初始化。参数:为指针类型,指向一段数据结构,这个数据结构就保存着对时序进行配置的各个参数。知识导航FSMC_NORSRAMInitTypeDef结构体typedefstruct

{

uint32_tFSMC_Bank;

uint32_tFSMC_DataAddressMux;

uint32_tFSMC_MemoryType;

uint32_tFSMC_MemoryDataWidth;

uint32_tFSMC_BurstAccessMode;

uint32_tFSMC_AsynchronousWait;

uint32_tFSMC_WaitSignalPolarity;

uint32_tFSMC_WrapMode;

}FSMC_NORSRAMInitTypeDef;知识导航FSMC_NORSRAMInitTypeDef结构体typedefstruct

{

uint32_tFSMC_WaitSignalActive;

uint32_tFSMC_WriteOperation;

uint32_tFSMC_WaitSignal;

uint32_tFSMC_ExtendedMode;

uint32_tFSMC_WriteBurst;

FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;

FSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTimingStruct;

}FSMC_NORSRAMInitTypeDef;知识导航从这个结构体可以看出,前面有13个基本类型(unit32_t)的成员变量,这13个参数是用来配置片选控制寄存器FSMC_BCRx。后面有两个SMC_NORSRAMTimingInitTypeDef指针类型的成员变量,用来设置读时序和写时序的参数。也就是说,这两个参数是用来配置寄存器FSMC_BTRx和FSMC_BWTRx。知识导航参数FSMC_Bank用来设置使用到的存储块标号和区号。我们是使用的存储块1区号4,所以选择值为FSMC_Bank1_NORSRAM4。参数FSMC_MemoryType用来设置存储器类型。我们是将LCD当作一个SRAM来用,所以选择值为FSMC_MemoryType_SRAM。知识导航参数FSMC_MemoryDataWidth用来设置数据宽度,可选8位还是16位,这里我们是16位数据宽度,所以选择值为FSMC_MemoryDataWidth_16b。参数FSMC_WriteOperation用来设置写使能,我们要向TFT写数据,因此必须要写使能,所以选择值为FSMC_WriteOperation_Enable。知识导航参数FSMC_ExtendedMode

用来设置扩展模式使能位,即是否允许读写不同的时序,我们采取不同的读写时序,所以设置值为FSMC_ExtendedMode_Enable。知识导航参数FSMC_ReadWriteTimingStruct和FSMC_WriteTimingStruct用来设置读写时序参数。都是FSMC_NORSRAMTimingInitTypeDef结构体指针类型这两个参数在初始化的时候分别用来初始化片选时序寄存器FSMC_BTRx和写操作时序控制寄存器FSMC_BWTRx。知识导航实例FSMC_NORSRAMInitTypeDefFSMC_NORSRAMInitStructure;FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM4;FSMC_NORSRAMInitStructure.FSMC_MemoryType=FSMC_MemoryType_SRAMFSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth=FSMC_MemoryDataWidth_16b;FSMC_NORSRAMInitStructure.FSMC_WriteOperation=FSMC_WriteOperation_Enable;FSMC_NORSRAMInitStructure.FSMC_ExtendedMode=FSMC_ExtendedMode_Enable;FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct=&readWriteTiming;FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct=&writeTiming;FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);知识导航FSMC_NORSRAMTimingInitTypeDef类型结构体typedefstruct{uint32_tFSMC_AddressSetupTime;uint32_tFSMC_AddressHoldTime;uint32_tFSMC_DataSetupTime;uint32_tFSMC_BusTurnAroundDuration;uint32_tFSMC_CLKDivision;uint32_tFSMC_DataLatency;uint32_tFSMC_AccessMode;}FSMC_NORSRAMTimingInitTypeDef;知识导航实例1—配置读时序FSMC_NORSRAMTimingInitTypeDefreadWriteTiming;readWriteTiming.FSMC_AddressSetupTime=0x01; readWriteTiming.FSMC_DataSetupTime=0x0f; readWriteTiming.FSMC_AccessMode=FSMC_AccessMode_A; 知识导航实例2—配置写时序FSMC_NORSRAMTimingInitTypeDefwriteTiming;writeTiming.FSMC_AddressSetupTime=0x01; writeTiming.FSMC_DataSetupTime=0x01;writeTiming.FSMC_AccessMode=FSMC_AccessMode_A;知识导航函数FSMC_NORSRAMCmd函数原型:voidFSMC_NORSRAMCmd(uint32_tFSMC_Bank,FunctionalStateNewState);函数功能:使能FSMC。参数1:要使能的存储块,以标号和区号来表示,即FSMC_Bank1_NORSRAM4。参数2:ENABLE或DISABLE。例如:FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4,ENABLE);任务实现LCD初始化步骤:开启GPIO、FSMC的时钟初始化GPIOGPIO_Init();初始化FSMCFSMC_NORSRAMInit();使能FSMCFSMC_NORSRAMCmd();实现主函数:设置颜色POINT_COLOR=RED;设置要显示的字符LCD_ShowString();知识导航函数LCD_ShowString函数原型:voidLCD_ShowString(u16x,u16y,u16width,u16height,u8size,u8*p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论