当前位置:文档之家› EDA_简易音乐播放器设计

EDA_简易音乐播放器设计

EDA_简易音乐播放器设计
EDA_简易音乐播放器设计

目录

1 引言 (2)

2 设计任务及设计要求 (2)

3 设计原理及总体思路 (3)

4 各单元模块的设计 (5)

5 总电路设计 (17)

6 设计调试体会与总结 (18)

参考文献 (23)

1 引言

《EDA课程设计》(注:EDA即电子设计自动化,Electronics Design Automation)是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类、自控类和电子类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件,并能利用EDA软件设计一个电子技术综合问题,并在实验箱上成功下载,为以后进行工程实际问题的研究打下设计基础。

1.通过课程设计使学生能熟练掌握一种EDA软件的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。

2.通过课程设计使学生能利用EDA软件进行至少一个电子技术综合问题的设计,设计输入可采用图形输入法或AHDL硬件描述语言输入法。

3.通过课程设计使学生初步具有分析寻找和排除电子电路中常见故障的能力。

4.通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。

2 设计任务及设计要求

设计一个简易硬件播放器并能播放多首音乐(最少四首),可通过按键手动控制音乐播放。在播放音乐的同时可实现音谱与音高的显示,并通过16个LED 小灯显示不同音调的变化。

使用VHDL语言设计音调发生模块,音调编码模块,乐曲存储模块,控制模块,小灯控制模块,数字显示模块,音谱与音高输出模块等各个模块。

3 设计原理及总体思路

产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器(CPU)来实现乐曲演奏要复杂的多如果不借助于功能强大的EDA 工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。根据设计要求,乐曲硬件演奏电路系统主要由音频发生模块和乐曲存储模块组成。音频发生模块对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。

3.1 音名与频率的关系

音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍.在两个八度音之间,又可分为十二个半音,每两个半音的频率比为4。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间,E 到F之间为半音,其余为全音,由此可以计算出简谱中从低音1到高音1之间每个音名的频率如表3-1所示。

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

由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取舍合适的基准频率。本

例中选取12MHz的基准频率,若无12MHz的时钟频率,实际上,只要各个音名间的相对品频率关系不变,C作1与D作1演奏出的音乐听起来都不会“走调”。各音阶频率及相应的分频系数如表2所示。为了减少输出的偶次谐波分量,最后输出到扬声器的波形应为对称方波,因此在到达扬声器之前,有一个二分频的分频器。表3-2中的分频系数就是从500KHZ频率二分频得到的250KHZ频率基础上计算得出的。

表3-2 各音阶频率对应的分频值

由于最大的分频系数为1274,故采用13位二进制计数器已能满足分频要求。在表3-2,除给出了分频比以外,给出了对应于各个音阶频率时计数器不同的初始值,对于乐曲中的休止符,要将分频系数设为0,即初始值为2047即可,此时扬声器将不会发声。对于不同的分频系数,加载不同的初始值即可。

3.2 节拍控制原理

该演奏电路演奏的乐曲是“梁祝”等片段,其最小的节拍为1拍。将1拍的时长定为0.25秒,则需要再提供一个4Hz的时钟频率即可产生1拍的时长,演奏的时间控制通过音符的多次重复的方式来完成。

对于占用时间较长的节拍,如全音符为4拍(重复4),2/4音符为2拍(重复2),1/4音符为1拍(重复1)。

由于乐理规律对于任何一首音乐都是普遍适用的,所以以上原理对于其他三首乐曲同样适用。

4 各单元模块的设计

4.1 音频发生模块

4.1.1 模块引脚

图4-1 speaker模块

4.1.2 模块功能

如图4-1,en为使能引脚,当en引脚接高电平时speaker模块使能可正常工作。clk为时钟信号引脚,为speaker模块提供时钟信号。tone[10..0]为11位的音调初始值信号并行总线,可快速的为speaker模块输送音调初始值信号,保证乐曲演奏的流畅性。spks为电信号输出引脚,连接蜂鸣器将电信号转化为声信号。该模块中有一个4位的计数器用于将12MHz时钟信号进行十二分频产生1MHz的基准信号。一个11位的递增计数器用于赋音调初始值对基准信号进行频,最后进行二分频产生对称方波。

初始值D = 计数最大值N - 分频系数n (1) 4.1.3 VHDL程序

library ieee;

use ieee.std_logic_1164.all;

entity speaker is

port(

en : in std_logic;

clk : in std_logic;

tone : in integer range 0 to 16#7ff#; --"2047"

spks : out std_logic);

end speaker;

architecture behav of speaker is

signal preclk : std_logic;

signal fullspks : std_logic;

begin

divideclk: process(clk) --12分频variable count4 : integer range 0 to 15;

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;

genspks : process(preclk,tone)--"preclk=1MHZ";

variable count11 : integer range 0 to 16#7ff#;

begin

if preclk'event and preclk='1' then --频率控制

if count11=16#7ff# then --b"111,1111,1111"

count11:=tone; -- 初始值D = 计数最大值N - 分频系数n

fullspks<='1';

else count11:=count11+1;

fullspks<='0';

end if;

end if;

end process;

