操作系统-嵌入式图片显示课程设计

上传人:第*** 文档编号:55665096 上传时间:2018-10-03 格式:DOCX 页数:32 大小:192.03KB
返回 下载 相关 举报
操作系统-嵌入式图片显示课程设计_第1页
第1页 / 共32页
操作系统-嵌入式图片显示课程设计_第2页
第2页 / 共32页
操作系统-嵌入式图片显示课程设计_第3页
第3页 / 共32页
操作系统-嵌入式图片显示课程设计_第4页
第4页 / 共32页
操作系统-嵌入式图片显示课程设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《操作系统-嵌入式图片显示课程设计》由会员分享,可在线阅读,更多相关《操作系统-嵌入式图片显示课程设计(32页珍藏版)》请在金锄头文库上搜索。

1、1操作系统课程设计报告操作系统课程设计报告课课 题题:_嵌入式系统文件显示嵌入式系统文件显示_ 组组长长: 罗平罗平 学学 号号: 20151703021_ 同组姓名同组姓名: 刘照、杜威、周玉辉、胡玉珍刘照、杜威、周玉辉、胡玉珍 专业班级专业班级: 网工网工 15102 _ 指导教师指导教师: 丁德红丁德红_ 设计时间设计时间: 2017-06-12_ 评阅意见:评定成绩:指导老师签名:年 月 日2目录1.1.前言前言3 32.2.课程设计内容课程设计内容3 32.1 课程要求 32.2 题目 42.3 组员任务分工 43.3.背景背景5 53.1 图片格式简介 54.4.流程设计流程设计7

2、 74.1 系统的结构框图 74.2 程序流程图设计 85.5.硬件设计硬件设计8 85.1 硬件介绍 85.2 芯片介绍 86.6.算法实现算法实现8 86.1 功能函数 86.2 主函数 87.7.实验结果实验结果8 838.8.实验心得实验心得8 89.9.参考文献参考文献8 81.前言前言本课程设计是学生学习完计算机操作系统课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。随着嵌入式技术的迅猛发展,人机交互界面也越来越显示出它的重要性。本次课程设计主要以 TFTLCD 的 LCD 显示模

3、块,完整的实现了图片的循环显示。TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。目前,显示技术和显示工业的发展迅速。显示技术是传递视觉的信息技术。液晶显示器件 LCD 是当今最有发展前途的一种平板显示器件,它具有很多独到的优异特性。它具有显示信息多、易于多彩化、体积小、重量轻、功耗低

4、、寿命长、价格低、无辐射、无污染、接口控制方便等优点。42.课程设计内容课程设计内容2.12.1 课程要求课程要求1、开发环境:Keilc5.0 ,阿波罗开发板2、开机的时候先检测字库,然后检测 SD 卡是否存在,如果 SD 卡存在,则开始查找 SD 卡根目录下的 PICTURE 文件夹,如果找到则显示该文件夹下面的图片文件(支持 bmp、jpg、jpeg 或 gif 格式),循环显示,通过按 KEY0 和KEY2 可以快速浏览下一张和上一张,KEY_UP 按键用于暂停/继续播放,DS1用于指示当前是否处于暂停状态。如果未找到 PICTURE 文件夹/任何图片文件,则提示错误。同样我们也是用

5、DS0 来指示程序正在运行。整体效果就是一个精简版的数码相框。3、界面上有自己的学校、班级、姓名字样。2.22.2 组员任务分工组员任务分工罗 平(18):代码修改、关键算法和主要函数实现的理解杜 威(02):PPT 的制作、代码运行试验、相关知识简介胡玉珍(05):代码理解、组员任务分工、实现功能及操作简介刘 照(16):代码运行试验、实验结果及结果分析周玉辉(36):word 文档制作、代码运行试验、相关知识简介3.背景背景 3.13.1 图片格式简介图片格式简介图片有一般图片格式有许多种,一般常用的有四种,JEPG(或者说 JPG),5BMP 格式的,这三种是静态图片,以及 GIF 格式

6、的动态格式图。 下面简单介绍一下这三种图片格式。3.1.1BMP3.1.1BMP 图片格式图片格式BMP(全称 Bitmap)是 Window 操作系统中的标准图像文件格式,文件后缀名为“ .bmp”, 使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此, BMP 文件所占用的空间很大,但是没有失真。BMP 文件的图像深度可选 lbit、 4bit、 8bit、 16bit、 24bit 及 32bit。 BMP 文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。典型的 BMP 图像文件由四部分组成: 1、位图头文件数据结构,它包含 BMP 图像文件的类

7、型、显示内容等信息;2、位图信息数据结构,它包含有 BMP 图像的宽、高、压缩方法,以及定义颜色等信息;3、调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图( 24 位的 BMP)就不需要调色板; 4、位图数据,这部分的内容根据 BMP 位图使用的位数不同而不同,在 24 位图中直接使用 RGB,而其他的小于 24 位的使用调色板中颜色索引值。3.1.2JPEG3.1.2JPEG 文件格式文件格式JPEG 是 Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为 “ jpg”或“ jpeg”,是最常用的图像文件格式,由一个软

8、件开发联合会组织制定, 同 BMP 格式不同, JPEG 是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤( BMP 不会,但是 BMP 占用空间大)。比如可以把 1 37Mb 的 BMP 位图文件压缩至 20 3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。 JPEG 格式压缩的主要是高频信息,对色彩的信息保留较6好,适合应用于互联网,可减少图像的传输时间,可以支持 24bit 真彩色,也普遍应用于需要连续色调的图像。JPEG/JPG 的解码过程可以简单的概述为如下几个部分:1、从文件头读出文件的相关信息。JPEG 文件数

