嵌入式 电子相册_第1页
嵌入式 电子相册_第2页
嵌入式 电子相册_第3页
嵌入式 电子相册_第4页
嵌入式 电子相册_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、1956GUILINUNIVERSITYOFTECHNOLOGY信息科学与工程学院基于STM32的电子相册系统设计专业班级:通信工程12-2班姓名:覃模广号: 本设计是一款基于STM32F103的电子相框系统读取SD卡中的图像文件通过LCD屏幕将其显示。系统主要由SD驱动、LCD驱动和功能控制模块组成。SD驱动主要由SD接口驱动程序、FAT文件操作程序组成丄CD驱动主要由LCD屏驱动芯片的驱动程序和图片显示程序组成;功能控制模块包括了系统初始化,显示初始页面,显示方式的设置,驱动程序调用等功能,功能控制模块是系统的主模块。在介绍了文件系统与图像操作的基础上逐步说明了整个系统的实现。文件系统支持

2、FAT16/32,图像系统支持BMP等多种文件格式。整个系统的设计以模块化为基础,易于升级。关键词:STM32F103电子相框系统SD卡LCD屏幕FAT文件系统嵌入式系统的特点简介嵌入式系统具有以下几个重要特征:系统内核小,由于嵌入式系统一般应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如,ENEA公司的OSE分布式系统,内核只有5KB,而Windows的内核则要大得多。专用性强,嵌入式系统的个性化很强,其中的软件系统和硬件结合非常紧密,一般要针对硬件进行系统的移植,同时针对不同的任务,往往需要对系统进行较大的更改。另外,程序的编译下载要和系统相结合。嵌入式系统一

3、般没有系统软件和应用软件的明显区分,不要求其功能的设计及实现过于复杂,这样既利于控制系统成本,也利于实现系统安全。高实时性的操作系统软件是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性。嵌入式软件开发要想走向标准化,就必须使用多任务操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行,但为了更合理的调度多任务,利用系统资源、系统函数,用户必须自行选配RTOS开发平台。执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使完成设计后,用户通常也不能对其中的程序功能进行

4、修改,因此必须有一套基于通用计算机的开发工具和环境才能进行开发。任务分析一确定方案一重难点一软件设计一硬件设计调试一*任务分析*基于STM32设计一个电子相册系统,系统通电后能够正常进行图片的演示并且可以通过按键控制上下张照片显示。二*确定方案*基于ARM单片机STM32F103RBT6的存储程序控制,从SD卡读取图片,解码后输出到TFT-LCD上显示,同时通过按键可以控制上下张显示。1)硬件电路原理图的绘制;2)硬件资料的研究;3)软件方案的选择与论证;4)软件运行与调试;三*重难点*FAT文件系统、TFT-LCD显示方法以、ARM单片机STM32F103RBT6开发版的应用和SD存储卡模块

5、的正确使用。通过查相关的资料得:3.1SD存储卡模块SD卡(SecureDigitalMemoryCard)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地应用于便携式装置上,例如数码相机、个人数码助理(PDA)和多媒体东播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。大小犹如一张邮票的SD记忆卡,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性,此外它可存多种格式数据文件,具有很强的可扩展性;用户可方便使用SD卡读卡器对其进行用户信息修改。2G金士顿SD卡实物如下图2-5所示。SD卡一般支持两

6、种操作模式:SD卡模式与SPI模式。主机可以选择以上任意一种模式同SD卡通信,SD卡模式允许4线的高速数据传输。SPI模式允许简单的通过SPI接口来和SD卡通信,这种模式同SD卡模式相SD卡要进入SPI模式很简单,就是在SD卡收到复位命令(CMDO)时,CS为有效电平(低电平)贝OSPI模式被启用。不过在发送CMD0之前,要发送74个时钟,这是因为SD卡内部有个供电电压上升时间,大概为64个CLK,剩下的10个CLK用于SD卡同步,之后才能开始CMD0的操作,在卡初始化的时候,CLK时钟最大不能超过400KHZ。比就是丧失了速度。SD卡的引脚排序如下图2-6所示图2-5KingstonSD卡脚