delay: process(fullspks)--"fullspks=488.2815HZ"; 二分频variable count2 : std_logic;

begin

if fullspks'event and fullspks='1' then

count2:=not count2;

if en='0' then

spks<='0'; --gaile elsif count2='1' then

spks<='1';

else

spks<='0'; --"spks=244.14075HZ"

end if;

end if;

end process;

end behav;

4.2 音频编码模块

4.2.1 模块引脚

图4-2 tonetaba模块

4.2.2 模块功能

如图4-2,index[3..0]为4位的音符输入并行总线,用于为tonetaba 模块输送音符信号。tone[10..0]为11位的音调初始值信号输出并行总线,为speaker 模块提供音调初始值信号。code[3..0]为4位的音谱输出并行总线,为SELTIME 模块提供音谱信号。high[1..0]为2位的音高输出并行总线,为SELTIME 模块提供音高信号。该模块将输入的音符信号转化为音调初始值(tone),对应的音谱(code)及音高(high)并输出。

4.2.3 VHDL程序

library ieee;

use ieee.std_logic_1164.all;

entity tonetaba is

port(

index : in integer range 0 to 15;

tone : out integer range 0 to 16#7ff#; --"2047"

code : out integer range 0 to 15;

high : out integer range 0 to 2);

end tonetaba;

architecture behav of tonetaba is

begin

search:process(index)

begin

case index is

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

when 1=>tone<=773; code<=1; high<=0;

when 2=>tone<=912; code<=2; high<=0;

when 3=>tone<=1036; code<=3; high<=0;

when 5=>tone<=1197; code<=5; high<=0;

when 6=>tone<=1290; code<=6; high<=0;

when 7=>tone<=1372; code<=7; high<=0;

when 8=>tone<=1410; code<=1; high<=1;

when 9=>tone<=1480; code<=2; high<=1;

when 10=>tone<=1542; code<=3; high<=1;

when 12=>tone<=1622; code<=5; high<=1;

when 13=>tone<=1668; code<=6; high<=1;

when 15=>tone<=1728; code<=1; high<=2;

when others=>null;

end case;

end process;

end behav;

4.3 乐曲储存模块

4.3.1 模块引脚

图4-3 notetabs模块

4.3.2 模块功能

如图4-3,clk为时钟信号引脚为模块提供时钟信号,clr为计数器清零引脚,当clr为高电平时notetabs 模块中的乐曲播放计数器清零。add[1..0]为2位的乐曲地址选择并行总线,可通过不同的地址值选择不同的乐曲。cs为片选信号引脚当cs为高电平时模块才能正常工作反之无法工作。index[3..0]为4位的音符信号输出并行总线,为tonetaba 模块和LED模块提供音符信号。该模块中有一个8位的播放计数器为乐谱的连续查询提供计数,当达到一定计数值后自动清零实现同一首乐曲的重复播放。

4.3.3 VHDL程序

library ieee;

use ieee.std_logic_1164.all;

entity notetabs is

port(

clk,clr: in std_logic;

add : in std_logic_vector(1 downto 0);

cs: in std_logic;

index : out integer range 0 to 15);

end notetabs;

architecture behav of notetabs is

signal counter : integer range 0 to 255;

begin

cnt8: process(clk,cs)

begin

if cs='0' then

counter<=0;

elsif add="00" and counter=138 then

counter<=0; --每一首歌都循环播放

elsif add="01" and counter=127 then

counter<=0;

elsif add="10" and counter=183 then

counter<=0;

elsif add="11" and counter=131 then

counter<=0;

elsif clr='1' and clr'LAST_VALUE='0' then

counter<=0;

elsif clk'event and clk='1' then

counter<=counter+1;

end if;

end process;

search : process(counter)

begin

if add="00" then

case counter is

when 00=>index<=3;

when 01=>index<=3;

when 02=>index<=3;

--此处省略

when 135=>index<=5;

when 136=>index<=0;

when 137=>index<=0;

when 138=>index<=0;

when others=>null;

end case;

end if;

if add="01" then

case counter is

when 00=>index<=13;

when 01=>index<=13;

when 02=>index<=13;

--此处省略

when 124=>index<=5;

when 125=>index<=0;

when 126=>index<=0;

when 127=>index<=0;

when others=>null;

end case;

end if;

if add="10" then

case counter is

when 00=>index<=10;

when 01=>index<=10;

when 02=>index<=12;

--此处省略

when 180=>index<=8;

when 181=>index<=8;

when 182=>index<=8;

when 183=>index<=8;

when others=>null;

end case;

end if;

if add="11" then

case counter is

when 00=>index<=6;

when 01=>index<=6;

when 02=>index<=6;

--此处省略

when 128=>index<=6;

when 129=>index<=0;

when 130=>index<=0;

when 131=>index<=0;

when others=>null;

end case;

end if;

end process;

end behav;

4.4 控制模块

4.4.1 模块引脚

图4-4 control模块4.4.2 模块功能

如图4-4,switch为控制引脚当其为上升沿时乐曲地址自动加一,当加到最大值时自动清零。en为使能引脚当刚en引脚为高电平时outcs引脚也为高电平,反之为低电平。add[1..0]为乐曲地址总线当add为00时选择第1首乐曲,为01时选择第2首乐曲,为10时选择第3首乐曲,为11时选择第4首乐曲。outcs 为notetabs 模块片选控制引脚,当outcs引脚为高电平时选中notetabs 模块。

