基于STM32的数码相框设计与实现本科论文.doc

上传人:peixunshi0 文档编号:56448 上传时间:2025-07-09 格式:DOC 页数:68 大小:2.68MB
下载 相关 举报
基于STM32的数码相框设计与实现本科论文.doc_第1页
第1页 / 共68页
基于STM32的数码相框设计与实现本科论文.doc_第2页
第2页 / 共68页
基于STM32的数码相框设计与实现本科论文.doc_第3页
第3页 / 共68页
基于STM32的数码相框设计与实现本科论文.doc_第4页
第4页 / 共68页
基于STM32的数码相框设计与实现本科论文.doc_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、北京邮电大学毕业设计基于STM32的数码相框设计与实现摘 要码相框的发展填土 嵌入式系统是当前最有发展前途的IT应用领域之一,近年来数字摄影业的兴起带动了嵌入式产品数码相框的发展。本设计是一款基于ARM Cortex-M3内核的STM32嵌入式硬件平台设计的数码相框,主要优势是应用了Stm32杰出的功耗控制和极低的开发成本、超多的外设等特点。 设计主要本设计是一款基于包括主控制器核心板、LCD液晶显示、SD卡存储器等多个功能模块。开发过程大致为:在PC机win7系统中使用RVMDK3.80版本的编译器撰写工程代码,之后通过mcuisp串口下载软件将编译器编译生成.hex下载到开发板内,最终实现

2、通过FAT文件系统读取SD卡内存储的BMP、JPEG、JPG格式图片,把多幅图片以幻灯片的形式从TFT屏上显示出来。实现了对SD卡里多幅图片以幻灯片形式在TFT屏上动态显示的效果。关键词:数码相框; STM 32; LCD液晶显示; SD卡The design of digital photo frames based on the STM32Abstract Embedded systems is one of the most promising applications of IT in recent years, driven by the rise of digital photog

3、raphy embedded products - digital photo frame development. The design is based on a STM32 ARM Cortex-M3 core embedded hardware platform design digital photo frame, both of todays digital photo frame industry, market demand and Stm32 excellent power control and low development costs. Core design incl

4、udes the main controller board, LCD liquid crystal display, a number of functional modules SD card memory. Development process is roughly: Use RVMDK3.80 version of the compiler writing project code in the PC win7 system, after passing through mcuisp serial download software compiler to generate hex

5、downloaded to the development board, and ultimately the system by reading the FAT file system. within the SD card storage BMP, JPEG, JPG format images, the pieces of the picture in the form of a slide from the TFT screen is displayed.Keywords: Digital Photo Frame; STM32;LCD liquid crystal display ;S

6、D card memory.2目 录摘要1ABSTRACT2目 录1第一章 绪论11.1 数码相框的技术背景11.2 数码相框的市场背景11.3 本课题主要研究内容与特点11.3.1本课题的主要研究内容11.3.2本设计的主要特点1第二章 硬件介绍32.1 MCU主控模块32.2 LCD模块42.3 SD存储卡模块7第三章 软件介绍103.1安装MDK3.8a103.2注册License103.3 新建工程123.4 mcuisp与sscom软件18第四章 程序设计204.1 整体描述204.2 各模块描述204.2.1 SD卡图片文件读取204.2.2 图像解码与显示214.3 主程序设计2

7、84.3 程序调试31第五章 结束语33参考文献(REFERENCES)34致 谢35外文文献36外文译文45第一章 绪论 引 言1.11 数码相框的技术背景嵌入式是以应用为中心,以计算机技术为基础,软件硬件可裁剪适合于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统无疑是当前最热门最有发展前途的作为如今最有发展前途的IT应用领域之一。嵌入式系统一般用在一些专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感、对成本很敏感,有时对实时响应要求很高。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视

8、电话、VCDDVD、MP3播放器、数码相机、数字摄像机、U-Disk、机顶盒、高清电视、游戏机、智能玩具、交换机、路由器、数控设备、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式产品。随着数字摄影的兴起不可避免地引起了数码相框产业得以的发展,因为仅有不到35%的数码照片被打印出来。数码相框的基本原理就是采用普通相框的造型是,将把原来相框中间放的照片的部分换成了液晶显示屏,外加配上电源,存储介质等,使得同一个相框内可以循环播放照片比普通相框的优势是在同一个相框内可以循环播放照片,比普通照片的单一显示功能更有优势。此外,本设计属于数字影音娱乐产品,需要较为强劲的处理器进行图像解

