音乐电子相册课程设计说明书Word格式.docx

上传人:b****2 文档编号:1003665 上传时间:2023-04-30 格式:DOCX 页数:17 大小:1.38MB
下载 相关 举报
音乐电子相册课程设计说明书Word格式.docx_第1页
第1页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第2页
第2页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第3页
第3页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第4页
第4页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第5页
第5页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第6页
第6页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第7页
第7页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第8页
第8页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第9页
第9页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第10页
第10页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第11页
第11页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第12页
第12页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第13页
第13页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第14页
第14页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第15页
第15页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第16页
第16页 / 共17页
音乐电子相册课程设计说明书Word格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

音乐电子相册课程设计说明书Word格式.docx

《音乐电子相册课程设计说明书Word格式.docx》由会员分享,可在线阅读,更多相关《音乐电子相册课程设计说明书Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

音乐电子相册课程设计说明书Word格式.docx

2.嵌入式技术

2.1嵌入式的介绍

IEEE(InstituteofElectricalandElectronicsEngineers,美国电气和电子工程师协会)对嵌入式系统的定义:

“用于控制、监视或者辅助操作机器和设备的装置”。

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。

通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。

事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

国内普遍认同的嵌入式系统定义为:

以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

2.2电子相册 

电子相册分为两种,一种是软件类型的电子相册,一种是硬件类型的电子相册,上文所讲的windowsmediaplayer等制作的电子相册,都属于软件类型,除此之外,还有一种电子相册为硬件类型,指能够不借助电脑可以在LCD面板上显示数码照片的电子产品的展示效果,还能够将照片显示到电视机上。

还可接U盘、SD卡、MMC卡,除播放图片外,还可播放MP3、内置左右双喇叭、边播放图片边听MP3、看手机AVI格式电影、DAT格式或MPEG格式或MPG格式电影(VCD文件)、VOB格式电影(DVD文件)(其它不支持的格式可以软件转换)、输出音频视频到电视机或音响,制作这种电子相册的产品称为电子相框,《电子工程杂志》将电子相框分为3类,简易电子相框、“多媒体”电子相框高级、“多媒体”电子相框。

3开发工具及环境 

3.1linux操作系统

Linux操作系统是多用户、多任务的操作系统,具有强大的可移植性、良好地编程环境和强大的网络工程。

Linux操作系统是一个免费的操作系统,由于Linux是由Linus开发的,故以Linux’sUNIX命名,简称Linux。

(1)开放性:

系统遵循标准规范,特别是遵循开放系统互连(OSI)国际标准。

(2)多用户:

系统资源可以被用户使用,每个用户对自己的资源(例如:

文件、设备)有特定的权限。

(3)多任务:

计算机同时执行多个程序,而且各个程序的运行互相独立。

(4)良好的用户界面:

Linux向用户提供了两种界面:

用户界面和系统调用。

Linux还为用户提供了图形用户界面。

它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

(5)设备独立性:

操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。

Linux是具有设备独立性的操作系统,内核具有高度适应能力。

(6)提供了丰富的网络功能:

完善的内置网络是Linux一大特点。

(7)可靠的安全系统:

Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

(8)良好的可移植性:

将操作系统从一个平台转移到另一个平台使它仍然能以自身的方式运行的能力。

Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。

3.2Mini2440开发板简介

Mini2440是一款真正低价实用的ARM9开发板,是目前国内性价比高的一款学习板;

它采用SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。

mini2440的PCB采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产。

如下图3.2开发板

图3.2开发板外观

3.3ARM处理器

ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。

微软在2012年10月26日发布的Windows8操作系统也支持ARM系列处理器。

在同一天发布的ARM架构版本微软Surface(搭载WindowsRT操作系统)中,微软已经采用了ARM处理器,这款产品或许意味着Windows平板电脑已经成为现实。

ARM处理器特点:

1.体积小、低功耗、低成本、高性能;

2.支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

3.大量使用寄存器,指令执行速度更快;

4.大多数数据操作都在寄存器中完成;

5.寻址方式灵活简单,执行效率高;

6.指令长度固定。

3.4交叉编译环境

3.4.1交叉编译

交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。

嵌入式软件开发需要交叉开发环境,这是其开发的一个显著特点,交叉编译器只是交叉开发环境的一部分,我们说的交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它及运行嵌入式应用软件的环境有所不同,常采用宿主机----目标机模式。

3.4.2关于交叉工具链

它是交叉编译环境所需工具的集合体,是所需软件(binuntials、gcc及glibc等)的安装载体,主要包括:

交叉编译器(arm-linux-gcc)、交叉汇编器(arm-linux-as)、交叉链接器(arm-linux-ld)、各种操作所依赖的库及用于处理可执行程序和库的一些基本工具(如arm-linux-strip)。

3.5开发环境的搭建

3.5.1建立嵌入式系统开发环境

(1)在PC上建立Linux操作系统的虚拟机

(2)建立PC、虚拟机和开发板之间的网络联系,使三者间可以相互通信。

IP地址配置方案:

1开发板IP地址:

192.168.1.230

2虚拟机IP地址:

192.168.1.100

3PC端IP地址:

192.168.1.200

(3)三者间相互通信搭建图,如下图所示

(2)网络联系搭建图

(4)在虚拟机侧,可以查看连接情况。

图(4)通信畅通图

3.5.2开发板的设置及连接

(1)开发板的启动模式选择,是通过拨动开关来决定的:

开关接到NorFlash标识一侧时,系统将从NorFlash启动;

开关接到NandFlash标识一侧时,系统将从NandFlash启动。

出厂的时候开发板的NorFlash和NandFlash已经烧入了相同的BIOS(因为该BIOS同时支持这两种Flash,只是开机后表现形式不同,请参考“开发板BIOS功能及使用说明”一节),开关已经被接到NandFlash一侧,系统一开机就从NandFlash启动运行系统。

