文档库 最新最全的文档下载
当前位置:文档库 › 基于fpga的音乐播放器的设计

基于fpga的音乐播放器的设计

基于fpga的音乐播放器的设计
基于fpga的音乐播放器的设计

1引言

1.1关于EDA技术

随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。

传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。然而,随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。

EDA技术的发展大致经历了三个阶段:20世纪70年代的CAD(计算机辅助设计)阶段、20世纪80年代的CAE(计算机辅助工程)阶段、20世纪90年代后的EDA(电子设计自动化)阶段。以下主要介绍第三个阶段。

EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征:

(1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。

(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。

(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。

(4)可测性综合设计。

(5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。

(6)建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。

总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

1.2关于VHDL

VHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。

使用VHDL语言描述的电路,可以进行综合和仿真。然而,值得注意的是,尽管所有VHDL代码都是可仿真的,但并不是所有代码都能综合。

VHDL被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关的,从而可以方便地进行移植和重用。VHDL两个最直接的应用领域是可编程逻辑器件(PLD)和专用集成电路(ASIC),其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。

关于VHDL最后要说明的是:与常规的顺序执行的计算机程序不同,VHDL从根本上讲是并发执行的。在VHDL中,只有在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)内部的语句才是顺序执行的。

1.3EDA工具

目前有多种EDA工具支持采用VHDL进行电路综合、仿真以及实现。比较常见的是Altera公司的QuartusⅡ开发平台和Xilinx公司的ISE开发平台。这些平台中使用的综合工具和仿真工具通常由专业的EDA厂商提供。本次设计中所使用的平台正是QuartusⅡ7.2,它是Altera公司提供的一套集成了编译、布局布线和仿真工具在内的综合开发环境。它能完成从代码输入到编译到仿真再到物理实现的全部设计流程。

1.4有关于本次课程设计

本次课程设计要求使用EDA工具,设计实现简易音乐演奏器,理解音名与频率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音乐器的播放功能。

我们知道,与利用单片机来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具与硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

在后面的章节中会详细介绍利用EDA技术实现简易音乐演奏器的过程。

2 设计实现

2.1准备知识

在本次设计中采用了铃声《祝你生日快乐》作为要播放的乐曲,它的旋律如下:

5 5 |

6 5 1|

7 —5 5|6 5 2|1 —5 5|5 3 1|7 6 —|0 0 4 4|3 1 2|1 —

根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。表2-1为简谱中音名与频率的对应关系。

表2-1 简谱音名与频率的关系

频率点及音符与音谱对应定义如表2-2所示。

表2-2音符语音谱定义

2.2乐曲演奏电路的结构示意

本设计由四个模块组成,如图2-3所示。

图2-3 乐曲演奏电路的结构示意

2.3乐曲演奏电路的子结构

顶层结构所包含的模块分别有音调发生器(ydfsq)模块、手动\自动选择(bmux)模块、音调编码器(ydbmq)模块及数控分频器(skfpq)模块。以下便是对各个子模块的分析。

2.3.1音调发生器模块

1.音调发生器模块的功能

在此模块中设置了一个8位二进制计数器(计数最大值为107),这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25s,恰好为当全音符设为1s时,四四拍的4分音符的持续时间。例如,ydfsq在以下的VHDL逻辑描述中,《祝你生日快乐》乐曲的第一个音符为“5”,此音在逻辑中停留了4个时钟节拍,即为1s时间,相应地所对应“1”音符分频预置数为1409在skfpq的输入端停留了1s。随着ydfsq 中的计数器按4Hz的时钟频率做加法计数时,乐谱逐次被选取,《祝你生日快乐》乐曲就开始自然连续而且循环的演奏起来了。

2.音调发生器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity ydfsq is

port(clk:in std_logic;

clkj:in std_logic_vector(1 downto 0);

rst:in std_logic;

toneindex:out integer range 0 to 14);

end ydfsq;

architecture bhv of ydfsq is

signal counter:integer range 0 to 107;

signal clker:std_logic;

signal count4:integer;

begin

process(clk)

begin

if clk'event and clk='1' then

if clkj="10" then

count4<=count4+1;

if count4>0 then

clker<=not clker;count4<=0;

end if;

elsif clkj="01" then

count4<=count4+1;

if count4>2 then

clker<=not clker;count4<=0;

end if;

else count4<=count4+1;

if count4>1 then

clker<=not clker;count4<=0;

end if;

end if;

end if;

end process;

process(clker,counter,rst)

begin

if rst='1' then

counter<=0;

elsif counter=107 then

counter<=0;

elsif clker'event and clker = '1' then counter<=counter+1;

end if;

end process;

process(counter)

begin

case counter is

when 0 to 3|8 to 11|24 to 27|32 to 35|48 to 51=>toneindex<=5;

when 4 to 7|28 to 31|68 to 75=>toneindex<=6;

when 16 to 23|64 to 67=>toneindex<=7;

when 12 to 15|40 to 47|60 to 63|92 to 95|100 to 107=>toneindex<=8;

when 96 to 99=>toneindex<=9;

when 56 to 59|88 to 91=>toneindex<=10;

when 84 to 87=>toneindex<=11;

when 52 to 55=>toneindex<=12;

when 76 to 83=>toneindex<=0;

when others=>NULL;

end case;

end process;

end bhv;

3.音调发生器模块的仿真图

2-4 音调发生器模块的仿真波形图

通过仿真图可以清楚的看到,时钟clk由0开始计数,每计一次数输出toneindex 的值随之发生一定的变化,只不过根据乐谱的不同,输出的变化也不尽相同。然后把输出toneindex输入到音调编码器模块,进行下一步编码工作。于是,由仿真图印证了ydfsq模块逐次选取音符的功能。

2.3.2手动\自动选择模块

1.手动\自动选择模块的功能

根据设计的要求,该简易乐曲演奏器能实现手动或自动演奏乐曲的功能。于是,可通过一个按键cs来进行自动与手动的选择,当cs按下时,乐曲自动演奏,其他情况下均为手动演奏乐曲,即可以通过按下其他的按键(与cs相连的按键除外)来控制不同的音符。与此同时,还需要一个复位信号rst来控制该演奏器是否工作,当rst为1时,停止演奏,为0时,可以演奏。以上提到的手动与自动的选择只能在rst为0时有效。

2.手动\自动选择模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity bmux is

port(d1:in integer range 0 to 14;

d2:in integer range 0 to 14;

cs,rst:in std_logic;

q:out integer range 0 to 14);

end bmux;

architecture bhv of bmux is

begin

process(cs,rst)

begin

if rst='1'then

q<=0;

else

case cs is

when '0'=>q<=d1;

when '1'=>q<=d2;

when others=>q<=d1;

end case;

end if;

end process;

end bhv;

3.手动\自动选择模块的仿真图

图2-5手动\自动选择模块的仿真波形图

此仿真图中输入cs代表手动\自动演奏的选择端,输入rst代表整体复位端,输入d1、d2分别代表手动和自动要演奏的音符,输出q代表经过选择后,要演奏的或是手动输入或是自动输入的音符。由此仿真图可清楚的看到当rst=1时,不论选择的是手动还是自动,输出都为零,达到了整体复位的功能;当rst=0且cs=1时,自动演奏乐曲,因为q与d2的值相同;当rst=0且cs=0时,手动演奏乐曲,因为

这时的q与d1的值相同,从而也达到了演奏方式选择的功能。

2.3.3音调编码器模块

1.音调编码器模块的功能

此模块的功能首先是为skfpq提供决定所发音符的分频预置数,而此数在skfpq 输入端口停留的时间即为此音符的节拍值。ydbmq模块是乐曲简谱码对应的分频预置数查表电路,其中设置了《祝你生日快乐》乐曲全部音符所对应的分频预置数,共9个,每一音符的停留时间由音乐节拍和音调发生器模块ydfsq的clk输入频率决定,在此为4Hz。这9个值的输出由对应于ydbmq的4位输入值index[3..0]来确定。与此同时,code[3..0]和code1[3..0]这两个输出接2个数码管分别显示乐曲音符的高、中、低音(“0”代表低音,“1”代表中音,“2”代表高音)和乐曲演奏的音符(高、中、低1~7音符)。

2.音调编码器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity ydbmq is

port(index:in integer range 0 to 14;

code:out integer range 0 to 15;

code1:out integer range 0 to 15;

tone:out integer range 0 to 2047);

end ydbmq;

architecture bhv of ydbmq is

begin

process(index)

begin

case index is

when 0=>tone<=2047;code<=0;code1<=0;

when 1=>tone<=1091;code<=1;code1<=1;

when 2=>tone<=1195;code<=2;code1<=1;

when 3=>tone<=1288;code<=3;code1<=1;

when 4=>tone<=1331;code<=4;code1<=1;

when 5=>tone<=1409;code<=5;code1<=1;

when 6=>tone<=1479;code<=6;code1<=1;

when 7=>tone<=1541;code<=7;code1<=1;

when 8=>tone<=1569;code<=1;code1<=2;

when 9=>tone<=1621;code<=2;code1<=2;

when 10=>tone<=1668;code<=3;code1<=2;

when 11=>tone<=1689;code<=4;code1<=2;

when 12=>tone<=1728;code<=5;code1<=2;

when 13=>tone<=1763;code<=6;code1<=2;

when 14=>tone<=1794;code<=7;code1<=2;

when others=>NULL;

end case;

end process;

end bhv;

3.音调编码器模块的仿真图

图2-6 音调编码器模块的仿真波形图

在此仿真图中从上到下依次代表输出code、输出code1、输入index和输出tone。通过此仿真图能清楚的看到当音符分别为3、5、8、13、0时,它们所对应的分频预置数tone分别是1288、1409、1569、1763、2047;所对应的音谱code分别是3、5、1、6、0;所对应的高中低音code1又分别是1(中)、1(中)、2(高)、2(高)、0(低)。其中code、code1能分别在两个数码管上显示,而tone则输入到数控分频模块作为分频的依据。于是,由仿真图印证了音调编码模块传送预置数及显示功能。

2.3.4数控分频器模块

1.数控分频器模块的功能

该模块的clk端输入一个具有较高频率(本实验为12MHz)的信号,通过skfpq 分频后由spkout输出。由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲信号,为了便于驱动喇叭,需另加一个D触发器均衡其占空比,也即作二分频处理。skfpq对clk输入信号的分频比由11位预置数tone[10..0]决定。spkout的输出频率将决定每一音符的音调,这样分频计数器的预置数tone[10..0]与spkout的输出频率就有了对应关系。例如在ydbmq模块中取tone[10..0]=1479,作为发音符为“6”音的信号频率。

2.数控分频器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity skfpq is

port(clk:in std_logic;

tone:in integer range 0 to 2047;

spks:out std_logic);

end skfpq;

architecture bhv of skfpq is

signal preclk:std_logic;

signal fullspks:std_logic;

begin

process(clk)

variable count4:integer range 0 to 14; begin

preclk<='0';

if count4>11 then

preclk<='1';count4:=0;

elsif clk'event and clk='1' then

count4:=count4+1;

end if;

end process;

process(preclk,tone)

variable count11:integer range 0 to 2047; begin

if preclk'event and preclk='1'then

if count11=2047 then

count11:=tone;fullspks<='1';

else

count11:=count11+1;fullspks<='0';

end if;

end if;

end process;

process(fullspks)

variable count2:std_logic;

begin

if fullspks'event and fullspks='1' then

count2:=not count2;

if count2='1'then

spks<='1';

else

spks<='0';

end if;

end if;

end process;

end;

3.数控分频器模块的仿真图

图2-7 数控分频器模块的仿真波形图

在此仿真图中,输入clk是一个频率较大的时钟信号,输入tone代表着某个音符的分频预置数,输出spks则代表将输入clk先经过12次分频,再经过(预置数终值2048-tone)次分频,最终在进行二分频处理后的信号,而这个信号的频率就是我们需要演奏的音谱的频率,根据频率的不同,从而能通过喇叭听到不同的声音,这就是我们一直想要演奏的乐曲了!

2.4顶层文件

2.4.1顶层音乐演奏器源程序

library ieee;

use ieee.std_logic_1164.all;

entity yyyzq is

port(clk1,clk2,cs,rst:in std_logic;

d1:in integer range 0 to 14;

clkj:in std_logic_vector(1 downto 0);

code,code1:out integer range 0 to 15;

spks:out std_logic);

end yyyzq;

architecture bhv of yyyzq is

signal x,y:integer range 0 to 14;

signal z:integer range 0 to 2047;

component ydfsq is

port(clk:in std_logic;

rst:in std_logic;

clkj:in std_logic_vector(1 downto 0);

toneindex:out integer range 0 to 14);

end component;

component bmux is

port(d1:in integer range 0 to 14;

d2:in integer range 0 to 14;

cs,rst:in std_logic;

q:out integer range 0 to 14);

end component;

component ydbmq is

port(index:in integer range 0 to 14;

code:out integer range 0 to 15;

code1:out integer range 0 to 15;

tone:out integer range 0 to 2047);

end component;

component skfpq is

port(clk:in std_logic;

tone:in integer range 0 to 2047;

spks:out std_logic);

end component;

begin

u1:ydfsq port map(clk=>clk1,clkj=>clkj,toneindex=>x,rst=>rst);

u2:bmux port map(d1=>d1,d2=>x,cs=>cs,rst=>rst,q=>y);

u3:ydbmq port map(index=>y,code=>code,code1=>code1,tone=>z); u4:skfpq port map(clk=>clk2,tone=>z,spks=>spks);

end bhv;

2.4.2顶层音乐演奏器原理图

经过了各个子模块的分析与验证后,我们只需将各个子模块之间的输入输出端、子模块与整体电路之间的输入输出端进行正确的硬件连接就得到了顶层音乐演奏器的原理图,如图2-8所示:

图2-8 乐曲演奏电路的顶层原理图

2.4.3顶层程序仿真波形图

图2-9 顶层程序的仿真波形图

首先,介绍一下总体程序中各个引脚的作用及硬件连接情况:输入clk1是一个频率较小的时钟信号,在进行硬件下载时它与实验箱上clock0模块的16Hz频率相连,它决定着乐曲演奏的快慢;输入clk2是一个频率较大的时钟信号,因为要对它进行多次不同的分频,下载时它与实验箱上clock9模块的12MHz频率相连;输入d1[3..0]是当手动演奏时自己确定的音符,下载时它与实验箱上的按键6、5、4、3相连;输入rst和cs分别是整体复位端和演奏方式选择端,它们分别与实验箱上的按键2、1相连;输出code和code1分别用来显示音谱与高中低音,它们分别与实验箱上的数码管1和2相连(提示:选择工作模式为模式5);输出spks要与实验箱上的喇叭相连,用来发出声音。

其次,顶层电路的仿真波形图是否正确依赖于各个子模块的功能是否完善,同时顶层电路的功能实现又验证了各个子模块的正确性,二者相互依存。

3 结论

(1) 本次简易乐曲演奏器的设计经过了整体分析、模块化分析、整体与模块的仿真分析这样三个步骤,硬件实现了整体复位、按键选择演奏方式、循环演奏以及数码管显示乐谱的功能。

(2) 在做数控分频器模块的仿真时一定要处理好时序问题。

(3) 本次设计可以说达到了设计要求,但尚有需要改进的地方。随着乐谱的复杂程度加大,如果依然在音调发生器的程序中通过时钟计数来决定音符的输出,会加大编程的繁杂度,这时一个很好的解决办法就是把将要演奏的乐谱存放在人为开辟的存储空间里,这样只需要在相应地址中读出音符即可。

谢辞

本学期最后两周我们07电信本2班做的是基于EDA的音乐演奏器的课程设计。两周的课程设计已经接近尾声,这是我们本学期最后的一次课设,首先要感谢我们的学校领导为我们提供了多次动手锻炼的机会,增强了我们的实践能力。这次课程设计,不仅使我更加熟悉了VHDL语言、QuartusⅡ软件,而且真正体会到了“实践出真知”这句话的真谛。

在这三次的课设进程中,永久不变的是各位指导老师的悉心教导,耐心指教。尤其在本次设计中,郭老师给了我及时的帮助,让我茅塞顿开、受益匪浅,在此对两位老师表示深深的谢意。

最后,课程设计虽然是个人探索研究取得进步的过程,但依然离不开同学之间的相互探讨与帮助,集体的思维是开阔的,集体的智慧是无限的,再难的课题也会被集体的力量所攻破。因此我还要向那些给我提供帮助的同学们表示感谢。

参考文献

[1] 张顺兴.数字电路与系统设计.第1版.南京:东南大学出版社,2004

[2] 王玉秀.电工电子基础实验.第1版.南京:东南大学出版社,2006

[3] 孙肖子.模拟电子技术基础.第1版.西安:西安电子科技大学出版社,2001.1

[4] 谢自美.电子线路设计?实验?测试.第2版.武昌:华中科技大学出版社,2000.7

[5] 张豫滇.电子电路课程设计.第1版.南京:河海大学出版社,2005.8

[6] 沈明山.EDA技术及可编程器件应用实训,科学出版社,2004.6(4):318-326

[7] 刘婷婷,李军.电子设计自动化(EDA).北京师范大学出版社,2007,9(2):250-257

[8] 赵明富,李立军.EDA技术基础,北京大学出版社,2007.5(5):221-224

附录Ⅰ模式5电路图

附录Ⅱ引脚锁定表

目录

1引言 (1)

1.1关于EDA技术 (1)

1.2关于VHDL (2)

1.3EDA工具 (2)

1.4有关于本次课程设计 (2)

2 设计实现 (3)

2.1准备知识 (3)

2.2乐曲演奏电路的结构示意 (4)

2.3乐曲演奏电路的子结构 (4)

2.3.1音调发生器模块 (4)

2.3.2手动\自动选择模块 (6)

2.3.3音调编码器模块 (8)

2.3.4数控分频器模块 (9)

2.4顶层文件 (11)

2.4.1顶层音乐演奏器源程序 (11)

2.4.2顶层音乐演奏器原理图 (13)

2.4.3顶层程序仿真波形图 (13)

3 结论 (14)

谢辞 .................................................................................................. 错误!未定义书签。参考文献 .. (16)

附录Ⅰ模式5电路图 (17)

附录Ⅱ引脚锁定表 (18)

音乐盒设计

基于89c52单片机音乐播放的设计安庆师范学院物理与电气工程学院

1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 3.1 硬件电路 (2) 3.2 原理说明 (2) 4、软件设计 (2) 5、仿真、安装和调试 (5) 6、收获与体会 (6) 附件1:元件清单 (6) 附件2: 总仿真电路图 (7) 附件3:音乐程序 (8)

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8052的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F==Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 高音D0的T=65536-500000/1047=65059

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.wendangku.net/doc/794093631.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.wendangku.net/doc/794093631.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

嵌入式MP3播放器的设计

嵌入式MP3播放器的设计 1 系统概述 本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过触摸屏实现按键功能,控制播放上一首/下一首、音量增减等;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。 MP3播放过程是STM32通过SPI1接口将数据从SD卡中取出,然后通过SPI2接口送至解码芯VS1003解码播放。这里解码模块单独使用一个SPI接口,以减小干扰和噪声、提高音质。 2 系统硬件设计方案 本系统在硬件上分为6个模块: 微控制器STM32F103、解码模块VS1003、存储模块SD卡、触摸屏、USB接口和显示屏LCD。系统硬件框架如图5所示。 VS1003 STM32 图5 系统硬件框架图 2.1 存储模块设计 SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。SD卡支持两种总线方式: SD方式与SPI方式。其中SD 方式采用6线制,而SPI方式采用4线制,采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD方式或SPI方式。 在本设计中,音频数据MP3文件是以SD卡为载体。所以在电路设计中必须含有读取SD卡模块。该系统使用STM32内部接口SPI1与SD卡进行通信,下面介绍其引脚连接情况。 PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通

基于FPGA的音乐播放器

基于FPGA的音乐播放器 尝试利用FPGA开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV文件。 一、基本要求:制作音乐播放器(50分) (1)除了外置的音频功率放大器之外,本系统的主体部分(单片机)应基于STI51开发板,音乐来源于SD卡(或MMC卡、TF卡)(10分) (2)制作一个音频功率放大器,能够实现音频信号的功率放大功能,并能成驱动普通扬声器或耳机。(10分) (3)能够播放单声道、8位,采样率为1.5K(或更高)的WAV文件。实际播放时,歌声、伴奏声能依稀可辨。(30分) 二、提高要求:提高音乐播放器的音质(50分) (1)能够播放单声道、8位,采样率为2.5K或更高的WAV文件。实际播放时,歌声、伴奏声清晰可辨。(20分) (2)音频功率放大器从FPGA开发板取电,使用USB即可完成系统所有器件的供电。(10分) (3)改造一切可以改造的部分以提高播放器的音质。(20分) (提示:可以利用Adobe Audition软件编辑WAV文件并改变音频位数与采样率;可以利用Ultraedit软件以二进制方式查看WAV文件;WAV文件数据区的每一个字节顺次送入D/A中即可实现WAV文件的播放。) 起草人:刘文浩 2010-11-25,04:43

若具备一定的基础,以下内容可以忽略。 下面的内容是利用单片机制作音乐播放器的步骤。 题目分析 1 系统开发步骤 本题目对于刚学习完单片机尚未上手的同学来说可能难度较大,刚开始就着手制作一个以SD卡(或MMC卡、TF卡)为存储介质的音乐播放器并且要想尽办法提高播放音乐的音质具有较大难度,且容易让制作者失去继续制作下去的信心。建议在制作过程中循序渐进,一步一步逐步深入逐渐实现以下功能: 第一步:能够播放存储在单片机程序(ROM)中的音乐。(参考时间:4天) 第二步:通过串口调试助手向单片机发送WAV文件,使单片机能够播放计算机发出的WAV文件数据流。(参考时间:3天) 第三步:能够播放通过计算机拷贝在SD卡(MMC卡、TF卡)的根目录中的第一个WAV文件。(参考时间:12天) 第四步:尽可能的提高播放的音乐的音质。(参考时间:-_- ) 当然了如果做此题的同学感兴趣则可以继续下去完成以下功能: 第五步:播放通过计算机拷贝在SD卡(MMC卡、TF卡)中的所有文件并支持歌曲名称显示、上一首下一首歌切换功能。(参考时间:12天) 第六步:播放通过计算机拷贝在普通U盘的根目录中的第一个WAV文件。(参考时间:30天) 注:以上的参考时间为一个具有三个人的团队每天正常奋斗1~2小时(队友之间不吵架^_^、各种开发调试工具齐全好用,含硬件制作、软件编写及其调试)的情况下衡量的。仅仅用来表示各个步骤开发的相对难度,仅供参考。

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

音乐盒设计

机电学院单片机课程设计 任务书 设计名称:音乐盒的设计 学生姓名:*** 指导教师:***** 起止时间:自*** 年* 月* 日起至*** 年*月* 日止 一、课程设计目的 利用AT89C51系列单片机,实现两首歌曲的依次、循环播放,并在播放歌曲的同时,与之对应的LED灯亮起,形成三种绚丽的灯光效果,制作成一个简单的音乐盒。 二、课程设计任务和基本要求 设计任务: 1.运用AT89C51系列单片机的技术原理,通过硬件电路制作以 及软件编译,设计制作出一个多功能音乐盒; 2.运用2N2905三极管放大技术,对扬声器音频信号进行放大, 实现音乐播放功能; 3.8个LED灯对应音乐的不同音阶,实现伴随音乐播放,发出 不同的花样效果的功能。 基本要求: 1. 能够实现设计任务的基本功能; 2. 至少设计两种音乐的播放和三种灯光效果的制作; 3. 能够完成音乐盒实物的焊接; 4. 完成设计后独立撰写3000字左右的设计报告。

目录 摘要 (1) 关键字 (1) 1 概述 (2) 1.1设计意义 (2) 1.2设计方案 (2) 1.3设计内容 (2) 2 硬件设计 (3) 2.1音乐盒的结构框图 (3) 2.2单片机模块 (3) 2.2.1 AT89C51系列单片机介绍 (3) 2.2.2 最小系统 (4) 2.3扬声器模块 (4) 2.4LED显示模块 (5) 2.5按键模块 (5) 3 软件设计 (6) 3.1音乐盒的功能框图 (6) 3.2音调、节拍以及编码的确定方法 (6) 3.2.1 音调的确定 (6) 3.2.2 节拍的确定 (7) 3.2.3 编码 (8) 3.3软件程序设计 (9) 3.3.1 程序流程图 (9) 3.3.2 程序源代码 (10) 4 调试 (10) 4.1实验环境 (10) 4.1.1 PROTEUS软件简介 (10) 4.1.2 KEIL简介 (11) 4.2仿真调试 (11) 4.3花样灯3种效果 (12) 4.4实物调试 (13) 5 总结 (14) 参考文献 (15) 附录 (16) 附录1仿真电路图 (16) 附录2实物图 (16) 附录3元器件清单 (16) 附录4程序源代码及注释 (17)

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类:import .*; public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon("d:\\"); private ImageIcon iconPre = new ImageIcon("d:\\"); private ImageIcon iconNext = new ImageIcon("d:\\"); private ImageIcon iconPause = new ImageIcon("d:\\"); public static void main(String[] args) { new MusicPlayer(); } public MusicPlayer() { init(); } public void init() { frame = new JFrame(); ("音乐播放器"); (400, 300); (false); (null); ; menubar = new JMenuBar(); menuFile = new JMenu("文件");

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计2 设计题目Android音乐播放器的设计与实现实习时间 专业班级12级计算机科学与技术 指导老师刘想 教学单位(盖章) 小组成员分工情况: 学号姓名分工 3018 周生明音乐播放的设计与实现1052曹法瑞 1040 张正奎 1055 李元华 2049 王山 二〇一五年六月三十日

目录 摘要 ................................................................................................................ 错误!未定义书签。 1 引言 ............................................................................................................ 错误!未定义书签。 2 可行性分析................................................................................................. 错误!未定义书签。 2.1 技术可行性...................................................................................... 错误!未定义书签。 2.2 经济可行性...................................................................................... 错误!未定义书签。 2.3 管理可行性...................................................................................... 错误!未定义书签。 2.4 可行性分析结论.............................................................................. 错误!未定义书签。 3 系统需求分析............................................................................................. 错误!未定义书签。 3.1 功能分析.......................................................................................... 错误!未定义书签。 3.2 数据流程分析.................................................................................. 错误!未定义书签。 4 系统功能设计............................................................................................. 错误!未定义书签。 4.1 播放器功能结构.............................................................................. 错误!未定义书签。 4.1.1 播放器主界面功能模块....................................................... 错误!未定义书签。 4.1.2 播放器菜单功能模块........................................................... 错误!未定义书签。 4.2 播放器功能流程.............................................................................. 错误!未定义书签。 5 系统实现..................................................................................................... 错误!未定义书签。 5.1 播放器主界面功能列表.................................................................. 错误!未定义书签。 5.2 播放器基本功能的实现.................................................................. 错误!未定义书签。 5.3 播放列表的实现.............................................................................. 错误!未定义书签。 6 软件测试与验证......................................................................................... 错误!未定义书签。 6.1 软件测试的目的.............................................................................. 错误!未定义书签。 6.2 软件测试的方法.............................................................................. 错误!未定义书签。 6.3 软件测试环境.................................................................................. 错误!未定义书签。 6.3.1 android模拟器 ...................................................................... 错误!未定义书签。 6.3.2 真机测试............................................................................... 错误!未定义书签。 6.4 软件测试流程与结果评估.............................................................. 错误!未定义书签。 6.4.1 测试流程............................................................................... 错误!未定义书签。 6.4.2 结果评估............................................................................... 错误!未定义书签。

VHDL音乐播放器

洛阳理工学院 课程设计报告 课程名称 EDA技术与VHDL 设计题目音乐播放器的设计与仿真 专业通信工程 班级 B1105 学号 B1105 姓名 完成日期 2014年12月22日

前言 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 (6)建立并设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

单片机课程设计---电子音乐盒的设计

课程设计(说明书) 电子音乐盒的设计 院(系)名称工学院机械系 专业名称机械设计制造及其自动化学生姓名 指导教师 2013年01月12日

课程设计任务书 题目: 电子音乐盒的设计 课程:单片机课程设计 课程设计时间 2012年12月21 日至2012年1 月3日共2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页) 1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前

加程序功能注释。 3.工作计划 4.主要参考资料 单片机课程设计指导书皮大能北京理工大学出版社2010.7 8051单片机实践与应用吴金戎清华大学出版社2003.8 单片机技术基础教程与实践夏路易电子工业出版社2008.1 MCS-51单片机原理接口及应用王质朴北京理工大学出版社2009.11 基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2009.7 指导老师签字: 日期:

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

基于fpga的音乐播放器的设计.

1引言 1.1关于EDA技术 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。然而,随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。 EDA技术的发展大致经历了三个阶段:20世纪70年代的CAD(计算机辅助设计)阶段、20世纪80年代的CAE(计算机辅助工程)阶段、20世纪90年代后的EDA(电子设计自动化)阶段。以下主要介绍第三个阶段。 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 (6)建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

相关文档
相关文档 最新文档