9、码的工作,而STM32 具有超低的价格、超多的外设、丰富的型号、优异的实时性能、杰出的功耗控制和极低的开发成本等特点。因此,进行基于STM32平台的数码相框系统的设计具有重要的理论意义和实用价值。1.2 数码相框的市场背景景相框的u yihaunjing 市场方面,自从2007年开始,数码相框的市场关注度开始激增。在2008年开始,数码相框市场就呈现出了高速发展的态势,并一直持续至今,因此本课题的研究具有极高的商业潜在市场价值与意义。1.2.1 数码相框的发展现状数码相框产品的首次出现是在是2001年开始出现的,但直至2003年市场都一直低迷,由于当时消费者的接受度及价格过高的因素其原因在于产

10、品的价格过高,使这一市场一直到2003年都很低迷。之后在随着主要器件价格的下降等因素的促使下,数码相框的价格也逐步下降其价格也得以下降,于是市场自在2004年开始有了起色,尤其在2005年,数码相框产品开始在欧美热销,但出货量也只有150万台左右, 到了2006年的出货量同比上涨133,为280万台,2007年的出货量同比上涨185,为800万台, 预计到2011年出货量将达到4000万台。从屏幕尺寸来看,2006年5-6.9英寸产品占主流,2007年7、8、9英寸产品成为最大市场。预计2011年,7、8、9英寸产品的供货比例将持续保持首位,而平均销售单价将以每年16.5左右的速度降低。200

11、6年以前,中国生产的数码相框绝大多数出口国外。2005年底Philips率先将数码相框在中国推广,在礼品市场上取得了一些成绩,但由于销售价格较高,约为2050元/台,这一年中国数码相框的销售量仅有1.7万台。2006年下半年,开始有更多的国内厂商在中国市场推出数码相框,因而也带动了此产品价格的下降,这一年的平均售价为1150元/台,仍然较高,市场也以商务礼品为主,但由于2005年销售量的基数较低,2006年的销售量同比增长了470.6,达到9.7万台。直到2007年下半年,业界才感到这个一直处于培育期的市场,开始了真正的起飞。这得益于对数码相框产品认知度的提高、价格的下滑和需求量的提高。从IT

12、厂商来看,仅2007年下半年以来,就有惠普、三星、优派、AOC、明基、柯达、长城等众多新军加入数码相框阵营。其中,巨头惠普2007年7月底在美国宣布进入数码相框市场,2007年数码相框出货量设定为50万台。除新军外,数码相框老牌劲旅的出货量表现也令业界振奋,如飞利浦2006年数码相框出货量达到50万台,而2007年上半年出货量已达去年总和,2007年全年出货量达150万台。而从上游面板厂商的动作来看,也显示出乐观的发展态势。中华映管、群创等厂商均显著调高了配套数码相框产品的中尺寸面板的出货量目标,2007年出货量达1000万台,预计2008年更将倍增至2000万台。其中,中华映管目前已调配一座

13、4.5代面板厂来支持生产中尺寸面板,主要生产可携式DVD播放机面板与数码相框面板,其数码相框面板以7英寸、8英寸、10.2英寸为主要尺寸,数码相框面板占其中尺寸面板的比重提高到40。1.2.2 数码相框的发展趋势从长远来看,2008年及今后几年将为处在数码相框产品供应链的各企业带来巨大的商机。未来几年,数码相框的市场将处在逐渐步入走向成熟期的阶段,其产销量和市场需求依然将仍会保持大幅度的增长,在未来的三年内,市场尚无萎缩的可能。从技术上来说,未来数码相框的发展将向两极分化。一部分产品着重强调基本功能和低成本,整合家庭中的闹钟、日历和装饰功能,这些产品走的是低成本路线,以展示照片为主,追求图像的