(2)外部接口连接

¾

请使用我们提供的直连串口线连接开发板的串口0和PC机的串口

用我们提供的交叉网线将开发板的网络接口及PC相连

用我们提供的5V电源适配器连接到板上的5V输入插座

把音箱或者耳机的插头接入板上的音频输出口(绿色)

如果您有液晶屏,请按照数据线头的方向及开发板的LCD接口相连

用USB电缆连接开发板和PC

4.程序流程图

5.设计过程和结果

5.1电子相册图片设置

将找到的图片用photoshop将图像大小设置为240*320,并保存为bmp格式。

5.1.1BMP图片显示

这是本系统中的难点,也是关键技术。

Bmp图片就是通常所说的位图,,是一种及硬件设备无关的图像文件格式,使用非常广。

它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。

BMP文件的图像深度可选lbit、4bit、8bit及24bit。

BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

由于BMP文件格式是Windows环境中交换及图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

5.1.2BMP图片的显示方法

bmp图片的显示方法主要有三种:

(1)是使用内存调用方法显示bmp图片。

我们通常所说的屏幕就是屏显,在将bmp调色板区写入计算机调色板和已经读取bmp文件图像存储区到内存的基础上,再从内存将数据读取并显存只需要进行一个内存复制操作就可以了。

(2)是直接从文件读取到屏幕显示bmp文件。

这种方法将通过显示bmp文件所需要的内存空间、读取数据到申请的空间、显示等多步的任务简化成一步。

事实上也就是将读取文件数据到申请内存变到显示内存。

(3)采用绘点的方法将图片的像素按照图片文件的排列顺序逐个在屏幕上画出来。

5.2音乐文件的转换

本实验是将wav格式音乐转换为音乐数据写进内部Flash的,wav文件采用的是RIFF格式,音频格式为PCM编码,单声道,8000HZ,128kbps;

因此为获得转换数据,在虚拟机里编写了转换程序。

用音乐格式转换工具可以将其他格式的音乐,设置相关参数(例如采样率,声道数,立体声输出等),改为开发板允许播放的wav格式,参照照片数量,设置需要的时长,达到图片和音乐播放同步的效果。

5.3音乐电子相册制作

(1)将文件放入电脑D盘的share-unbantu文件夹中。

如下图所示:

(1)导入文件

(2)打开虚拟机,从虚拟机下的share文件夹中将图片复制到Student文件夹下。

(2)文件放入交互目录

(3)进入Student文件夹,看到刚刚放入Student中的图片和音乐。

图(3)查看放入的文件

(4)修改程序,将音乐和图片放入程序中。

图(4)程序修改

(5)进行交叉编译,如下图所示:

图(5)交叉编译

(6)在嵌入式开发板上显示相册图片,如下图所示:

图(6)效果图

6.总结

回顾起此次课程设计,我仍感慨颇多,从理论到实践,在这一段时间里,可以说得是苦多于甜,但是可以学到很多的东西,不仅是学习上的,而且是关于做人做事方面的感悟。

通过这次课程设计使我懂得了理论及实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识及实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

我在这次课程设计的过程中遇到了许多问题,同时也发现了自己的许多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些软件的使用方法,对编程语言掌握得不透彻。

还有,这次课程设计让我明白了只有自己懂,自己做,才不会在关键时刻掉链子。

别人学到的知识终究是别人的,路总是要自己走,属于自己的任务就要自己搞。

所以,我们必须要时刻强大自己,不要一味依赖别人。

这个过程虽然不是很平坦,肯定会遇到各种各样的问题,但一旦征服了它那它就是你的东西了,当这样的厚积达到一定程度那你就能享受到薄发那刻的辉煌。

参考文献

[1]郑君里,杨为理等.信号及系统.高等教育出版社.2006年12月

[2]赵健,李勇.数字信号处理.清华大学出版社.2007年2月

[3]阳昌汉,谢红等.高频电子线路.高等教育出版社.2007年4月

[4]王福昌,熊兆飞等.通信原理.清华大学出版社.2006年9月

[5]樊昌信,曹丽娜.通信原理.国防工业出版社.2010年7月

[6]常华,张海燕。

嵌入式系统原理及应用.清华大学出版社.2013年3月

附录:

部分代码:

#include<

stdio.h>

stdlib.h>

signal.h>

unistd.h>

staticvoidsig_usr(intsigno);

staticvoidsig_alarm(intsigno);

inti=1;

pid_tchild_pid;

intmain()

{

pid_tpid;

if(signal(SIGALRM,sig_alarm)<

0)perror("

signalSIGALRMerror:

"

);

if(signal(SIGUSR2,sig_usr)<

signalSIGUSR2error:

pid=fork();

if(pid==0){/*子进程*/

printf("

child_pid=%d\n"

getpid());

for(;

;

){

system("

./方大同–红豆.wav"

pause();

}

exit(0);

}

else{/*父进程*/

child_pid=pid;

alarm(3);

return0;

}

staticvoidsig_usr(intsigno)

intret;

SIGUSR2comming.....\n"

if((ret=kill(child_pid,SIGCONT))<

0)perror("

killerror:

staticvoidsig_alarm(intsigno)

char*str0,*str1,Display_img[50];

str0="

./LCD_imgyl"

str1="

.bmp"

sprintf(Display_img,"

%s%d%s"

str0,i,str1);

printf("

Display_img=%s\n"

Display_img);

i++;

kill(child_pid,SIGUSR2);

//向子进程发信号

system(Display_img);

if(i>

9){

kill(child_pid,SIGINT);

//结束子进程

kill(getpid(),SIGINT);

//结束父进程

./Audio_player方大同–红豆.wav"

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2