4.4.3 VHDL程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity control is

port(switch,en: in std_logic;

add: out std_logic_vector(1 downto 0);

outcs: out std_logic);

end control;

architecture one of control is

signal add_r:std_logic_vector(1 downto 0);

begin

add<=add_r;

process(switch,en)

begin

if en='0' then

outcs<='0';

else

outcs<='1';

end if;

if rising_edge(switch) then

add_r<=add_r+1;

end if;

end process;

end one;

4.5 小灯控制模块

4.5.1 模块引脚

图4-5 LED模块

4.5.2 模块功能

如图4-5,NUM[3..0]为4位的音符信号输入并行总线。LIGHT[15..0]为16位的LED灯控制并行总线,控制LED小灯的亮灭及其亮灭个数。能依次点亮并保持不同数目的LED小灯且不同的音符对应由低到高的不同的亮灯个数。

4.5.3 VHDL程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY LED IS

PORT(

NUM: IN INTEGER RANGE 0 to 15;

LIGHT: OUT STD_LOGIC_VECTOR(15 DOWNTO 0)

);

END LED;

ARCHITECTURE ONE OF LED IS

BEGIN

PROCESS(NUM)

BEGIN

CASE NUM IS

WHEN 0=> LIGHT<="0000000000000001";

WHEN 1=> LIGHT<="0000000000000011";

WHEN 2=> LIGHT<="0000000000000111";

WHEN 3=> LIGHT<="0000000000001111";

WHEN 4=> LIGHT<="0000000000011111";

WHEN 5=> LIGHT<="0000000000111111";

WHEN 6=> LIGHT<="0000000001111111";

WHEN 7=> LIGHT<="0000000011111111";

WHEN 8=> LIGHT<="0000000111111111";

WHEN 9=> LIGHT<="0000001111111111";

WHEN 10=>LIGHT<="0000011111111111";

WHEN 11=>LIGHT<="0000111111111111";

WHEN 12=>LIGHT<="0001111111111111";

WHEN 13=>LIGHT<="0011111111111111";

WHEN 14=>LIGHT<="0111111111111111";

WHEN 15=>LIGHT<="1111111111111111";

END CASE;

END PROCESS;

END ONE;

4.6 数字显示模块

4.6.1 模块引脚

图4-6 DELED模块

4.6.2 模块功能

如图,S[3..0] 为4位的十六进制数字输入并行总线。A,B,C,D,E,F,G,H各引脚分别连接数码管的对应段选引脚是数码管显示S[3..0]所输入的十六进制数字。

4.6.3 VHDL程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DELED IS

PORT(

S: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

A,B,C,D,E,F,G,H: OUT STD_LOGIC);

END DELED;

ARCHITECTURE BEHAV OF DELED IS

SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL DOUT:STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

DATA<=S;

PROCESS(DATA)

BEGIN

CASE DATA IS

WHEN "0000"=>DOUT<="00111111";

WHEN "0001"=>DOUT<="00000110";

WHEN "0010"=>DOUT<="01011011";

WHEN "0011"=>DOUT<="01001111";

WHEN "0100"=>DOUT<="01100110";

WHEN "0101"=>DOUT<="01101101";

WHEN "0110"=>DOUT<="01111101";

WHEN "0111"=>DOUT<="00000111";

WHEN "1000"=>DOUT<="01111111";

WHEN "1001"=>DOUT<="01101111";

WHEN "1010"=>DOUT<="01110111";

WHEN "1011"=>DOUT<="01111100";

WHEN "1100"=>DOUT<="00111001";

WHEN "1101"=>DOUT<="01011110";

WHEN "1110"=>DOUT<="01111001";

WHEN "1111"=>DOUT<="01110001";

WHEN OTHERS=>DOUT<="00000000";

END CASE;

END PROCESS;

H<=DOUT(7);

G<=DOUT(6);

F<=DOUT(5);

E<=DOUT(4);

D<=DOUT(3);

C<=DOUT(2);

B<=DOUT(1);

A<=DOUT(0);

END BEHAV;

4.7 音谱与音高输出模块

4.7.1 模块引脚

图4-7 SELTIME模块

4.7.2 模块功能

如图,code[3..0]为4位的音谱输入总线,输入音谱。high[1..0]为2位的音高输入总线,输入音高。clk为时钟输入引脚。daout[3..0]为4位的数据输出总线,输出音高和音谱信号。sel[2..0]为位选输出总线,输出数码管的位选。

4.7.3 VHDL程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity SELTIME is

port(

code : in std_logic_vector(3 downto 0);

high : in std_logic_vector(1 downto 0);

clk : in std_logic;

daout: out std_logic_vector(3 downto 0);

sel : out std_logic_vector(2 downto 0));

end SELTIME;

architecture behav of SELTIME is

signal sec : std_logic_vector(2 downto 0);

begin

process(clk)

begin