14、品质及幻灯片播放特效,已成为DC/DV的附属物;另一部分产品将会添加一些新的功能,如WiFi,还可即时报告天气、股票等信息,从而有望成为“桌面信息中心”。此外,触摸面板会成为一个应用的新亮点。从产品形态上来说,数码相框的市场将会有非常明确的细分。1 数码相框:这将是以数字照片的重显为主要功能的产品,其功能更接近于传统意义上的相框。由于人机界面的限制,为了更方便的重显和浏览以及确定重显的规则,这类产品并不强调有大容量的内存以及丰富的存储卡接口,这类产品的主要特征是:1) 支持USB Device&Host以便于更新和同步数据。2) 在某些情况下(如从PC端通过相框的USB Device同步数据)

15、允许修改数字照片的格式使得有最佳的重显效果。3) 仅依靠内置的半导体存储器存放需要重显的数字照片。4) 文件(照片)查询和播放规则设定非常简洁易用。5) 产品大致分为桌面和壁挂两种。2 数码相册:这是以数字照片的存储和浏览为主要功能的产品,由于需要满足跟PC相类似功能,所以这类产品的主要特征是:1) 有大容量的内置数据存储器。2) 支持USB Device&Host及各种存储卡接口,并支持内部存储器与各种数据存储器之间的同步以及相互拷贝。3) 强大的文件管理功能:浏览,搜寻,命名(重命名),复制,删除,备份等。4) 带或不带内建显示单元,有能支持其它高分辨率显示设备的接口(如色差,VGA甚至

16、是HDMI)。1.3 本课题设计主要研究内容与特点1.3.1本课题的主要研究内容本课题是基于ARM单片机STM32F103RBT6的存储程序控制,从SD卡读取图片,解码之后输出到TFT-LCD(薄膜晶体管液晶显示器)TFT-LCD上显示,同时通过按键可以切换到时间模式。实现了对SD卡里多幅图片以幻灯片形式在TFT屏上动态显示的效果。1)硬件资料的研究;2)软件方案的选择与论证;3)软件运行与调试;1.3.2本设计的主要特点从以往的市场发展来看,但数码相框产品市场化的两大阻碍因素为:一是价格;二是应用功能。低廉的价格将赢得更多顾客的青睐,拓展应用空间指的是而根据中国消费者的需求和特点,开发出相应

17、的应用产品。STM32 具有超低的价格、超多的外设、丰富的型号、优异的实时性能、杰出的功耗控制和极低的开发成本等超低的价格:以8位机的价格,得到32位机,是STM32最大的优势。极低的开发成本:STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试口。SWD调试可以为您的设计带来跟多的方便,只需要2个IO口,即可实现仿真调试。超多的外设:STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。丰富的型号:STM32拥有F101、F102、F103、F1

18、05、F107等5个系列数十种型号,具有QFN、LQFP、BGA等封装可供选择。优异的实时性能:84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。杰出的功耗控制:STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。第二章 硬件介绍2.1 嵌入式系统概况2.1.1 嵌入式系统的定义虽然嵌入式系统是近几年才风靡起来的,但其历史可追溯到20世纪70年代。经过30多年的发展,在硬件和软件交替发展的支撑下,嵌入式技术逐渐趋于稳定和成熟,已被广泛应用于工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境检测、机器人等各个领域。毫不夸张的说,

19、嵌入式系统已经无所不在,所以研究和开发嵌入式系统有着十分重要的意义。根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或辅助设备、机器和车间运行的装置”,这主要是从应用上加以定义的。不过,上述定义并不能充分体现出嵌入式系统的精髓。目前,国内一个普遍被认同的定义是:以应用为中心、以计算机为基础,软、硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。广义地讲,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。狭义上而言,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适于应用系统对功能、可靠性、成本、体积和功耗严

20、格要求的专用计算机系统。总的来说,嵌入式系统是一个外延极广的概念,凡是与产品结合在一起的、具有嵌入式系统特点的系统都可以称为嵌入式系统。可以从以下几个方面来理解嵌入式系统的含义:嵌入式系统是面向用户、面向产品、面向应用的,必须与具体应用相结合才会具有生命力。正因为与具体应用的紧密结合,嵌入式系统才具有很强的专用性。嵌入式系统将先进的半导体技术、计算机技术和电子技术,以及各个行业的具体应用相结合,是一个技术密集、资金密集、学科交叉和不断创新的知识集成系统。嵌入式系统必须根据应用需要对硬件和软件进行裁剪,以满足应用系统对功能、可靠性、成本、体积和功耗的要求。2.1.2 嵌入式系统的组成通常来说,嵌