9、据分为文件头和图像数据两大部分,其中文件头记录了图像的版本、长宽、采样因子、量化表、哈夫曼表等重要信息。所以解码前必须将文件头信息读出,以备图像数据解码过程之用。2、从图像数据流读取一个最小编码单元(MCU) ,并提取出里边的各个颜色分量单元。3、将颜色分量单元从数据流恢复成矩阵数据。使用文件头给出的哈夫曼表,对分割出来的颜色分量单元进行解码,把其恢复成 88 的数据矩阵。4、 88 的数据矩阵进一步解码。此部分解码工作以 88 的数据矩阵为单位, 其中包括相邻矩阵的直流系数差分解码、 使用文件头给出的量化表反量化数据、反 Zig- zag 编码、隔行正负纠正、反向离散余弦变换等 5 个步骤,

10、最终输出仍然是一个 88 的数据矩阵。5、颜色系统 YCrCb 向 RGB 转换。将一个 MCU 的各个颜色分量单元解码结果整合起来,将图像颜色系统从 YCrCb 向 RGB 转换。6、排列整合各个 MCU 的解码数据。不断读取数据流中的 MCU 并对其解码,直至读完所有 MCU 为止,将各 MCU 解码后的数据正确排列成完整的图像。本课程设计程采用 TjpgDec 作为 JPG/JPEG 的解码库。BMP 和 JPEG 这两种图片格式均不支持动态效果,而 GIF 则是可以支持动态效果。3.1.3GIF3.1.3GIF 图片格式图片格式GIF(Graphics Interchange Form

11、at)是 CompuServe 公司开发的图像文件存储格式, 1987 年开发的 GIF 文件格式版本号是 GIF87a,1989 年进行了扩充,扩充后的版本号定义为 GIF89a。GIF 图像文件以数据块(block)为单位来存储图7像的相关信息。一个 GIF 文件由表示图形图像的数据块、数据子块以及显示图形图像的控制信息块组成,称为 GIF 数据流(DataStream)。数据流中的所有控制信息块和数据块都必须在文件头(Header)和文件结束块(Trailer)之间。GIF 文件格式采用了 LZW(Lempel-Ziv Walch)压缩算法来存储图像数据,定义了允许用户为图像设置背景的透

12、明(transparency)属性。如果在 GIF 文件中存放有多幅图,它们可以像演幻灯片那样显示或者像动画那样演示。一个 GIF 文件的结构可分为文件头(File Header)、 GIF 数据流(GIF Data Stream)和文件终结器(Trailer)三个部分。文件头包含 GIF 文件署名(Signature)和版本号(Version);GIF 数据流由控制标识符、图象块(Image Block)和其他的一些扩展块组成;文件终结器只有一个值为 0x3B 的字符( ;)表示文件结束。4.流程设计流程设计4.14.1 系统的结构框系统的结构框STM3284.1 系统结构框图4.24.2

13、程序流程图设计程序流程图设计图 4.2 程序流程图5.硬件设计硬件设计5.15.1 硬件介绍硬件介绍开机的时候先检测字库,然后检测 SD 卡是否存在,如果 SD 卡存在,则开始查找 SD 卡根目录下的 PICTURE 文件夹,如果找到则显示该文件夹下面的图片文件( 支持 bmp、 jpg、 jpeg 或 gif 格式) ,循环显示,通过按 KEY0 和 KEY2 可以快速浏览下一张和上一张, KEY_UP 按键用于暂停/继续播放, DS1 用于指示当前是否处于暂停状态。如果未找到 PICTURE 文件夹/任何图片文件,则提示错误。同样我们也是用 DS0 来指示程序正在运行。所要用到的硬件资源如

14、下:1) 指示灯 DS0 和 DS12) KEY0、 KEY2 和 KEY_UP 三个按键3) 串口4) LCD 模块5) SD 卡6) SPI FLASH这几部分,在之前的实例中都介绍过了,我们在此就不介绍了。需要注意9的是,我们在 SD 卡根目录下要建一个 PICTURE 的文件夹,用来存放 JPEG、 JPG、 BMP 或 GIF 等图片。5.25.2 芯片介绍芯片介绍STM32 开发板主要采用 STM32F103RBT6 作为 MCU,STM32F103 的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6 是最佳的选择。128K FLASH

15、、20K SRAM、2 个 SPI、3 个串口、1 个 USB、1 个 CAN、2 个 12 位的 ADC、RTC、51 个可用 IO 脚,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,不到 13 元的批量价,足以秒杀很多其他芯片了,所以我们选择了它作为我们的主芯片。6.算法实现算法实现6.16.1 功能函数功能函数首先在 HARDWARE 文件夹所在的文件夹下新建一个 PICTURE 的文件夹。在该文件夹里面新建 bmp.c、 bmp.h、 tjpgd.c、 tjpgd.h、 integer.h、 gif.c、 gif.h、 piclib.c 和 piclib.h 等 9 个文件。并将 PICTURE 文件夹加入头文件包含路径。其中 bmp.c 和 bmp.h 用于实现对 bmp 文件的解码;tjpgd.c 和 tjpgd.h 用于实现对 jpeg/jpg 文件的解码; gif.c 和 gif.h 用于实现对 gif 文件的解码;这几个代码太长了,所以我们在这里不贴出来,请大家参考光盘本例程的源码piclib.c 代码如下:_pic_info picinfo; /图片信息_pic_phy pic_phy; /图片显示物理接口/lcd.h 没有提供划横线函数,需要自己实现void picli

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号