7、排序图图2-6SD卡引3.2LCD模块ThinFilmTransistor(薄膜场效应晶体管),是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度、高亮度、高对比度显示屏幕信息,TFT-LCD(薄东南大膜晶体管液晶显示器)是多数液晶显示器的一种TFT屏幕的优点如下:1).大面积2).高集成度3).功能强大4).低成本5).工艺灵活6).应用领域广泛TFT液晶显示屏亮度好、对比度高、层次感强、颜色鲜艳,其广泛应用于手机、MP4等消费品。因此,本系统选用2.8英寸TFT-LCD屏(如图2-2所示)可显26万色,分辨率320*240,控制器为ILI9320,采用1

8、6位的80并口,配合触摸屏专用芯片XPT2046,可对屏幕进行触摸操作,更显智能化和个性化。为了方便用户使用,我们存储方式采用兼容FAT的文件系统,同时该文件系统也兼容FAT32等电脑主流的文件系统方式进行存储。2.8英寸TFT-LCD模块该模块的80并口有如下一些信号线:CS:TFT-LCD片选信号。WR:向TFT-LCD写入数据。RD:从TFT-LCD读取数据。D15:0:16位双向数据线。RST:硬复位TFT-LCD。RS:命令/数据标志(0,读写命令;1,读写数据)。TFT-LCD模块的RST信号线是直接接到STM32的复位脚上,并不由软件控制,这样可以省下来一个I/O口。另外我们还需

9、要一个背光控制线来控制TFT-LCD的背光。所以我们总共需要的I/O口数目为21个。该控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。模块的16位数据线与显寸的对应关系为565方式,如下图所示1stTransferT1ICB1DBIDH|1716116U1211101T614|2116位数据与显存对应关系图最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。接下来介绍一下ILI9320的几个重要命令,因为ILI9320的命令很多,这里不一一介绍。通过以上介绍,我们可以得出TFT-LCD显示需要的相关设置步骤如下

10、:1)设置STM32与TFT-LCD模块相连接的I/O。这一步,先将我们与TFT-LCD模块相连的I/O口设置为输出,具体使用哪些I/O口,这里需要根据连接电路以及TFT-LCD模块的设置来确定。2)初始化TFT-LCD模块。通过向TFT-LCD写入一系列的设置,来启动TFT-LCD的显示。为后续显示字符和数字做准备。3)通过函数将字符和数字显示到TFT-LCD模块上。这里就是通过我们设计的程序,将要显示的字符送到TFT-LCD模块就可以了,这些函数将在软件设计部分向大家介绍。通过以上三步,我们就可以使用TFT-LCD模块来显示字符和数字了,并且可以显示各种颜色的背景。3.3液晶显示部分电路设

11、计液晶显示部分主要由微控制器STM32F103RBT6驱动AM240320LSTNQW-00H完成人机界面状态的显示,通过发送命令字,完成液晶模块的初始化,完成对内容的显示,显示部分的硬件电路接口图如图2所示Cl丄F.C516,17J?SP1SCIjlspjTFjTSP!蓝Upm皿upPAI啦PA3P44PJb啲P辭vonOOnfTT心丄下0讨DOiiF丄鲁GND44石”一I,J?PA8PA9PAIDPAHPMJ删FBIFB打BOOT】PB3/JTIXPM/JtmsiPB5PEtPB7PREPUSPBIOFimN12FBI3PEMFBH3600TTjI701时15705i5E06时15075l

12、21)index-=2;elseindex=pic_cnt-1;break;Delay(1);time+;if(time%100=0)LED1=!LED1;if(time3000)time=0;break;index+;if(indexpic_cnt)index=l;/显示第一副,循环/*函数名称:GPIO_Configuration*功能描述:配置IO口*作者:Dream*日期:2010年12月17日*/voidGPIO_Configuration(void)GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2P