21、入式系统可以划分成硬件和软件两部分。嵌入式硬件由嵌入式微处理器、片内周边电路和外部设备三部分组成。嵌入式微处理器是嵌入式硬件系统的核心,直接影响嵌入式产品的应用范围和开发复杂度。典型的嵌入式微处理器有Motorola公司的Power PC系列、Intel公司的Strong Arm系列、AMD公司的X86系列以及EPSON公司的SIC33系列等。嵌入式软件一般由连接硬件和应用程序的嵌入式实时操作系统(Real-time operating System,简称RTOS)和在其上运行的应用软件构成。嵌入式处理器嵌入式处理器是嵌入式系统的核心部件,是控制、辅助系统运行的硬件单元,其功能和性能影响着整个

22、系统的功能、性能和设计。嵌入式处理器的选择也制约着其配套的外围器件及操作系统的选择。嵌入式处理器的种类繁多、数量庞大。目前世界上嵌入式处理器的种类数量已经超过1000种,流行的体系结构有30多个系列。嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点,因此得到了广泛应用。目前这样的嵌入式处理器类型有ARM、MIPS、MC6800、386EX、PowerPC等系列,其中以ARM的应用最为广泛。嵌入式处理器可以分为四类,即嵌入式微处理器(Embedded Microprocessor Unit,EMPU),如ARM嵌入式微控制器(Microcontroller Unit,MCU)嵌入式DSP

23、处理器(Embedded Digital Signal Processor,EDSP)嵌入式片上系统(System On Chip)嵌入式外围设备这里所说的嵌入式外围设备,指在一个嵌入式硬件系统中,除了中心控制部件(MCU,DSP,EMPU,SOC)以外的完成存储、通信、保护、调试、显示等辅助功能的其他部件。根据外围设备的功能可分为以下三类,即:存储器类型:静态易失型存储器(RAM,SRAM)、动态存储器(DRAM)、非易失型存储器(ROM,EPROM,EEPROM,FLASH)。其中,因为FLASH可以擦写多次,存储速度快,容量大,价格便宜在嵌入式领域应用广泛。接口类型:目前存在的所有接口在

24、嵌入式领域都应用广泛,如RS-232(串口)、IRDA(红外线接口)、SPI(串行外围设备接口)、I2C(现场总线接口)、USB(通用串行接口)、Ethernet(以太接口)和普通并口。显示类型:CRT,LCD和触摸屏等外围设备。2.1.3 嵌入式系统的特点嵌入式系统具有以下几个重要特征:系统内核小,由于嵌入式系统一般应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如,ENEA公司的OSE分布式系统,内核只有5KB,而Windows的内核则要大得多。专用性强,嵌入式系统的个性化很强,其中的软件系统和硬件结合非常紧密,一般要针对硬件进行系统的移植,同时针对不同的任务,

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

26、系统本身不具备自主开发能力,即使完成设计后,用户通常也不能对其中的程序功能进行修改,因此必须有一套基于通用计算机的开发工具和环境才能进行开发。2.2 数码相框模块2.2.1 MCU主控模块STM32系列闪存微控制器是意法半导体公司(ST)基于ARM公司具有突破性的Cortex-M3内核的处理器,该处理器是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。此次设计采用的具体型号是STM32F103RBT6,如图2-1所示。图2-1 STM32F103RBT6处理器STM32F103RBT6嵌入式处理器具有以下特点:32位RISC性能处理器;32位ARM Corte

27、x-M3结构优化;72 MHZ运行频率,单周期访问时速度可达1.25 DMIPS/MHz;硬件除法和单周期乘法;快速可嵌套中断,612个时钟周期;具有MPU保护设定访问规则;片内具有256KB FLASH,48KB RAM;80个快速I/O端口,16个I/O可映射到外部中断,几乎所有的I/O可以忍受5V电压;片上集成12Bit A/D、D/A、PWM、CAN、USB、SDIO、FSMC等资源;ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为复杂,但是处