if(clk'event and clk='1') then

if(sec="011") then

sec<="000";

else

sec<=sec+1;

end if;

end if;

end process;

process(sec,code(3 downto 0),high(1 downto 0))

begin

case sec is

when "000"=>daout<=code(3 downto 0);

when "001"=>daout<="0000";

when "010"=>daout<="0000";

when "011"=>daout(3)<='0';

daout(2)<='0';

daout(1)<=high(1);

daout(0)<=high(0);

when others=>daout<="XXXX";

end case;

end process;

sel<=sec;

end behav;

5 总电路设计

5.1 总体原理图

总体电路原理图如图5-1。

图5-1 总体电路原理图

5.2 总体功能介绍

该电路可以播放最多四首乐曲,可通过按按键的次数来切换曲目,接通电源后默认为播放第一首乐曲。

接通电源后按一次播放第二首乐曲,接通电源后按两次播放第三首乐曲,接通电源后按三次播放第四首乐曲,接通电源后按第四次地址归零播放第一首乐曲。

每按按键四次一个循环。可重复播放当前乐曲。在播放乐曲的同时十六位的LED小灯点亮,其点亮的个数与音调对应。四位数码管的第一位显示乐谱(1,2,3,4,5,6,7),第四位显示音高(0(低音),1(中音),2(高音)),其余位显示0。

6 设计调试体会与总结

6.1 各模块调试仿真

6.1.1 音频编码模块

图6-1 tonetaba模块仿真波形

图6-1中,当输入音符为2时其输出的音调初始值信号为912,音高为0(低音),对应的音谱为2。

当输入音符为9时其输出的分频系数为1480,音高为1(中音),对应的音谱为2。

与原理相符合。

6.1.2 乐曲储存模块

图6-2 notetabs模块仿真波形

图6-2中,当clr为高电平时每首乐曲的输出保持不变,当cs为高电平且clr为低电平时模块正常工作,当add[1..0]为2时输出第三首乐曲的音符。

与原理相符合。

6.1.3 控制模块

图6-3 control模块仿真波形

图6-3 中,引脚en与引脚outcs同步变化当en为高电平时outcs同样为高电平,反之亦然。当switch经历一次上升沿时add自动加1,当add大于3时自动归零,按键每按一次add继续自动加一,以此不断循环。

与原理相符合。

6.1.4 小灯控制模块

图6-4 LED模块仿真波形

图6-4中,当NUM[3..0]的输入为音符4时LIGHT[15..0]的输出的低5位都为高电平,当NUM[3..0]的输入为音符6时LIGHT[15..0]的输出的低7位都为高电平,当NUM[3..0]的输入为音符15时LIGHT[15..0]的输出的所有位都为高电平,LED小灯全点亮。不同的音符对应由低到高的不同的亮灯个数。

与原理相符合。

6.1.5 数字显示模块

图6-5 DELED模块仿真波形

图6-5中,当十六进制4为并行线输入3时,A引脚至H引脚分别输出1(高

电平),1(高电平),1(高电平),1(高电平),0(低电平),0(低电平),1(高电平),0(低电平),在共阴极数码管上显示为数字3。

当十六进制4为并行总线输入12时,A引脚至H引脚分别输出1(高电平),0(低电平),0(低电平),1(高电平),1(高电平),1(高电平),0(低电平),0(低电平),在共阴极数码管上显示为十六进制数字C。与原理相符合。

6.1.6 音谱与音高输出模块

图6-6 SELTIME 模块仿真波形

图6-6中,当音谱输入为2,音高输入为1(中音)时输出位选sel为0(第一位数码管),daout为2。当音谱输入为3,音高输入为1(中音)时输出的位选sel为3(第四位数码管),daout为1(音高)。与原理相符合。

6.2 总体硬件验证

6.2.1 管脚锁定

各引脚对应的目标芯片引脚如图6-7所示。

基于labview的音乐播放器设计

成绩: 《虚拟仪器技术及应用》 课 程 设 计 题目:基于LabVIEW的音乐播放器程序设计 学期:2013~2014学年第一学期 指导教师: 姓名: 学号: 年级、专业:

目录

基于LabVIEW的MP3程序设计 1程序设计背景 MP3是利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分成多个频段,对不同的频段使用不同的压缩率,对高频加大压缩比(甚至忽略信号)对低频信号使用小压缩比,保证信号不失真。 MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。 经过几年的发展MP3已经走进了千家万户,使用者也遍布各个年龄段和各个文化阶层。从最初的简单MP3播放器,到现在的手机,平板等便携设备自带的MP3播放器,MP3播放器已经走向大众,并演化为人们生活不可缺少的一部分,车上会有车载MP3,电脑手机平板上的MP3也是必不可少,总之,已经人们时时刻刻都已经在享受着MP3带来的快乐。 2程序设计思路 2.1程序整体设计思路 该虚拟仪器—MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex,属性节点,调用节点,Eventstructure等控制实现的。MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。 2.2程序流程设计 程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。 本程序主要涉及到一下控件或结构的使用: (1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序

音乐播放器的详细设计

音乐播放器详细设计 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 需求概述

单片机课程设计报告简易音乐播放器

第一章前言 伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理! 第二章: 简易音乐播放器的功能和原理说明 音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能! 表1 需求分析 功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。 原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。 第三章:系统硬件电路设计 1:硬件体系结构设计 该简易音乐播放器主要有单片机核心芯片89C52,LED发光二极管,扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。另外,该方案使用的是单片机板子的内部振荡电路,89C52芯片的X1,X2引脚外接石英晶体。它的系统组成如图所示。 (1)晶振电路部分晶振的作用是给电路提供工作信号脉冲的,其实就是单片机的工作速度。本次设计选用12M晶振,则单片机的工作速度就是每秒12M。与此同时,也要注意单片机的工作频率范围。 (2)复位电路部分当系统出现问题时可以重置系统,解决一些问题 (3)LED显示部分显示系统在各种不同条件下的状态 (4)89C52芯片整个设计的核心,接收和处理信号及程序 (5)按键电路部分作为系统的输入

课程设计简易单片机音乐播放器

课程设计 题目:基于单片机音乐演奏曲Title: instrumental music based on single chip 姓名: 学号: 系别: 专业: 年级: 指导教师: 2012年5 月25 日

摘要 单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本设计以At89c2051为核心,主要由电源电路、复位电路、音频放大电路、时钟电路和数码管电路和蜂鸣器电路构成单片机奏乐附加时钟的一个小系统。电路中I/O口采用分时复用的借口技术,使AT89c2051单片机的引脚资源得以充分利用,本系统的电路简单,实现的功能强大,所用芯片比较便宜,性价比较高。 关键词:At89c2051,数码管,单片机奏乐,分时复用

目录 摘要 ........................................................... - 1 - 1.引言 (3) 2.系统整体结构 (4) 2.1系统总设计 (4) 2.2实现的功能 (4) 2.3主要芯片介绍 (4) 2.3.1 AT89c2051芯片介绍 (4) 3.系统硬件设计 (5) 3.1键盘输入模块 (5) 3.2时钟模块 (5) 3.3显示模块 (6) 3.4复位电路 (6) 3.5蜂鸣器电路设计 (7) 4.系统软件设计 (7) 4.1系统主程序流程图系 (7) 4.2 部分子程序流程图 (8) 结束语 (10) 参考文献 (10) 致谢 (11) 附录 (11)

1.引言 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 本次设计为单片机奏乐器,硬件部分它以单片机AT89C2051为核心,由功放电路、数码管等组成。当接上电源按下开关时,就能听到优美的旋律。当然这些音乐都是通过软件编程实现的,把它存储在存储器里,根据存储容量大小决定存储音乐的数目。 [2]

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

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

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

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实 现毕业论文 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

毕业设计说明书 学生姓名学号 学院计算机科学与技术学院 专业计算机科学与技术(软件工程) 题目音乐播放器的设计与实现 指导教师 (姓名)(专业技术职称/ 学位) 年月 摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 Abstract:With the improvement of standards of living, entertainment has become very mainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 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格式的视频文件。此外,还能支持中文、英文等语言界面。

音乐播放器的设计与实现设计共19页文档

目录 一、前言 (1) 二、系统分析 (2) (一)系统需求分析 (2) (二)系统功能需求分析 (2) (三)业务流程分析 (3) 三、系统设计 (4) (一)总体设计 (4) (二)歌曲列表模块设计 (4) (三)播放控制模块设计 (4) (四)播放器设置模块设计 (4) (五)数据库设计 (4) 四、系统实现 (6) (一)主界面 (6) (二)播放列表 (12) (三)歌词显示界面 (13) (四)皮肤更换 (15) 五、软件测试 (16) (一)软件的测试 (16) (二)功能的测试与实现 (16) (三)测试结论 (17) 六、结论 (17) 参考文献 (18)

Android音乐播放器的设计与实现 (电子信息工程系软件技术111班王永军) 摘要:本论文的音乐播放器采用了Android开源系统技术,利用Java 语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。 关键词:Android;Java;Eclipse;音乐播放器 一、前言 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,苹果系统,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的播放

音乐播放器实验报告

一、实验项目名称 基于单片机的音乐播放器 二、实验目的 Ⅰ设计方案 设计一个基于AT89C51系列单片机的音乐盒,利用按键控制切换演奏出不同的音乐。蜂鸣器发出某个音调,与之对应的LED灯亮起。使用两个按键,一个用来切换歌曲,另一个切换LED的变化花样。Ⅱ研究内容 ①电路有两种模式:演奏音乐模式和花样灯模式 A 演奏音乐模式:演奏完整的一首歌曲,LED随着音乐变化; B 花样灯模式:LED变化出各种花样,蜂鸣器随着发出“滴滴”声; ②按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲; 按下按键2进入花样灯模式,再按切换LED花样,共三种花样。Ⅲ总体方案图 a组成框图: 音乐盒的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、蜂鸣器、LED模块组成。单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。系统组成框图如下所示:

b功能结构图: Key1负责切换播放歌曲,共两首。分别是祝你生日快乐和寂寞沙洲冷;Key2负责切换LED显示花样,共3种:顺序显示,由两边向中间移动然后向两边移动,循环显示。 三、实验器材 Windows7 操作系统Proteus仿真软件 keil4软件AT89C51单片机 共阴极数码管开关电容晶振 电阻发光二极管蜂鸣器 四、实验要求 (1)以单片机为主控处理器,用蜂鸣器播放歌曲;

(2)系统要求有选择上一首、下一曲功能; (3)两个按键,可在播放和显示花样中进行切换; (4)用一个键控制花样类型的显示功能; (5)用LED灯闪烁“伴奏”。 五、实训基本原理(附原理图、源程序清单) 1 硬件设计 ①LED显示电路设计与原理 LED显示电路是由8个LED发光二极管组成,连接方式是共阳极,LED接到单片机的P1口,若是低电平,可使LED亮。发光二极管的亮灭是由内部程序控制的,8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变化按规律亮灭。 ②硬件电路图及其功能介绍 1)电路中用P3.2、P3.3 控制键; 2)P1.0~P1.7控制LED; 3)P2.3控制蜂鸣器; 4)电路为12MHZ晶振频率工作,起振电路中C1、C2均为30PF。

