本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

基于单片机的多功能数码相框设计与实现

基于单片机的多功能数码相框设计与实现

设计并实现了一款基于单片机的电子数码相框。系统主要包括4个任务程序:图片播放器、演示程序、万年历程序以及系统设置程序。通过按键选择,支持人工控制播放及系统自动播放两种播放功能。采用一种开源的适合SD卡使用的FATFS文件系统,实现对SD卡内的文件进行

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 2269757180 微信号:bylwwwww


  • 详细描述

    基于单片机的多功能数码相框设计与实现
    摘要:设计并实现了一款基于单片机的电子数码相框。系统主要包括4个任务程序:图片播放器、演示程序、万年历程序以及系统设置程序。通过按键选择,支持人工控制播放及系统自动播放两种播放功能。采用一种开源的适合SD卡使用的FATFS文件系统,实现对SD卡内的文件进行读、写、枚举操作;通过定时器设计产生系统时间;采用软件解码技术,对存储在SD卡photo目录下的BMP图像文件进行解码操作,并将其显示到液晶显示屏上。通过对多任务实时操作系统Protothreads的移植,保证了系统工作的实时性,实现了系统主菜单和应用程序之间切换。由于系统功能的实现主要依赖于软件程序,从而使系统具有灵活性、方便移植、硬件结构简单、外围器件少,产品成本低,系统维护和升级容易等特点。
    关键词:数码相框;单片机;文件系统;多任务;图片解码
     
    Abstract: A digital photo frame based on the single chip microcomputer ( scm) was designed and implemented. Four task programs such as pictures player, demo program, calendar program, and system setup were mainly included  in this system. Manual controlled play and autoplay were all supported through the selection button. An open source FATFS file system which is suited to the secure digital (SD) card was adopted to realize reading, writing, enumeration operation of the card; System time was designed by timer; software decoding technology was used to implement the decoding operation of BMP image files in the photo directory of the SD card, so that to display on the LCD panel. To ensure the system working in real time , and to realize the programs exchanging between system main menu and application  program,a multiprocessing real time operating system was transplanted , Because  the system function was mainly depended on the software,it has many excellent characteristics such as the flexibility, easy to transplant, simple hardware structure, less periphery components, low product cost, system maintenance and upgrade easily and so on.
    Key words:Digital Photo Frame ; Single Chip Microcomputer ; File System ; Multi-tasking ; Picture Decoding
    目  录
    1  前言 1
    1.1 选题背景 1
    1.2 国内外研究现状及发展趋势 1
    1.3 论文研究的主要内容 1
    2  方案设计与选择 1
    2.1 数码相框主流设计方案 1
    2.2 本课题设计方案介绍 2
    2.3 系统总体硬件介绍 2
    3  详细硬件设计 3
    3.1 STC12C5A60S2单片机概述 3
    3.1.1 I/O口各种不同的工作模式及配置介绍 3
    3.1.2 单片机最小系统 4
    3.2 电源电路 4
    3.3 SD卡接口电路 5
    3.4 按键电路 5
    3.5 LCD液晶显示电路 6
    4  数码相框的软件设计 6
    4.1 软件总体设计 6
    4.1.1 Protothreads极轻量级系统介绍 7
    4.2 驱动程序设计 8
    4.2.1 SPI驱动程序设计 8
    4.2.2 SD卡驱动程序设计 8
    4.2.3 ILI9325驱动程序设计 9
    4.2.4 鼠标按键驱动程序设计 10
    4.3 FATFS文件系统移植设计 11
    4.3.1 FATFS文件系统介绍 11
    4.3.2 FAT文件系统的结构 11
    4.3.3 FATFS文件系统移植过程 12
    4.3.4 FATFS文件系统读取文件过程 12
    4.4 BMP图像解码程序设计 14
    4.4.1 BMP图像文件简介 14
    4.4.2 BMP图像软件解码过程 14
    4.4.3 BMP图像的显示控制 15
    4.5 系统时间程序设计 17
    4.6 万年历程序设计 18
    4.7 系统设置程序设计 18
    5  实现与测试 19
    5.1 图像显示结果及分析 19
    6  结论与展望 22
    参考文献 23
    谢辞 24
    附录1 总电路图 25
    附录2 系统源程序 26
     
    结论与展望
    经过近两个月的时间,通过本课题的设计研究,该数码相框的功能已基本完成。在本设计中实现了FATFS文件系统的移植,实现了对SD卡指定目录下的BMP图片文件的读取与显示,实现了简易万年历的程序设计,实现了对系统时间设置以及实现了简单的GUI控件显示操作等等。本设计主要任务是读取存储在SD卡中的BMP图片并显示到液晶显示屏上,即实现数码相框的功能。该数码相框已能播放大部分的无压缩的24位真彩色BMP图片,显示速度适中,为3秒,显示图片质量也比较清晰。数码相框中还配有按键控制系统,通过按键可以人为切换播放上/下幅图片,并且配置了幻灯片按钮,按下相应的按键就可以自动循环播放SD卡中指定目录下的BMP图片。
    当然,本数码相框还存在很多不足之处。主要有以下几点:
    (1)本数码相框目前只支持BMP图像文件的播放,对于现在常见的JPEG、PNG、GIF等压缩率比较高的图片均不支持解码显示播放,还有待扩展实现多更多图片格式文件的解码显示。
    (2)该数码相框只能支持文件名比较短的图片,而长文件名不支持,中文文件名不支持,所以还有待移植功能更强的FATFS文件系统来解决以上两个问题。
    (3)由于单片机在功能上的不足,导致刷新显示一幅图片的时间过长,还有待进一步优化程序,使显示速度更快。
    (4)该数码相框还只能支持低于液晶显示屏分辨率的BMP图片的播放,而对于高于液晶显示屏分辨率的图片不支持播放,还有待进一步增加功能,使图片支持缩放功能。
    (5)由于时间精力的原因,还没有充分利用STC12C5A60S2单片机的内部资源,实现更多的功能。例如,在整个设计过程中只利用了700字节左右的RAM,而还有580字节左右的RAM内存闲置,完全可以利用这些闲置的RAM资源来实现一个电子书的功能,使整个数码相框的功能更完善。
    今后,会花更多的时间来完善整个数码相框,从硬件和软件上改善系统,不断地解决上述所出现的问题,从而使整个系统功能更加完善。
     
    参考文献
    [1]现有主流数码相框方案解析及对比[EB/OL].http://www.liangteng.com/,2008.
    [2]李群芳,肖看.单片机原理、接口及应用-嵌入式系统技术基础[M].北京:清华大学出版社,2005.
    [3]宋戈,黄鹤松,员玉良等.51单片机应用开发范例大全[M].北京:人民邮电出版社,2010.
    [4]唐继贤.51单片机应用系统开发实例精解C语言[M].上海:上海科学技术出版社,2011.
    [5]苏义鑫,程敏,何力.基于AT89C52单片机的SD卡读写设计[J].世界电子元器件,2008,(5):65-69.
    [6]林倩,严桂林.基于STC12C5A60S2单片机的SD卡读写[J].电子元器件应用,2010,(4):1.
    [7]倪天龙,路林.基于STC12C5A60S2的电子相框设计[J].郑州轻工业学院学报(自然科学版),2011,(5):31-33,47.
    [8]杨永竹.液晶显示模块图像的编辑以及点阵数据的提取[J].仪表技术与传感器,2003,(8):48-50.
    [9]何钦铭,颜晖.C语言程序设计[M].北京:高等教育出版社,2008.
    [10]闫石,马潮.时间触发模式下的Protothreads设计应用[J].单片机与嵌入式系统应用,2009,(1).
    [11]Dunkds Adam.Protothreads- Lightweight,Stackless Threads in C[OL],
    2006[2008—07].http://dunkels.com/adam/pt/ .
    [12]周兴华.51单片机驱动彩屏的设计[J].无线电,2012,(2):62-66. 
    [13]洪岳炜,王百鸣,谢超英.一种易于移植和使用的文件系统FatFs_Module[J].单片机与嵌入式系统应用,2008(5).
    [14]贾玉珍,靳冰,刘琮等.BMP文件结构的信息隐藏方法与实现[J].江西理工大学学报,2009,(1):42-44.
    [15]龚成清.RLE改进算法对BMP图像无损压缩的实现[J].现代计算机,2006,(12):79-81,92.
    [16]李伟,张利华.BMP文件解码的研究与实现[J].计算机工程与设计,2006,(7):1180-1182.
    收缩