您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 操作系统-嵌入式图片显示课程设计
1操作系统课程设计报告课题:____嵌入式系统文件显示_____组长:罗平学号:20151703021_________同组姓名:刘照、杜威、周玉辉、胡玉珍专业班级:网工15102_指导教师:丁德红____________设计时间:2017-06-12__________评阅意见:评定成绩:指导老师签名:年月日2目录1.前言............................................................32.课程设计内容....................................................32.1课程要求......................................................32.2题目..........................................错误!未定义书签。2.3组员任务分工..................................................43.背景............................................................43.1图片格式简介..................................................44.流程设计........................................................64.1系统的结构框图................................................64.2程序流程图设计................................................65.硬件设计........................................................75.1硬件介绍......................................................75.2芯片介绍......................................................86.算法实现........................................................86.1功能函数......................................................86.2主函数.......................................................177.实验结果.......................................................238.实验心得........................................错误!未定义书签。9.参考文献.......................................................2631.前言本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。随着嵌入式技术的迅猛发展,人机交互界面也越来越显示出它的重要性。本次课程设计主要以TFTLCD的LCD显示模块,完整的实现了图片的循环显示。TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:ThinFilmTransistor-LiquidCrystalDisplay。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。目前,显示技术和显示工业的发展迅速。显示技术是传递视觉的信息技术。液晶显示器件LCD是当今最有发展前途的一种平板显示器件,它具有很多独到的优异特性。它具有显示信息多、易于多彩化、体积小、重量轻、功耗低、寿命长、价格低、无辐射、无污染、接口控制方便等优点。2.课程设计内容2.1课程要求1、开发环境:Keilc5.0,阿波罗开发板2、开机的时候先检测字库,然后检测SD卡是否存在,如果SD卡存在,则开始查找SD卡根目录下的PICTURE文件夹,如果找到则显示该文件夹下面的图片文件(支持bmp、jpg、jpeg或gif格式),循环显示,通过按KEY0和KEY2可以快速浏览下一张和上一张,KEY_UP按键用于暂停/继续播放,DS1用于指示当前是否处于暂停状态。如果未找到PICTURE文件夹/任何图片文件,则提示错误。同样我们也是用DS0来指示程序正在运行。整体效果就是一个精简版的数码相框。3、界面上有自己的学校、班级、姓名字样。42.2组员任务分工罗平(18):代码修改、关键算法和主要函数实现的理解杜威(02):PPT的制作、代码运行试验、相关知识简介胡玉珍(05):代码理解、组员任务分工、实现功能及操作简介刘照(16):代码运行试验、实验结果及结果分析周玉辉(36):word文档制作、代码运行试验、相关知识简介3.背景3.1图片格式简介图片有一般图片格式有许多种,一般常用的有四种,JEPG(或者说JPG),BMP格式的,这三种是静态图片,以及GIF格式的动态格式图。下面简单介绍一下这三种图片格式。3.1.1BMP图片格式BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,文件后缀名为“.bmp”,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大,但是没有失真。BMP文件的图像深度可选lbit、4bit、8bit、16bit、24bit及32bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。典型的BMP图像文件由四部分组成:1、位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;2、位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;3、调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;4、位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。53.1.2JPEG文件格式JPEG是JointPhotographicExpertsGroup(联合图像专家组)的缩写,文件后辍名为“.jpg”或“.jpeg”,是最常用的图像文件格式,由一个软件开发联合会组织制定,同BMP格式不同,JPEG是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤(BMP不会,但是BMP占用空间大)。比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。JPEG/JPG的解码过程可以简单的概述为如下几个部分:1、从文件头读出文件的相关信息。JPEG文件数据分为文件头和图像数据两大部分,其中文件头记录了图像的版本、长宽、采样因子、量化表、哈夫曼表等重要信息。所以解码前必须将文件头信息读出,以备图像数据解码过程之用。2、从图像数据流读取一个最小编码单元(MCU),并提取出里边的各个颜色分量单元。3、将颜色分量单元从数据流恢复成矩阵数据。使用文件头给出的哈夫曼表,对分割出来的颜色分量单元进行解码,把其恢复成8×8的数据矩阵。4、8×8的数据矩阵进一步解码。此部分解码工作以8×8的数据矩阵为单位,其中包括相邻矩阵的直流系数差分解码、使用文件头给出的量化表反量化数据、反Zig-zag编码、隔行正负纠正、反向离散余弦变换等5个步骤,最终输出仍然是一个8×8的数据矩阵。5、颜色系统YCrCb向RGB转换。将一个MCU的各个颜色分量单元解码结果整合起来,将图像颜色系统从YCrCb向RGB转换。6、排列整合各个MCU的解码数据。不断读取数据流中的MCU并对其解码,直至读完所有MCU为止,将各MCU解码后的数据正确排列成完整的图像。本课程设计程采用TjpgDec作为JPG/JPEG的解码库。BMP和JPEG这两种图片格式均不支持动态效果,而GIF则是可以支持动态效果。63.1.3GIF图片格式GIF(GraphicsInterchangeFormat)是CompuServe公司开发的图像文件存储格式,1987年开发的GIF文件格式版本号是GIF87a,1989年进行了扩充,扩充后的版本号定义为GIF89a。GIF图像文件以数据块(block)为单位来存储图像的相关信息。一个GIF文件由表示图形图像的数据块、数据子块以及显示图形图像的控制信息块组成,称为GIF数据流(DataStream)。数据流中的所有控制信息块和数据块都必须在文件头(Header)和文件结束块(Trailer)之间。GIF文件格式采用了LZW(Lempel-ZivWalch)压缩算法来存储图像数据,定义了允许用户为图像设置背景的透明(transparency)属性。如果在GIF文件中存放有多幅图,它们可以像演幻灯片那样显示或者像动画那样演示。一个GIF文件的结构可分为文件头(FileHeader)、GIF数据流(GIFDataStream)和文件终结器(Trailer)三个部分。文件头包含GIF文件署名(Signature)和版本号(Version);GIF数据流由控制标识符、图象块(ImageBlock)和其他的一些扩展块组成;文件终结器只有一个值为0x3B的字符(';')表示文件结束。4.流程设计4.1系统的结构框STM324.1系统结构框图存储图像SD卡键盘按键LED提示灯TFTLCD74.2程序流程图设计图4.2程序流程图5.硬件设计5.1硬件介绍开机的时候先检测字库,然后检测SD卡是否存在,如果SD卡存在,则开始查找SD卡根目录下的PICTURE文件夹,如果找到则显示该文件夹下面的图片文件(支持bmp、jpg、jpeg或gif格式),循环显示,通过按KEY0和KEY2可以快速浏览下一张和上一张,KEY_UP按键用于暂停/继续播放,系统初始化插入SD卡结束否读取数据在LCD上显示图片及信息跳到上一幅或下一幅图片3s后自动跳转到下一幅有键按下?开始8DS1用于指示当前是否处于暂停状态。如果未找到PICTURE文件夹/任何图片文件,则提示错误。同样我们也是用DS0来指示程序正在运行。所要用到的硬件资源如下:1)指示灯DS0和DS12)KEY0、KEY2和KEY_UP三个按键3)串口4)LCD模块5)SD卡6)SPIFLASH这几部分,在之前的实例中都介绍过了,我们在此就不介绍了。需要注意的是,我们在SD卡根目录下要建一个PICTURE的文件夹,用来存放JPEG、JPG、BMP或GIF等图片。5.2芯片介绍STM32开发板主要采用STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。128KFLASH、20KSRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚…,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,不到13元的批量价,足以秒杀很多其他芯片了,所以我们选择了它作为我们的主芯片。6.算法实现6.1功能函数首先在HARDWARE文件夹所在的文件夹下新建一个PICTURE的文件夹。在该文件夹里面新建bmp.c、bmp.h、tjpgd.c
本文标题:操作系统-嵌入式图片显示课程设计
链接地址:https://www.777doc.com/doc-4221755 .html