基于Android-系统的音乐播放器设计与实现

基于Android 系统的音乐播放器设计与实现 实验报告

一、实验要求: 本课程设计的目的是开发一个可以播放主流音乐文件格式的播放器的播放功能模块,要求音乐播放器能够播放Mp 3,Wav 多种格式的音乐文件,能够控制播放,暂停,重播,停止,要求视觉外观美观,操作简单。 二,设计思想 首先查找相关书籍与文献,了解An droid 的构架并搭建An dr oid 开发平台。 查找相关资料,了解现阶段基于And roid 平台手机音乐播放器发展现状以及相关功能。 播放器基本拥有以下功能: 播放本地音乐文件 对播放的状态进行控制 播放设置,开始暂停停止 三,系统结构 ? 四、数据结构的说明和模块的算法流程图 运行 结束 暂停 开始 音乐播放器主界面 音乐播放器 设定 播放界面 开始 暂停 停止

五、使用说明书 菜单有6个功能:播放,暂停,停止,重播。 播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。 暂停功能:点击后事件触发,歌曲暂停播放。 停止功能:点击后事件触发,歌曲停止播放。 重播功能;点击后事件触发,歌曲重新播放。 六、运行结果和结果分析 作为Android平台上开发的应用软件,本设计具备与用户交互的界面,界面简洁美观易于操作。作为一款在线音乐客户端,提供给用户在线选歌的方便,提供在线播放歌曲的即时信息,如歌曲名,歌手名,时长等等。 七、我评价与总结 现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。本项目是一款基于Android手机平台的音乐播放器,使Android 手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。 八、附录 package com.example.seekbar; import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