28、理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。除了使用哈佛结构,Cortex-M3还具有其它显著的优点:具有更小的基础内核,价格更低,速度更快。与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。Cortex-M3还集成了睡眠模式和可选的完整的八区域存储器保护单元,只支持最新的Thumb-2指令集,最大限度降低了汇编器使用率。Cortex-M3这样设计的优势在于:免去Thumb和ARM代码的互相切换,对于早期的处理器来说,这种状态切换会降低性能。Thumb-2指令集的设计是专门面向C语言的,且包括

29、If/Then结构(预测接下来的四条语句的条件执行)、硬件除法以及本地位域操作。Thumb-2指令集允许用户在C代码层面维护和修改应用程序,C代码部分非常易于重用。Thumb-2指令集也包含了调用汇编代码的功能:Luminary公司认为没有必要使用任何汇编语言。综合以上这些优势,新产品的开发将更易于实现,上市时间也大为缩短。STM32F103RBT6的资源完全满足此次的嵌入式数码相框设计,通过设计电路开发一个支持TFT彩色液晶屏的驱动电路,在设计中搭配2.8寸TFT真彩触摸屏模块作为显示界面,同时支持一个SD卡(SPI方式)可用于存储图片、数据等。2.2.2 LCD模块Thin Film Tr

30、ansistor(薄膜场效应晶体管),是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度、高亮度、高对比度显示屏幕信息,TFT-LCD(薄膜晶体管液晶显示器)是多数液晶显示器的一种。TFT屏幕的优点如下:大面积。九十年代初第一代大面积玻璃基板(300mm400mm)TFT-LCD生产线投产,到2000年上半年玻璃基板的面积已经扩大到了680mm880mm),最近950mm1200mm的玻璃基板也将投入运行。高集成度。用于液晶投影的1.3英寸TFT芯片的分辨率为XGA含有百万个象素。分辨率为SXGA(12801024)的16.1英寸的TFT阵列非晶体硅的膜厚只

31、有50nm,以及TAB ON GLASS和SYSTEM ON GLASS技术,其IC的集成度,对设备和供应技术的要求,技术难度都超过传统的LSI。功能强大。TFT最早作为矩阵选址电路改善了液晶的光阀特性。对于高分辨率显示器,通过0-6V范围的电压调节(其典型值0.2到4V),实现了对象元的精确控制,从而使LCD实现高质量的高分辨率显示成为可能。TFT-LCD是人类历史上第一种在显示质量上超过CRT的平板显示器。现在人们开始把驱动IC集成到玻璃基板上,整个TFT的功能将更强大,这是传统的大规模半导体集成电路所无法比拟的。低成本。玻璃基板和塑料基板从根本上解决了大规模半导体集成电路的成本问题,为大

32、规模半导体集成电路的应用开拓了广阔的应用空间。工艺灵活。除了采用溅射、CVD(化学气相沉积)MCVD(分子化学气相沉积)等传统工艺成膜以外,激光退火技术也开始应用,既可以制作非晶膜、多晶膜,也可以制造单晶膜。不仅可以制作硅膜,也可以制作其他的-族和-族半导体薄膜。应用领域广泛。以TFT技术为基础的液晶平板显示器是信息社会的支柱产业,技术可应用到正在迅速成长中的薄膜晶体管有机电致发光(TFT-OLED)平板显示器也在迅速的成长中。TFT液晶显示屏亮度好、对比度高、层次感强、颜色鲜艳,其广泛应用于手机、MP4等消费品。因此,本系统选用2.8英寸TFT-LCD屏(如图2-2所示)可显26万色,分辨率

33、320*240,控制器为ILI9320,采用16位的80并口,配合触摸屏专用芯片XPT2046,可对屏幕进行触摸操作,更显智能化和个性化。为了方便用户使用,我们存储方式采用兼容FAT的文件系统,同时该文件系统也兼容FAT32等电脑主流的文件系统方式进行存储。图2-2 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 的复位