13、eriph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_USART1,ENABLE);/使能端口时钟,重要/*配置LED1、LED2引脚的功能*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;/通用推挽输出模式GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;/输出最大频率为50MHzGPIO_Init(GPIOA,&GPI0_InitStrueture);/初始化P

14、A2、PA3/*配置KEY1、KEY2弓I脚的功能*/GPIO_InitStrueture.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;/上拉输入模/初始化PA0、GPIO_InitStrueture.GPIO_Mode=GPIO_Mode_IPU;式GPIO_Init(GPIOA,&GPIO_InitStrueture);PA1/*配置USART1Tx(PA9)*/GPIO_InitStrueture.GPIO_Pin=GPIO_Pin_9;GPIO_InitStrueture.GPIO_Mode=GPIO_Mode_AF_PP;/复用开漏输出模式GPIO_InitStru

15、eture.GPIO_Speed=GPIO_Speed_50MHz;/输出最大频率为50MHzGPIO_Init(GPIOA,&GPIO_InitStrueture);/*配置USART1Rx(PA10)*/GPIO_InitStrueture.GPIO_Pin=GPIO_Pin_10;GPIO_InitStrueture.GPIO_Mode=GPIO_Mode_IN_FLOATING;/浮空输入模式GPIO_Init(GPIOA,&GPIO_InitStrueture);/PBO映射到通道8作为模拟输入引脚,ADC转换GPIO_InitStructure.GPIO_Pin=GPIO_Pin_

16、0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;GPIO_Init(GPIOB,&GPIO_InitStructure);/*函数名称:KEY_Scan*功能描述:按键处理函数0,没有任何按键按下1,KEY1按下2,KEY2按下*作者:Dream*日期:2010年12月17日*/uint8_tKEY_Scan(void)staticuint8_tKEY_UP=1;/按键按松开标志if(KEY_UP&(KEY1=0|KEY2=0)Delay(10);/去抖动KEY_UP=0;if(KEY1=0)return1;elseif(KEY2=0)return2;

17、elseif(KEY1=1&KEY2=1)KEY_UP=1;return0;/无按键按下/*函数名称:Delay*功能描述:用Systick延时*作者:Dream*日期:2010年12月17日*/voidDelay(_IOuint32_tnTime)TimingDelay=nTime;while(TimingDelay!=0);/*函数名称:TimingDelay_Decrement*功能描述:Systick中断进入函数*作者:Dream*日期:2010年12月17日*/voidTimingDelay_Decrement(void)if(TimingDelay!=0 x00)TimingDel

18、ay-;/*函数名称:NVIC_Configuration*功能描述:系统中断管理*/voidNVIC_Configuration(void)#ifdefVECT_TAB_RAM/*SettheVectorTablebaselocationat0 x20000000*/NVIC_SetVectorTable(NVIC_VectTab_RAM,0 x0);#else/*VECT_TAB_FLASH*/*SettheVectorTablebaselocationat0 x08000000*/NVIC_SetVectorTable(NVIC_VectTab_FLASH,0 x0);#endif#if

19、defUSE_FULL_ASSERTvoidassert_failed(uint8_t*file,uint32_tline)/*Usercanaddhisownimplementationtoreportthefilenameandlinenumber,ex:printf(Wrongparametersvalue:file%sonline%drn,file,line)*/*Infiniteloop*/while(1)#endif4.3程序工程如右图所示:编译没有问题后用Jlink下载。打开JFlashARM软件,选定对应的芯片,步凑如下图曰-第囹片显示血验肝仁ICMSIS曰.?!Wain園rmsin.cstm32fl-0ix_il.r:LJs-tm32flOx-Ccrnf-h卜-區common-h=厨USART.C囲hzie.c厨bmp.c由厂|P/I45FE16申厂1SD_Driver3-4FAT由应阀TEXT由厂|Picture由口SysFile由TM32FlOx_StdPeriph_i由

温馨提示

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

评论

0/150

提交评论