视频播放器总结报告

实验10 多媒体与网络编程 【测试题1】 编写代码实现制作一个音频文件播放器。只需要实现如图所示的简单界面,点击打开弹出对话框,打开一个.wav的波形音频文件,点击“播放”按钮开始播放,点击“停止”按钮则停止播放,按“关机”按钮则退出应用程序。 需求分析: 1,项目背景和原因。 波形音频是一种电子数字化的声音,是计算机播放音频的一种重要格式,它存储的是声音的波形信息,当播放波形音频时,不管播放文件的设备是何种类型,都会得到相似的声音,波形音频文件通常wav作为文件扩展名。由于采用波形音频存储电子化声音需要大量的存储空间,因此它一般只用于短时间的声音播放。 通过设计一个简单的波形音频播放器,了解MFC,了解接口类MCI。 2,波形音频播放器的功能 播放器有“打开”,“播放”,“停止”,“关机”三个按钮,同时有一个状态栏,用于显示播放器当前处于的状态。 “打开”按钮用于打开一个波形音频文件; “播放”用于播放选中的波形音频文件; “停止”用于暂停正在播放的音频文件,再次点击“播放”时会从暂停出继续播放; “关机”用于退出播放器。播放器界面如图所示:

3,数据字典 类向导ClassWizard 静态文本Static Text 按钮Command Button ,4,功能列表 “打开”-------------------void CWaverDlg::OnOpen() “播放”-------------------void CWaverDlg::OnPlay() “停止”-------------------void CWaverDlg::OnStop() “关机”-------------------void CWaverDlg::OnExit() 5,具体实现步骤 ,1、首先在VisualC++平台上,选择File->New,新建一个名为WaveAudio.h的头文件。代码如下: #if!defined(WA VE_H_INCLUDED_) #define WA VE_H_INCLUDED_ #include "mmsystem.h" class CWave { public: BOOL m_bPlaying; BOOL m_bOpen; WORD m_wDeviceID; public:

EDA_简易音乐播放器设计

目录 1 引言 (2) 2 设计任务及设计要求 (2) 3 设计原理及总体思路 (3) 4 各单元模块的设计 (5) 5 总电路设计 (17) 6 设计调试体会与总结 (18) 参考文献 (23)