34、脚上,并不由软件控制,这样可以省下来一个I/O口。另外我们还需要一个背光控制线来控制TFT-LCD的背光。所以我们总共需要的I/O口数目为21个。模块的控制器为ILI9320(可能为其他型号,但是他们的设置很相似,除了初始化序列有些区别,其他大都是一摸一样的,这里仅以9320为例介绍),该控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。模块的16位数据线与显寸的对应关系为565方式,如下图所示:图2-3 16位数据与显存对应关系图最低5位代表蓝色,中间6位为绿色,最高5 位为红色。数值越大,表示该颜色越深。接下来介绍一下ILI9320

35、的几个重要命令,因为ILI9320的命令很多,这里不一一介绍。这里我们要介绍的命令列表如下:表2.1 ILI9320 常用命令表R0,这个命令,有两个功能,如果对它写,则最低位为OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。这个命令最大的功能就是通过读它可以得到控器的型号,而我们代码在知道了控制器的型号之后,可以针对不同型号的控制器,进行不同的初始化。因为93xx 系列的初始化,其实都比较类似,我们完全可以用一个代码兼容好几个控制器。R3,入口模式命令。我们重点关注的是I/D0、I/D1、AM 这3 个位,因为这3 个位控制了屏幕的显示方向。AM:控制GRAM更新方向

36、当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。I/D1:0:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1,其关系如下图:图2-4 GRAM 显示方向设置图通过这几个位的设置,我们就可以控制屏幕的显示方向了。R7,显示控制命令。该命令CL位用来控制是8位彩色,还是26万色。为0时26万色,为1时八位色。D1、D0、BASEE这三个位用来控制显示开关与否的。当全部设置为1的时候开启显示,全0是关闭。我们一般通过该命令的设置来开启或关闭显示器,以降低功耗。R32,R33,设置GRAM的行地址和列地址。R32用于设置列地址(X 坐标,0239),

37、R33用于设置行地址(Y坐标,0319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到改点,然后写入颜色值就可以了。R34,写数据到GRAM命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数。R80R83,行列GRAM 地址位置设置。这几个命令用于设定显示区域的大小,我们整个屏的大小为240*320,但是有时候我们只需要在其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就可以通过这几个命令,在其中开辟一

38、个区域,然后不停的丢数据,地址计数器就会根据R3的设置自动增加/减少,这样就不需要频繁的写地址了,大大提高了刷新的速度。通过以上介绍,我们可以得出TFT-LCD显示需要的相关设置步骤如下:1)设置STM32与TFT-LCD模块相连接的I/O。这一步,先将我们与TFT-LCD模块相连的I/O口设置为输出,具体使用哪些I/O口,这里需要根据连接电路以及TFT-LCD模块的设置来确定。2)初始化TFT-LCD模块。通过向TFT-LCD写入一系列的设置,来启动TFT-LCD的显示。为后续显示字符和数字做准备。3)通过函数将字符和数字显示到TFT-LCD模块上。这里就是通过我们设计的程序,将要显示的字符

39、送到TFT-LCD模块就可以了,这些函数将在软件设计部分向大家介绍。通过以上三步,我们就可以使用TFT-LCD模块来显示字符和数字了,并且可以显示各种颜色的背景。2.3 SD存储卡模块SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地应用于便携式装置上,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。大小犹如一张邮票的SD记忆卡,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性,此外它可存多种

40、格式数据文件,具有很强的可扩展性;用户可方便使用SD卡读卡器对其进行用户信息修改。2G金士顿SD卡实物如下图2-5所示。SD卡一般支持两种操作模式:SD卡模式与SPI模式。主机可以选择以上任意一种模式同SD卡通信,SD卡模式允许4线的高速数据传输。SPI模式允许简单的通过SPI接口来和SD卡通信,这种模式同SD卡模式相比就是丧失了速度。SD卡的引脚排序如下图2-6所示: 图2-5 Kingston SD卡 图2-6 SD卡引脚排序图SD 卡引脚功能描述如下表所示:表2.2 SD卡引脚功能表SD卡只能使用3.3V的I/O电平,所以,MCU一定要能够支持3.3V的I/O端口输出。在SPI 模式下,

