《毕业设计(论文)基于单片机的电子相册设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的电子相册设计.doc(33页珍藏版)》请在三一办公上搜索。
1、摘 要随着科技的不断发展,人民对物质生活、精神生活要求的不断提高,很多最新的服务于人民大众生活的种种科技产品都随之出现,电子相册也随之诞生。电子相册是用相关硬件经过加工、焊接而成的区别于软件类型的电子相册,它一般由三部分组成:TFT液晶面板,主控芯片,外部相框按钮。硬件电子相册有着很多传统纸质相册无法比拟的优点:高分辨率,易保存、色彩鲜艳。它摆脱了传统电子随着时间流逝,照片色彩褪色、无法辨认的缺点。生动、形象、保存时间长,电子相册可以设置各种切换模式,从而使照片看起来更具有动感,更能给人美的享受。高级电子相册还可以单独为每张照片配置独立的背景音乐,独立的现实各种特效,同时电子相册的保存时间也远
2、远大于纸质的相册,便于再生,不用担心丢失。由于电子相册是通过读取相应格式的图片显示在液晶面板上来实现的,从而图片源可以很方便的在电脑上复制备份,克服了传统纸质照片的不可再生性。本次毕业设计是基于的单片机电子相册。本文将从电子相册概述,功能简介,硬件电路实现,软件程序实现等方面来综合论述电子相册。本次设计存储器采用通用的SD卡存储设备来存储相应图片。为了适应SD存储设备的FAT存储扇区特点,此次设计采用的SST89E516RD芯片,该芯片有1K的RAM,符合SD每个扇区的需要。关键词: 单片机 SST89E516RD 电子相册 SD卡 Abstract With the continuous d
3、evelopment of science and technology, the peoples life and the spirit of material life requires unceasing enhancement. A lot of the latest products that serve the people of the public life of all technology products appear and the electronic albums also comes. Electronic album is processed with rela
4、ted hardware and it is different with the software type of electronic albums. It generally consists of three parts: TFT LCD panel ,control chip and external frame button. Hardware electronic albums have many advantages that the traditional paper albums dont have: high resolution, easy to save, brigh
5、t colors. It breaks away from the shortcomings of the traditional electronic albums for example color fading as the time goes by ,hard to identify. It also can set up various switching mode to make the photographs more dynamic and to give us more beauty. Without that , the electronic albums can pres
6、erve for a longer time than the paper albums . Aavanced electronic albums can set the different background music for each photo. Because electionic albums show the photos in the LCD panel by reading the format images ,thus saving the photo is easy and overcome the shortcomings of the traditional alb
7、ums.The graduation design I will realize is the hardware electronic albums. With the so many advantages that the traditional dont have, the electronic albums are instead of the traditional ones step by step. This paper will synthesis elaborates the graduate design in five aspects: the overview of el
8、ectronic albums ,functions, hardware circuit implementation introduction,software program realization, finished thing debugging. This graduation design use the general storage devices-SD card to store the corresponding picture. In order to adapt to the SD storage devices, I choice the SST89E516RD ch
9、ip because it has 1K RAM to meet the needs of the SD card.Keywords:SST89E516RD ;MCU ; Electronic Album;SD Card目 录摘 要IAbstractII目 录1引 言3第1章 电子相册的概述41.1 电子相册的背景资料41.1.1电子相册的市场前景41.1.2 电子相册的发展历程41.2 基于单片机的电子相册的实现功能概况61.3 基于单片机的电子相册的设计思路61.3.1 电子相册的工作原理61.3.2 设计方案的可行性论证6第2章 SST89E516RD单片机概述82.1 SST89E51
10、6RD单片机简介82.2 SST89E516RD引脚介绍82.3 SST89E516RD单片机的内部寄存器112.4 SST89E516RD单片机芯片的原理框图与各功能模块图13第3章 基于单片机的电子相册的硬件设计153.1 硬件电路总体设计153.2 电子相册各模块的电路设计153.2.1 电压转换电路设计153.2.2 晶体振荡电路设计163.2.3 SD卡电路设计163.2.4 液晶电路设计18第4章 基于单片机的电子相册的软件设计194.1 软件流程图194.2 读写SD卡子程序设计194.3 液晶控制子程序设计204.4 FAT32结构分析子程序设计204.5 文件处理子程序设计2
11、14.6 主程序设计22第5章 基于单片机的电子相册的系统测试235.1 电子相册的硬件调试方法235.2 电子相册的软件调试方法23总 结24参考文献25附:基于单片机的电子相册程序26引 言电子相册是指能够不借助于电脑在LCD面板上面显示数码照片,还能够将照片显示到电视上的高科技电子产品,随着科技的不断发展,越来越多的功能集成在电子相册中,除了播放图片外,还可以播放MP3,可以边播放图片边听MP3,它又有一个名称电子相框,简易数码相框只能显示JPEG格式的图片,高端的数码相框则可以播放音乐,同时还可以通过因特网从RSS、照片共享网站甚至电子邮件下载图片,同时大部分数码相框可以像幻灯片一样可
12、调整的时间间隔显示图片。电子相册是传统纸质相册的最大的竞争对手,它有着很多传统电子相册无法比拟的优点:1.高分辨率,易保存、色彩鲜艳。它摆脱了传统电子随着时间流逝,照片色彩褪色、无法辨认的缺点。2.生动、形象、保存时间长。电子相册可以设置各种切换模式,从而使照片看起来更具有动感,更能给人美的享受。高级电子相册还可以单独为每张照片配置独立的背景音乐,独立的实现各种特效,同时电子相册的保存时间也远远大于纸质的相册。3.便于再生,不用担心丢失。由于电子相册是通过读取相应格式的图片显示在液晶面板上来实现的,从而图片源可以很方便的在电脑上复制备份,克服了传统纸质照片的不可再生性。4.更加的保护环境,顺应
13、时代的要求。电子相册避免了使用纸质来存取照片,而是通过相册的转换以数字信息的方式显示,从而节约了木材资源。电子相册作为一个新兴的电子产品,以其卓越的性能、良好的便携性以及不断发展的新技术,必将占据将来相册行业的半壁江山。因此研究电子相册具有广阔的前景和意义. 第1章 电子相册的概述本章主要介绍了51单片机电子相册的市场前景和发展现状以及本设计的可行性,然后侧重介绍了此设计的硬件设计和软件设计的思路。1.1 电子相册的背景资料1.1.1电子相册的市场前景电子相册是近期随着科技的不断发展、人们日常生活所需而随之产生的新兴的的电子产品,目前电子相册在国外已属于常见的日常生活所必需的电子产品,在国外家
14、庭已相当普及,技术也日趋成熟。但是在国内,居民对于电子相册还有点陌生,普及程度远远比不上国外,究其原因,我认为有以下几点:1.价格原因。传统纸质相册在深深扎根在人们的日常生活中,价格较之于电子相册也较容易被接受。普通的纸质相册一本一般价位在十几元左右,好的也不会超过百元。而一般的电子相册价格就会达到好几百元,这对于普通的家庭是很难接受的。2.推广力度不够。电子相册属于新兴的电子产品,很多用户,尤其是岁数偏大的人群,跟本就不知道有电子相册这种电子产品,更不用说较之于传统相册的诸多优点了。3.技术成熟度有所不足。国内的电子相册兴起还是近几年的事情,技术还不够成熟,用户可选的牌子也相对较少,所以质量
15、好坏也无从对比。同时技术的尚不成熟也推高了其销售价格。虽然目前有很多不利因素制约这电子相册的市场发展,但是随着技术的不断进步,电子部件产业的升级,电子相册的价格再不久的将来肯定会降到一个被人们所接受的程度,同时人们可选的牌子也随之丰富很多,质量会变得更好。所以我相信电子相册以其诸多传统相册所无法比拟的优点,肯定在将来会占据相册产业的半壁江山。1.1.2 电子相册的发展历程1.简单电子相册最初的电子相册只具有最简单的相册功能。电子相册刚出现时由于市场前景不明朗,技术尚不成熟,很多功能不健全,此时的电子相册仅仅只有图片按照一定时间转换的功能,而且程序是固化在芯片中,人们不能通过手动来改变转换时间。
16、同时,由于显示屏技术的限制,分辨率低,显示效果不太好。只能读取本身内存里面的图片,对常用的u盘,sd/mmc卡等常见存储器尚不能读取,这就一定程度上限制了电子相册的实用性,读取图片太少,显示效果不好,使得电子相册的市场很小。2.支持外扩展电子相册支持外扩张电子相册是最初的电子相册的升级版本。它克服了电子相册存储空间限制的缺点,使得电子相册的存储空间大大增加。它支持常用的SD/MMC/MS等常用的存储介质,同时增加了USB接口,这就大大增加了电子相册的可用性。U盘是最常用的随身存取设备,电子相册增加了USB接口就使得人们可以更加方便的增加或者删除图片,人们就可以通过PC从互联网上下载美丽的图片到
17、U盘,然后通过U盘显示在电子相册上。虽然此时的电子相册有了一定的改进,但是还有很多的不便,比如图片没有特效、不支持背景音乐、显示效果差等等。3.TFT屏音视频电子相册此时的电子相册经过改进,使得其显示效果更加的绚丽,同时增加了很多的人性化功能。改进后的电子相册采用了TFT材质的显示屏,但是亮度和色饱和度等方面的难题都还未得到解决。考虑到人们的日常所需,此时的电子相册又增加了对音频视频的支持,这使得电子相册的实用性大大增加,较之于传统的纸质相册,它的优点也随之跃然而出,同时人们此时对电子相册也有了一定的认可度。虽然增加了音视频支持,但是支持的音视频格式少,播放效果不好,不流畅。此时的电子相册虽然
18、已经有了很大改进,但是诸多的难题还没有解决。虽然人们对于电子相册有了一定的认可度,但是由于当时新技术的采用导致了电子相册价格高昂,人们还不能普遍的接受。4.主流电子相册此时的电子相册由TFT屏音视频相册改进而来。由于TFT技术的发展,使得电子相册的显示效果相比较与上一代有了质的提高。新技术的采用使得屏幕视角更为宽广,同时亮度和色饱和度等方面的难题也得以完美的解决。非晶硅薄膜晶体管(A-SI)TFT技术的采用,使得TFT的产出良品率和质量都大大提高,这就是使得TFT-LCD的价格大大的降低,电子相册的价格也随之大幅度下降,人们对电子相册的接受程度也大为增加。同时A-SI TFT技术很完美的适应高
19、分辨率的产品需要,使得显示效果有了惊人的增加,色彩更为艳丽。改进型电子相册同时也增加了对更多音频视频格式的支持,例如MJPEG、MPEG-2、AVI等格式,从而成为如今主流的电子相册。同时如今的电子相册也增加了更多的更加人性化的功能,例如 多种图片切换播放效果、图片缩放/旋转、内置高保真音响、红外遥控等实用的人性化功能。5.未来电子相册展望随着当今科技的飞速发展,电子相册规格也飞速变化。未来时代肯定是智能的时代,电子相册也会随着变得更加智能,从某种意义上讲已经不是单纯的电子相册,而是电子相册pc。同时电子相册也会采用触摸屏技术,给用户更好的使用体验。总之,电子相册会变得越来越智能,越来越人性,
20、电子相册的发展前景广阔。1.2 基于单片机的电子相册的实现功能概况电子相册预计要实现的功能是能顺利读取SD卡图片,然后按照一定的时间间隔显示在TFT彩色液晶显示器上,从而来实现一个电子相册最为基本的功能。本次毕业设计要用到的主要设备是:SD卡,彩色液晶显示屏,51单片机。经过分析,设计具备上面所述功能的电子相册主要需要解决3个问题:1.SD卡如何读取;2.文件系统匹配;3.液晶驱动问题。1.3 基于单片机的电子相册的设计思路硬件方面我采用32MSD卡,芯片采用型号为SST89E516RD型芯片,2.8存8位液晶显示器。之所以选取SST89E51类型芯片是考虑到SD扇区匹配问题。先制作最小系统,
21、然后在按照原先设计电路图添加焊接元器件。本次设计用的是6*11的万用版。程序设计开发使用常用的51系列开发软件Keil uVision3。整个软件划分为若干模块,分别调试,最后集成。具体软件模块主要有:SD读取模块、文件系统模块、液晶驱动模块、主程序模块等。1.3.1 电子相册的工作原理单片机电子相册由单片机、SD卡、液晶显示器等单元组成。主要完成SD卡与单片机之间的通信。它也是以51系列单片机为核心,配以相应硬件电路,完成图片定时显示切换功能。1.3.2 设计方案的可行性论证电子相册我选用SST89E516RD单片机作为主控制芯片。它有1k的内部RAM,有硬件SPI接口,最高可用40M晶振。
22、单片机的SPI接口可以设置为4分频,也就是10MBPS,这就是SD卡和单片机之间的工作速度。在看看一张图片的数据量,一张图片的数据大小为320*240*24=225KB,那么这个速度足可以每秒播放45张图片,所以播放的流畅度有保障。单片机的外围元件组成了51最小系统。最后用了一个SD/MMC卡槽,方便插入SD/MMC卡,液晶屏幕采用的是2.8寸的彩色液晶屏幕。其中彩色液晶用于图像的显示,SD/MMC卡槽用于插入存储设备,51单片机最小系统用于控制和播放图像。使用时将SD/MMC卡格式化为FAT32文件系统,然后将BMP格式图片复制到SD/MMC卡,即可以自动播放。综上所述,以上方案和技术路线可
23、行。第2章 SST89E516RD单片机概述2.1 SST89E516RD单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/0口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本次毕业设计采用的是SST89E516RD系列单片机,该单片机有1K RAM,可以满足SD卡对扇区大小的要求。该单片机具有如下特征:a.通用8位8051系列兼容微处理器。与8051的软件完全兼容,开发工具兼容,封装与引脚兼
24、容;b.内部RAM共有1K;c.256B 寄存器/数据RAM;d.内含两块superflash 存储器(eeprom);e.支持对大64K外部程序和数据存储空间;f.P1的5、6、7等三个引脚可驱动最大电流(每个可达16ma);g.3个16位定时/计数器(T0,T1,T2);h.标准的每个指令周期12个时钟,也可以倍频,以实现每个指令周期6个时钟;i.TTL和CMOS电平全兼容;j.省电模式(idle 模式 和 powerdown模式,并由外部中断唤醒)。2.2 SST89E516RD引脚介绍SST89E516RD单片机有40个引脚,大致可以分为四类:电源、时钟、控制和I/O引脚。以下是单片机
25、引脚(硬件电路中使用的引脚)的简要说明:1.电源引脚VDD:主电源接+3.3V - +5V。 VSS:接地。2.时钟电路引脚XTAL1 和XTAL2 XTAL1、XTAL2(19脚、18脚):分别接外部晶体振荡器的两端,19引脚片内是反相振荡发达器输入和内部时钟发生电路输入端。18脚片内是振荡电路反相放大器的输出端。 3.控制信号PSEN、ALE/PROG 、EA/VPP和RST PSEN(29脚):程序存储使能端。是对外部程序的读选通脉冲,当执行内部程序存储器时,PSEN被激活(高)。当执行外部程序存储器代码时PSEN每个机器周期被激活两次,除了在每次访问外部数据存储器两个激活被忽略。当RS
26、T连续保持高电平或超过10个机器周期,PSEN从高变低的变化使得单片机进入外部主机模式编程状态。ALE/PROG(30脚):地址锁存使能端。在访问外部存储器时输出脉冲锁存地址的低字节。该引脚也是在FLASH编程的脉冲输入并可用作外部时钟或者定时。注意每次访问外部数据时,一个ALE脉冲将被忽略。ALE可以通过置位SFR的auxlilary.0禁止,置位后ALE只能在执行MOVE指令时被激活。EA/VPP(31脚):外部寻址使能端。在访问整个外部程序存储器时EA必须外部置低,如果EA为高时将执行内部程序。RST(47脚):复位端。当晶振在运动中,只要复位管脚出现2个机器周期高电平即可复位单片机。当
27、RST输入高电平时,如果PSEN从高变成低,单片机将外部主机模式,否则进入普通运行模式。4.输入/输出引脚P0、P1、P2、P3口 P0.0P0.7(3932脚):八位双向I/O端口,当作输出口时每个引脚可以接受LS TTL 电平输入,可以写为1使其状态为悬浮用做高阻输入。P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出1。P0在外部主机模式编程时接收代码,外部主机模式校验是输出代码。在编程校验或是当作通用I/O口时需要外接上拉。P1.0P1.7(310脚): P1是8位带内部上拉的双向I/O口,P1输出可以驱动LS TTL输入。向P1口
28、写入1时P1口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部拉低的P1口会因为内部上拉而输出电流。P15,6,7可以驱动16mA的大电流。P1口在外部主机模式编程和校验时接收低位地址数据。 P2.0P2.7(2128脚):P2口时8位带内部上拉的双向I/O口。向P2口写入1时P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时分别作为地址高字节和16位地址,此时通过内部强上拉传送1。P2口在外部主机模式编程和校验时接收一些控制信号和部分的高位地址数据。 P3.0P3.7(25-32脚):P3口时8位带内部上
29、拉的双向I/O口。P3口输出缓冲器可以驱动LS TTL输入。向P3口写入1时P3口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P3口会因为内部上拉而输出电流。P3口在外部主机模式编程和校验时接收一些控制信号和部分的高地址数据。引脚图如图2.1所示:图2.1 单片机引脚图2.3 SST89E516RD单片机的内部寄存器SST89E516RD内部CPU是一个字长为二进制8位的中央处理单元,也就是说它对数据的处理是按字节为单位进行的。与微型计算机CPU类似,SST89E516RD内部CPU也是由运算器(ALU)、控制器(定时控制部件等)和专用寄存器组三部分构成。1.算术逻辑部件(A
30、LU)算数逻辑单元的全称是Arithmetic Logic Unit,是处理器中一个功能模块,用来执行诸如加减乘除以及寄存器中的值之间的逻辑运算,通常在一般的处理器上被设成一个周期运行一次上升沿。SST89E516RD的ALU是一个性能极强的运算器,它既可以进行加、减、乘、除四则运算,也可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。SST89E516RD ALU为用户提供了丰富的指令系统和极快的指令执行速度,大部分指令的执行时间为1微妙,乘法指令可达4微妙。2.定时控制部件定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器和振荡OSC等电路组成。指令寄存
31、器IR用于存放从程序存储器中取出的指令码,定时控制逻辑用于对指令寄存器中的指令码进行译码,并在OSC的配合下产生执行指令的时序脉冲,以完成相应指令的执行。3.专用寄存器组专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。它是任何一台计算机的CPU不可缺少的的组成部件,其他寄存器的多因机器型号的不同而异。专用寄存器组主要包括程序计数器PC、累加器A、程序状态字PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等。4.程序计数器PC程序计数器PC是一个二进制16位的程序地址寄存器,专门用来存放下一条需要执行指令的内存地址,能自动加1。5.累加器A累加器A又记
32、作ACC,是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可以得到运算结果。6.通用寄存器B通用寄存器B是专门为乘法和除法设置的寄存器,也是一个二进制8位的寄存器,由8个触发器组成。该寄存器在乘法或除法前用来存放乘数或除数,在乘法或除法完成后用于存放乘积的高8位或除法的余数。7.程序状态字PSWPSW是一个8位标志寄存器,用来存放指令执行后的有关状态。PSW中各位的状态通常是在指令执行过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。8.数据指针DPTR数据指针DPTR是一个1
33、6位的寄存器,由两个寄存器DPH和DPL拼成。其中DPH为DPTR的高8为,DPL为DPTR的低8位。DPTR可以用来存放片内ROM的地址,也可以用来存放片外RAM和片外ROM的地址。9.堆栈指针SP堆栈指针SP是一个8位寄存器,能自动加1或减1,专门用来存放堆栈的栈顶地址。遵循“先进后出”或者“后进先出”的原则。2.4 SST89E516RD单片机芯片的原理框图与各功能模块图图2.2 89e516rd单片机的内部结构SPI接口说明:SPI接口让MCU和外围器件或MCU之间做高速同步数据传送。公用四根线进行数据传输:CS片选线、CLK时钟线、DATI数据输入引脚、DATOUT数据输入引脚。SP
34、I通道是定向的字节,每个命令或者数据快都是由8位字节构成,类似SD卡协议,SPI包含了命令、相应和数据块。如下图表示SPI主器件和从器件的通信。SCK脚是主模块的时钟输出或从模块的输入。写主器件的SPI数据寄存器后开始产生SPI时钟。写入的数据从主器件的MOSI脚转换到MOSI脚。一个字节数据发送完成后,SPI时钟发生器将停止,SPIF置位。如果SPI中断位SPIE和串口中断使能位ES都置1,将产生SPI中断请求。外部主器件驱动从模式选择输入脚SS#P14为低,SPI模块变为从模块。如图2.3、图2.4所示是SPI格式图:图2.3 CPHA=0时SPI传输格式图2.4 CPHA=1时SPI传输
35、格式看门狗定时器:单片机内部有一个可编程的看门狗(WDT),用来防止软件的死锁和自动保护,为了保护系统,防止软件的死锁。如图2.5所示是WDT的方框:图2.5看门狗定时器方框图第3章 基于单片机的电子相册的硬件设计本次设计的硬件电路由单片机主控模块,电源转化、SD卡模块、液晶模块等组成。先从总体电路设计入手,然后详细介绍各个部分的设计。3.1 硬件电路总体设计硬件设计是整个系统的基础,要考虑的方方面面很多,硬件设计至关重要,除了实现此设计基本功能以外,主要还要考虑如下几个因素:1.系统稳定度;2.器件的通用性或易选购性;3.软件编程的易实现性;4.系统其它功能及性能指标。总体设计流程图:根据题
36、目要求系统可以分为以下几个基础模块,如图3.1所示:SST89E516D图片成功显示图片成功显示电源SD程序液晶驱动文件系统图3.1硬件总体设计流程图3.2 电子相册各模块的电路设计3.2.1 电压转换电路设计存储器SD卡与彩色液晶显示器的工作电压为3.3v,单片机SST89E516RD工作电压为5v,使用USB供电的电压输出为5v。那么3.3v的电压就得由电压转换而得,转换方面我使用LM1117-3.3稳压模块。该芯片有三个引脚:输入引脚、输出引脚、接地引脚。5v电压从输入引脚输入,通过转换从输出引脚输入3.3v电压,从而成功的将5v电压转换为3.3v电压,转换电路图如下:图3.2电压转换电
37、路3.2.2 晶体振荡电路设计X1和X2分别接单片机的XTAL1和XTAL2口,它们是芯片内振荡器的输入和输出端。本设计的晶体振荡电路采用的是大小为40MHz的石英晶振。晶振的大小与图片的播放流畅度有关系。就24位的320*240格式的BMP图片而言,其文件大小约为225K。设置为四分频,则速度为10MBPS,足可以播放45张图片,流畅度可以保证。晶振电路接线图如下图3.3所示:图3.3晶振电路3.2.3 SD卡电路设计SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件。它的技术是基于MMC格式发展而来,
38、大小和MMC卡差不多,尺寸为32mm*24mm*2.1mm。SD卡允许在两种模式下工作,即SD卡模式和SPI模式。SD模式是SD卡标准的读写方式,但是在选用SD模式时,往往需要选择带有SD卡控制器接口的单片机,或者必须加入额外的SD卡控制单元以支持SD卡的读写。然而,一般单片机没有集成SD卡控制器接口,故选用SPI模式可以说是一种最佳的解决方案,在SPI模式下,通过四条线就可以完成所有的数据交换,采用SPI模式对SD卡进行读写操作可大大简化硬件电路的设计。同时由于SD卡兼容MMC卡读写命令,所以,使用MMC卡的命令集。SD卡结构见图3.4:图3.4 SD卡内部结构图3.6是SD/MMC卡引脚简
39、介,本次设计采用的SD卡,采用的SPI模式。使用了四根数据线和地线电源键 4引脚,工作电压是3.3v。各引脚功能介绍如下:CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在025Mhz之间变化,SD卡的总线管理器可以不受任何限制的自由产生025Mhz的频率。CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或者所有卡。DAT03:数据线,数据可以从卡传向主机也可以从主机传向卡。在SPI模式下其命令由6个字节构成,其中高位在前。电路图如图3.5、图3.6所示:图3.5 SD卡引脚图图3.6 SD
40、/MMC卡引脚简介3.2.4 液晶电路设计毕业设计液晶显示器我选择的是2.8存8位彩色液晶,30引脚,液晶使用的是控制器型号是ILI9320。电路图见下图3.7所示:图3.7 LCD电路连接图第4章 基于单片机的电子相册的软件设计软件模块主要由读写SD卡子程序,液晶控制子程序,FAT32结构分析子程序,文件类型分析处理子程序,主程序等模块组成,以下是各个子程序的技术要点、详细介绍以及软件流程图。4.1 软件流程图电子相册软件设计流程图如图4.1所示:图 4.1 软件系统程序流程图4.2 读写SD卡子程序设计SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、
41、性能和使用环境的需求而设计的一种新型存储器件,SD卡支持两种总线方式:SD方式和SPI方式。其中SD方式采用6线制,使用CLK、CMD、DAT0DAT3进行数据通信。而SPI方式采用4线制,使用CS、CLK、DATIN、DATOUT进行数据通信。其中SD方式的数据传输速度比SPI要快,但是SD卡采用SD模式时,单片机要有相应的SD模式接口,或者有相应的SD卡控制单元,但是由于一般单片机都没有SD模式接口,所以采用单片机对SD卡进行读写时,一般都采用SPI方式。SD卡每次通信,传输48位,即6个字节的数据。第一个字节是命令,紧接着是4字节的参数,一般用于指定SD的字节地址。最后一个字节是校验码。
42、一般,命令也就是用到0x40复位命令、0x41初始化命令、0x51读扇区命令、0x58写扇区命令。硬件SPI接口电平上,设置单片机的时钟线,默认为1,设置数据在时钟的后沿移位。注意,在初始化阶段最好设置为SPI频率为128分频,较低速度。等初始化完成再把分频系统改为4分频,较高速度,正常使用SD卡。4.3 液晶控制子程序设计彩色液晶,只要使用带控制器的就可以了。我用的是带ili9320控制器的320*240分辨率的彩色液晶。当rs=0、rw上升沿跳变时,单片机p2口传送给彩色液晶的数据时命令。当rs=1、rw上升沿跳变时,单片机p2口传送给彩色液晶的就是普通数据了。也可以使用带其他控制器的液晶
43、。这些液晶控制器只要通过设置相应的控制线,发送相应的数据和命令,就可以很方便的使用了。4.4 FAT32结构分析子程序设计了解FAT32系统之前,需要注意一个FAT文件系统的第一个重要的数据结构BPB,它位于该FAT卷得第一个扇区,同时也属于FAT文件系统基本区域的保留区。这个扇区又叫做“启动扇区”、“保留扇区”、“0扇区”,众多的叫法都说明一个相同的问题:该扇区是FAT卷得第一个扇区。FAT是文件系统中另一个重要的数据结构,它是一一对应于数据区簇号的列表。文件系统分配磁盘空间按照簇来分配的。因此,文件占用磁盘空间时,其基本单位不是字节而是簇,即使某个文件只有一个字节,操作系统也会给他分配一个
44、最小单元既一个簇。为了可以将磁盘空间有序地分配给相应的文件,而读取文件的时候又可以从相应的地址读出文件,我们把数据区空间分成BPB_BytsPerSec*BPB_SecPerClus字节长的簇来管理,FAT表项的大小与FAT的类型有关,FAT12的表项为12bit,FAT16为16bit,而FAT32则为32bit。对于大文件,需要分配多个簇。同一个文件的数据并不一定完整地存放在磁盘中一个连续的区域内,而往往会分成若干段,像链子一样存放。这种存储方式称为文件的链式存储。为了实现文件的链式存储,文件系统必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号,
45、对文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,FAT表的对应表项中记录着它所代表的簇的有关信息:诸如是否空,是否是坏簇,是否已经是某个文件的尾簇等。Fat32文件系统由结构信息+文件分配表+数据区组成。结构信息。保存fat32的结构内容。文件分配表,以4字节的大小,记录簇的链式关系。数据区,记录文件真正的数据。读取第一扇区,即512字节的内容,我们可以知道“文件分配表的起始地址”,“每簇多少扇区”和分配表的大小。通过计算,我们可以得知根目录的扇区地址,也就是2簇的扇区地址。根目录,用32字节大小,记录文件名和首簇地址等信息。文件存放都是以簇为单位进行存储的。公式:任何扇区
46、地址=(记录簇号-2)*每簇多少扇区+根目录的扇区地址。知道了以上信息,就可以方便的将文件的簇地址转换为扇区地址。但文件的存放是链式结构,我们还要读下一个簇号,直到簇号为结束簇号:0x0fffffff。最后对读取的文件内容进行传输。4.5 文件处理子程序设计处理图片文件之前,首先需要了解BMP这种格式的图片。BMP是一种与硬件设备无关的图片文件格式,使用非常广。它采用位映射存储结构,除了图像深度可以选以外,不采用其他任何压缩,因此,BMP所占用的空间很大。BMP文件的图像深度可选1bit、4bit、8bit以及24bit等。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于
47、BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在windows环境中运行的图像图像软件都支持BMP图像格式。典型的BMP图像文件一般由四部分组成:1.BMP文件的四部分:文件头、信息头、调色板和数据区。2.位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息。3.位图信息数据结构,它包含BMP图像的宽、高、压缩方法、以及定义颜色等信息。4.调色板,这个部分是可选的,有些位图需要调色板,有些位图则不需要调色板。5.位图数据,这部分的内容根据BMP位图使用的位数不用而不同,在24位图中直接使用RGB,而其他的小于24位的则需要使用调色板。小于24位的位图数据实则是调色板的索引值。4.6 主程序设计主程序读取通过FAT32文件系统,得到根目录地址,在读取根目录的文件记录达到指定文件的首簇地址。经过地址转换,转换成扇区地址。读取相应数据,经过单片机传输在彩色液晶上显示图像,显示完一幅图像后,延迟一定的延时,继续显示下一幅。主程序如下所示:int main(void) Port_Init(); Lcd_Init(); full_display(BLACK); while(Sd_Init()=0) ShowString(0, 100, 未插入存储卡!, WHITE, RED, BACKGROU