1 引言 《EDA课程设计》(注:EDA即电子设计自动化,Electronics Design Automation)是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类、自控类和电子类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件,并能利用EDA软件设计一个电子技术综合问题,并在实验箱上成功下载,为以后进行工程实际问题的研究打下设计基础。 1.通过课程设计使学生能熟练掌握一种EDA软件的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。 2.通过课程设计使学生能利用EDA软件进行至少一个电子技术综合问题的设计,设计输入可采用图形输入法或AHDL硬件描述语言输入法。 3.通过课程设计使学生初步具有分析寻找和排除电子电路中常见故障的能力。 4.通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。 2 设计任务及设计要求 设计一个简易硬件播放器并能播放多首音乐(最少四首),可通过按键手动控制音乐播放。在播放音乐的同时可实现音谱与音高的显示,并通过16个LED 小灯显示不同音调的变化。 使用VHDL语言设计音调发生模块,音调编码模块,乐曲存储模块,控制模块,小灯控制模块,数字显示模块,音谱与音高输出模块等各个模块。

媒体音乐播放器的设计与实现

毕业设计(论文) 媒体音乐播放器的设计与实现 学生学号 学生姓名 学院名称 专业名称 指导教师 年月日

摘要 为了更好的丰富人们的业余文化生活,提高歌厅管理水平,为消费者提供更加舒适、便利的娱乐环境,笔者设计并实现了一个点歌管理系统。该系统以C#作为开发语言。该系统具有界面友好、操作方便、检索迅速、存储量大等特点。 本文对系统的需求进行了分析,叙述了系统开发的目的和意义,阐述了系统的总体方案设计和数据库设计,重点叙述了各个模块的详细设计方法与设计过程,并对系统实施的相关问题作了介绍。 关键词点歌管理系统;管理系统;系统设计;

Abstract In order to better enrich the life of people's leisure and cultural, improve the level of karaoke management, to provide consumers with more comfortable and convenient entertainment environment, the author designed and implemented a VOD management system. The system to C # as development language, using SQL Server for data management background, achieving a song play, query by song, query by singer, query by the number of song’s name. The system has a friendly interface, easy operation, rapid retrieval, large memory capacity, ect. This paper analyzes the system requirements, describes the purpose and significance of system development, described the overall system design and database design, focusing on the various modules described in the detailed design methods and design process, and system implementation-related issues introduced. Keywords Song Request Management Management System System Design

简单音乐播放器数电实验

数字电路与逻辑设计综合设计实验报告 实验名称:简易音乐播放器 姓名:

班级:班 班内序号:27 一、设计任务要求 设计制作一个简易乐曲播放器。 1)播放器内预存3首乐曲; 2)播放模式:顺序播放、随机播放,并用数码管或LED显示当前播放模式; 3)顺序播放:按内部给定的顺序依次播放3首乐曲; 4)随机播放:随机产生一个顺序播放3首乐曲; 5)用数码管显示当前播放乐曲的顺序号; 6)设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放; 7)设置Next和Previous键,按Next键可以听下一首,按Previous键回到本首开始; 8)选做:用户可以自行设定播放顺序,设置完成后,播放器按该顺序依次播放乐曲; 9)选做:自拟其它功能。

二、系统设计 1)设计思路 首先音乐有音高和节拍两个因素。音高可以通过对时钟信号不同的分频得到不同频率的信号进而发出不同的音,节拍可以定义一个音符计数器,计数器的每一个值对应一个音高。对播放的控制包括播放/暂停、复位、上一首、下一首、本首重放、顺序播放/随机播放,用一个状态机,共播放和暂停两个状态,另外歌曲的切换以及暂停都是利用音符计数器赋不同的值或保持不变来实现。音高的显示是通过不同的音符对应不同的点阵row和col的值来实现的。歌曲号是通过音符计数器的值来得出并送到数码管显示的。播放、暂停、顺序、随机这些的显示是通过对状态和模式变量的判别进而送到LED显示的。 2)总体框图 50M

3)分块设计 共分为9个模块。Div1,div2,div3都是用来分频的,分别是将50mhz变为1mhz,将1mhz变为4hz,将1mhz变为2hz。Rand模块用来产生随机数,用于随机播放模式。Keycontrol是核心模块,用来实现顺序播放、随机播放、播放/暂停、上一首、下一首、本首重放、复位、显示顺序或随机播放状态、显示播放/暂停态。Melody模块是将音符计数器的每一个值与一个音高相对应,即记录曲谱。Index模块是用melody模块传来的音高信号通过查表得到它所对应的音高的分频数,然后将这个分频数送给speaker模块,以发出不同的音,另外对应不同的音它还对点阵进行不同的输出,进而显示出音高。Speaker模块接收index模块送来的分频数,利用分频数对时钟信号进行分频,进而发出不同的音,另外它还接收keycontrol模块送来的暂停态的标志,以保证在暂停态的时候不发出声音。Shownumber模块通过对音符计数器值的判断确定现在播放的是哪首歌,进而输出不同的歌曲号。

音乐播放器设计与仿真

科信学院 电子信息工程CDIO二级项目(2013/2014学年第二学期) 题目:音乐播放器的设计与仿真 专业班级: 学生姓名: 学号: 指导教师: 设计周数: 设计成绩: 目录