41、CS/MOSI/MISO/CLK都需要加10100K左右的上拉电阻。SD卡要进入SPI模式很简单,就是在SD卡收到复位命令(CMD0)时,CS为有效电平(低电平)则SPI模式被启用。不过在发送CMD0之前,要发送74个时钟,这是因为SD卡内部有个供电电压上升时间,大概为64个CLK,剩下的10个CLK用于SD卡同步,之后才能开始CMD0的操作,在卡初始化的时候,CLK时钟最大不能超过400KHZ。本次硬件电路板使用的是SPI模式来读写SD卡,下面我们就重点介绍一下SD卡在SPI模式下的相关操作。SPI模式下几个重要的操作命令,如下表所示:表2.3 SPI模式下SD卡部分操作指令其中 R1 的回

42、应格式如下表所示:表2.4 SD卡R1回应格式SD卡的典型初始化过程如下:1) 初始化与SD卡连接的硬件条件(MCU的SPI配置,I/O口配置);2) 上电延时(74个CLK);3) 复位卡(CMD0);4) 激活卡,内部初始化并获取卡类型(CMD1(用于MMC卡)、CMD55、CMD41);5) 查询OCR,获取供电状况(CMD58);6) 是否使用CRC(CMD59);7) 设置读写块数据长度(CMD16);8) 读取CSD,获取存储卡的其他信息(CMD9);9) 发送8CLK后,禁止片选;这样我们就完成了对SD卡的初始化,这里面我们一般设置读写块数据长度为512个字节,并禁止使用CRC。

43、在完成了初始化之后,就可以开始读写数据了。SD 卡读取数据,这里通过CMD17来实现,具体过程如下:1) 发送CMD17;2) 接收卡响应R1;3) 接收数据起始令牌0XFE;4) 接收数据;5) 接收2 个字节的CRC,如果没有开启CRC,这两个字节在读取后可以丢掉;6) 8CLK 之后禁止片选;以上就是一个典型的读取SD卡数据过程,SD卡的写与读数据差不多,写数据通过CMD24 来实现,具体过程如下:1) 发送CMD24;2) 接收卡响应R1;3) 发送写数据起始令牌0XFE;4) 发送数据;5) 发送2字节的伪CRC;6) 8CLK之后禁止片选;第三章 软件介绍3.1安装MDK3.8a

44、Keil):找到MDK的安装文件并点击安装,点击之后出现界面,选择Next:选择”I AgreeLicence agreement”同意协议,选择安装目录,这里选择安装的目录后,点击Next即可,随便输入邮箱之类的信息即可,点击Next开始安装,按图配置,然后点击Finish,左面会出现keil快捷图标。图3-1 完成安装3.2注册License 在MDK针对每台机会有一个CID,copy这个CID到注册机处生成License Key,然后再将这个License Key添加到MDK里面去注册。 右键点击左面的MDK快捷方式,选择“以管理员身份运行”,因为注册license需要管理员权限。然后

45、会打开MDK,然后默认会有一个名字叫“LPC2129 simulator”的Project,暂时我们可以不用理会。 点击:File-License Management,弹出一个License Management 界面,copy界面中的(CID):图3-2 CID打开光盘下面的注册机,目录为:ALIENTEK 开发板资料软件MDK3.80A注册下的注册机。 出现注册界面,黏贴刚才粘贴刚才copy的cid到CID一栏,然后Target选择ARM图3-3 注册机选择好之后点击“Generate”,下面的空白栏会生成一个License Key,类似:D0DY8-30KAK-0N8AM-X9Z14-

46、A2NWP-J3LZZ ,copy这个license.将这个License Key 黏贴到粘贴到Keil的License Management界面的New License Id Code 一栏,然后点击“Add LIC”,添加成功后会出现成功提示。然后点击Close关闭这个界面即可。图3-4 粘贴License Key3.3 新建工程 回到MDK主界面,可以看到工程中有一个默认的工程,点击这个工程名字,然后选择菜单 Project-Close Project,就关闭掉这个工程了,!这样整个MDK就是一个空的了,接下来我们将建立我们的工程模版。 在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为: STM32-Projects. 点击Keil的菜单:Project New Uvision Project ,然后将目录定位到刚才建立的文件夹STM32-Projecst之下,在这个目录下面建立子文件夹Tempalt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 大学论文

宁ICP备18001539号-1