题目:基于Proteus与8253、8255A、8086芯片的音乐播放器 (2) 音乐播放器的设计与仿真 (2) 1 设计目的 (2) 2 设计正文 (2) 2.1音乐播放器的设计原理 (2) 2.2 8253、8255A以及CPU8086芯片介绍 (3) 2.2.1芯片8253简介 (3) 1、8253外部引脚介绍 (3) 2、8253内部结构介绍 (4) 3、8253作为定时器与计数器时的功能介绍 (6) 4、方式选择控制字 (7) 5、8253的工作方式 (7) 2.2.2 芯片8255的介绍 (8) 1、8255A外部引脚介绍 (8) 2、8255A内部结构介绍 (10) 3、8255的工作方式 (12) 4、8255A控制字 (12) 2.2.3 CPU 芯片8086介绍 (14) 1、8086简介 (14) 2、8086外部引脚介绍.............................................................................................14. 3、8086内部结构介绍 (16) 2.2.4音乐播放器的设计流程 (18) 1、音乐播放器的总体设计流程图 (18) 2、芯片间连接情况以及功能介绍 (19) 3、程序设计的总体思路 (21) 4、硬件连接电路图 (22) 3.设计总结 (22) 4.参考文献 (23)

Android简易音乐播放器的设计与实现

本科生毕业设计(论文) ( 2016 届) 设计(论文)题目 Android手机APP开发——音乐播放器作者刘晗 系、专业计算机科学与技术 班级1201 指导教师(职称)王李冬(副教授) 论文字数8000 论文完成时间2016年 4月10 日 杭州师范大学钱江学院教学部制

Android手机APP开发——音乐播放器 计算机科学与技术1201 刘晗指导教师王李冬 摘要:Android手机的APP开发越来越受到人们的关注。现今社会人们生活压力越来越大,人们更注重精神的需求。人们需要放松,需要释放,需要发泄,而音乐则是调节人们心情的一个有效资源。本文基于Androidstudio开发了一款面向Android手机的音乐播放器。该播放器包含本地音乐扫描、歌词匹配、音乐播放以及用户管理等功能。该APP具备界面优美、使用方便等优点,满足现金市场上的应用需求。 关键词:移动互联;Android;音乐播放器 APP Development on Android Mobile Phone- Music Player Computer Science and Technology class 1201 Liu Han Instructor: Wang Lidong Abstract: Android APP development has attracted more and more nowadays. Living pressure of modern society people is more and more serious, which made people pay more attention to mental demand. People need to relax, to release, need to vent, and the music is an effective resources to adjust mood for people . This article develops an Android music player based on Androidstudio. The player includes local music scan, matching lyrics, music playing and user management, and other functions. The APP has beautiful interface, convenient use, and meet the application requirements of cash in the market. Key words:Mobile Internet; Android.;Music player

音乐播放器设计报告

信息与电气工程学院CDIO项目设计说明书(2013 /2014学年第一学期) 项目名称:电子信息工程一级项目 专业班级:信息(三)班 学生姓名: 学号: 指导教师: 设计成绩: 2013年12月13日 音乐播放器设计报告

1.设计 1.1设计目的 1.为了更好的学习一个系统设计,善于利用所学知识应用到实践中。 2.培养综合运用所学知识独立完成汇编程序。 3.学会分析问题,解决问题能力。 4.可以把软件设计和书本的知识详解,以及对软件设计的实践应用。 1.2设计内容 1.通过proteus来设计一个音乐播放器,利用8255A,8253和实现电路的综合连接。 2.根据电路的设计,使用汇编语言来编写音乐播放器的实现代码。然后通过按键来实现对高低电平的输入和输出,这样就可以在播放器输出音乐的功能。 2.需求分析 2.1流程图 1.本设计流程是,当需要播放歌曲时,先把程序装入电路中实现电路的控制。 2.当需要播放一首歌曲时,通过电路按键实现控制输入。

2.2发声功能原理 本项目的音乐播放器使用8086中央处理器、74LS373地址锁存器、74LS138译码器、可编程定时器/计数器8253和可编程并行接口8255A来实现。8086中央处理器输出地址/数据码AD0-AD7,将AD0-AD7输入74LS373地址锁存器输出A0-A7,再将A3-A7和A0通过74LS138译码器进行译码输出作为8253和8255A的片选信号,A1和A2作为控制8255A和8253的片内寻址信号;8255A用来控制按键的输入;8253产生不同频率的脉冲来模拟音符,通过时间的长短来模拟音长,从而设计出一个功能完整的音乐播放器。 2.3项目仿真图 3.主要设计编程过程 3.1定义过程 先定义8255A控制地址,然后定义A,B,C靠的地址,再利用根据8253A计时器特点设计计数器地址。 CORT EQU 00F6H ;8255A控制口地址 PB_A EQU 00F0H ;8255A的A口地址 PB_B EQU 00F2H ;8255A的B口地址 PB_C EQU 00F4H ;8255A的C口地址 COTR EQU 00FEH ;8253A控制口地址

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

赣南师院 物理与电子信息学院数字电路课程设计报告书 姓名: 班级:1001电子信息工程 学号: 时间:

基于51单片机音乐播放器设计 1绪论 1.1 单片机概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴: (1)、在智能仪器仪表的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 (2)、在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 (3)、在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有

相关主题
文本预览
相关文档 最新文档