用软件仿真音乐播放器
- 格式:ppt
- 大小:651.50 KB
- 文档页数:10
单片机音乐播放器设计报告学生:XXX 指导教师:XXX内容摘要:单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
根据要求设计一款音乐播放器,能实现音乐播放的简单功能,同时为了美化,添加了韵律闪烁彩灯,设计时采用Keil软件编程,用protues软件仿真,核心器件采用灵活性高且价格低廉的AT89C51芯片。
设计完成后系统可播放自编歌曲,同时发光二极管随着歌曲韵律闪烁。
关键词:单片机 AT89C51 音乐播放英文标题Abstract: SCM has small, strong function, low cost, application, advantages and intelligent control and automatic control of the core is the microcontroller. According to the requirements of a music player, design of music broadcast can realize simple function, and to beautify, added rhythm flashing lights, design is used when Keil C software programming, with protues software simulation, the core device adopts high flexibility and the price is cheap AT89C51 chip. The design is completed system can play Wrote songs, and leds with songs rhythm flicker.Keywords:SCM Temperature AT89C51 Music broadcast前言:微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
衡水学院
毕业论文(设计)
学生姓名: 陈进进
系别: 物理与电子信息系
专业: 电子信息工程
年级: 2012级
指导教师: 郭海丽
归档日期: 2016年6月10日
衡水学院教务处印制
1
毕业论文(设计)任务书
(指导教师填写)
毕业论文(设计)开题报告
3
5
说明:开题报告应在教师指导下由学生独立撰写,开题报告一般不少于1000字,并交指导教师审阅。
毕业论文(设计)开题报告论证记录
毕业论文(设计)文献综述
说明:查阅文献资料篇数,按《衡水学院毕业论文(设计)撰写规范》执行。
文献综述一般不少于1000字。
可增加页数,遵循整页布满
第I 页共18 页。
目录引言 (1)1 VHDL及QUARTUSII软件简介 (2)1.1EDA简介 (2)1.2硬件描述语言VHDL (2)1.3软件介绍 (4)1.4界面介绍 (4)1.4.1软件打开界面 (4)1.4.2代码输入界面 (4)1.4.3波形仿真界面 (5)2 简易音乐演奏器设计及仿真 (5)2.1硬件电路设计 (5)2.2软件代码设计 (6)2.2.1音符储存单元 (6)2.2.2选择播放模式及手动模块单元 (7)2.2.3分频模块单元 (8)2.2.4预置数模块单元 (9)2.2.5音频发声模块单元 (10)2.3系统功能仿真 (12)2.3.1音符储存单元波形仿真 (12)2.3.2频率控制单元波形仿真 (12)2.3.3分频模块单元波形仿真 (13)2.3.4预置数模块波形仿真 (13)2.3.5音频发声模块单元波形仿真 (14)3引脚锁定及下载 (15)3.1引脚锁定 (15)3.2结果分析 (15)4设计总结 (16)参考文献 (167)附录 (18)引言VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。
利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。
突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。
本文基于FPGA开发系统,在QuartusII 7.2软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。
首先,本文介绍了QuartusII 7.2软件的基本使用方法和VHDL硬件描述语言的特点,采用VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。
在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。
Flash AS2XXX网络MP3音乐播放器在这个播放器中,我内置了几首歌曲的连接,点击节目单会看到它们.同时提供了一个音乐XXX的文本框,你可以输入任何歌曲的XXX进行播放.在播放时,会有一个播放进度条,同其它的媒体播放器一样,你可以点击进度条来移动歌曲的播放点,达到快进和快退的目的.而播放控制按钮功能也同其它媒体播放器一样.播放器中设置了音量调节滑块和声道调节滑块.而闪动的光栅的高度则随音量的高低的变化而变化.现在来XXX这个播放器的.1.首先来做一些准备工作.播放器的外观并非本教程的内容,但一些部件是必须的.先作5个按钮:播放,暂停,停止,快进,快退,如下图:它们的实例名称分别是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面来XXX进度条,新建一影片剪辑,画一细长矩形,新插入一层,再画一个相同长度不同颜色的矩形,并将它转换为影片剪辑元件,实例名称为:jdt_mc.回到主场景,将进度条影片剪辑放到舞台上,取实例名称为:jdk_mc.如图:3.声道控制面板,新建一影片剪辑,按下图画出声道控制面板:画一个小的矩形放到面板的中间刻度上,将小矩形转换为影片剪辑,或者就叫滑块吧.为它取实例名称:sdhk_mc.回到主场景,将声道控制影片剪辑拖到舞台上,为它取实例名称:sd_mc4.音量控制面板,新建影片剪辑,按下图画出音量控制面板:将滑块元件(在上一步中创建的)拖到舞台上,放到音量最大处(右边),为它取实例名称:ylhk_mc回到主场景,将音量控制影片剪辑拖到舞台上,为它取实例名称为:yl_mc5.节目单按钮,做下面一样的影片剪辑,放在舞台上,取实例名称为:jmdbtn_mc6.节目单,新建影片剪辑,画一矩形,在矩形上放一个文本框,输入歌曲名称,演唱者:同样的方法创建其它的歌曲名称影片剪辑.新建一影片剪辑,将这些歌曲名称影片剪辑,从库中拖入排好:分别给这些歌名影片剪辑取实例名称:song1_mc,song2_mc……..song5_mc.新建一图层,画一矩形盖住所有歌名,然后将这一层拖到最下面.这个矩形的颜色应与歌曲名称影片中的矩形颜色相同.回到主场景,将节目单影片剪辑拖到舞台上,放到节目单按钮下面,取实例名称为:song_mc7.光栅,新建影片剪辑,画如下图形:放在舞台上,然后复制4个,共5个,分别取实例名称为:gb1,gb2,gb3,gb4,gb58.XXX栏,在舞台上建一个动态文本框,取实例名称为:RUL_txt9.再放两个动态文本,用来用数字显示进度.两个文本框的实例名称分别为:dqcd_txt,zcd_txt10.好了,所有的东西都准备齐了,至于你想怎样将它们摆放得漂亮一些,那是你的事情了,本文不涉及到这些内容.我们要写代码了.[next]我们首先要获得歌曲的XXX,将XXX放到XXX文本框中,当然,最简单的办法是,直接在XXX框中输入XXX.但我们内置了几首歌,这就要为这些歌名元件添加点击事件,当点击时,将歌曲XXX放到XXX框中.在刚打开播放器时,我们让节目单不可见,点击节目单按钮后,才让节目单显示出来:song_mc._yscale = 0;这样节目单的高度为0,就不可见了.jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}点击节目单按钮,如果节目单是打开的则关闭节目单,如果是关闭的则打开节目单.节目单打开后,就可以点击歌曲名称将XXX放到XXX框中了:song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;}song_mc.song2_mc.onRelease = function(){RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}XXX栏中有了歌曲的XXX,那么就可以点击播放按钮播放歌曲了.首先要创建一个Sound类,用来加载mp3:var wmp3:Sound = new Sound();在播放前,应该将进度条设在0处:jdk_mc.jdt_mc._xscale = 0;将光栅的高度设为零,因为设光栅高度为零的动作要多次执行,所以将它做成一个函数,然后调用它:function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i); gb_mc._yscale = 0;}}gbhl();我们还需要一些变量后面有用:var zcd;//歌曲的总长度var dqcd;//当前已播放的长度,用于暂停按钮和进度条var ztd =0;//暂停点,用于暂停按钮var jd;//进度条的位置var rul:String;//歌曲的XXXvar sdz;//声道的值var ylz;//音量的值这些变量现在不用管它,在后面用到它们时会给予说明的.接下来就该写播放按钮上的代码了,有了播放按钮,就可以兴赏音乐了.在播放时,首先应该判断当前是从头开始播放还是处于暂停状态,如果是暂停,那么我们上面声明的变量ztd就不会是0,根据这个变量是否为零就可以确定是从头开始播放还是从ztd开始播放,如果ztd为零,首先从XXX栏获得歌曲XXX,然后判定XXX是否为空,如果不为空则将进度条归零,然后加载歌曲,并播放歌曲.调用mp3pl()函数,这个函数是在歌曲播放过程中设置一些效果比如进度条,光栅等.如果ztd不为零,则歌曲从暂停点处播放,并调用mp3pl()函数.ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}}else {wmp3.start(ztd);mp3pl(wmp3);}}现在来看看mp3pl()函数,在这个函数中会用到Sound类的两个属性和一个方法,先介绍一下.duration属性:该属性返回声音的总长度,以毫秒计算.position属性:上一节已经介绍过,它返回声音已播放的长度,以毫秒计算.getVolume()方法:返回声音单量的大小,数字为0-100.在这个函数中,在onEnterFrame事件中,首先获取歌曲的总长度和当前已播放的长度,将这两个数字显示在文本框中,计算出播放进度,设置进度条的 _xscale比例,显示播放进度,然后根据音量设置光栅的高度,首先将_yscale设为音量的一半,然后将另一半设为random()产生随机数,这样就产生闪动的效果.function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}现在应该基本成形了,剩下的就是几个按加上功能了.当点击进度条时根据鼠标在进度条上的位置,确定歌曲重新从那一点上开始播放,达到快进或快退的功能.jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}暂停按钮:记录当前已播放的长度,并存到ztd中,停止播放歌曲,这样当点击播放按钮时,因ztd不等于0,而使歌曲从ztd开始播放.zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();}停止按钮:将ztd设为0,停止播放歌曲.stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}快进快退按钮,在当前已播放长度的基础上加上或减去5秒,重新播放歌曲kj_btn.onRelease=function(){wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}下面的声道控制,在Sound类,的setPan()方法可以设置声音的声道,值为0-100,0声音将完全由左声道播出,而100则完全由右声道播出. 当移动声道控制上滑块,放开时根据滑块的位置设置声道的值.sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}音量控制,在Sound类中可以使用setVolume()方法设置声音的音量,值为0-100,当移动音量控制上滑块,放开时根据滑块的位置设置音量的值.yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}OK,现在真正的完全完成了,静下心来欣赏音乐吧.完整的代码:song_mc._yscale = 0;var wmp3:Sound = new Sound();var zcd;var dqcd;var ztd =0;var jd;var rul:String;var sdz;var ylz;jdk_mc.jdt_mc._xscale = 0;gbhl();ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}mp3pl(wmp3);}}jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd);dqcd_txt.text = Math.floor(dqcd);jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text ="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale = 0;}}stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}(注:可编辑下载,若有不当之处,请指正,谢谢!)。
音乐欣赏知识:音乐模拟器——探索音乐模拟器软件的开发和运用音乐模拟器——探索音乐模拟器软件的开发和运用随着科技的不断进步,音乐模拟器也成为了现代音乐科技领域中不可或缺的一部分,它可以模拟各种乐器和音乐形式,让不同音乐风格的界面和声音变得更加生动和真实。
本文将为大家介绍音乐模拟器的定义、发展历程、当前状态以及未来趋势。
一、音乐模拟器的定义音乐模拟器是一种软件,它可以让用户在计算机上模拟各种乐器或音乐风格。
通过模拟声音的发生、延迟和回声等,它可以生成非常逼真的声音效果,并在虚拟的乐器上演奏。
目前,它已经成为了音乐制作、游戏开发和娱乐等领域的一个重要组成部分。
二、音乐模拟器的历程众所周知,最早的音乐模拟器可以追溯到上世纪60年代的电影《Space Odyssey》。
这部电影中将星际旅行者与2010年世界杯足球比赛场景相结合,让人们更加熟悉未来科技的可能性。
此后,音乐模拟器的应用开展得越来越广泛,并逐渐融入到人们的生活中去。
在20世纪90年代,计算机技术的发展为音乐模拟器的发展奠定了基础。
此后,通过不断调节乐器的振动、音色和音高等参数,人们可以在计算机上模拟各种乐器和乐曲。
三、音乐模拟器的发展现状如今,音乐模拟器已经在不同的领域得到了广泛的应用。
对于音乐制作人来说,它们已经成为了一个非常实用的工具。
通过使用音乐模拟器软件,音乐制作人可以模拟不同的乐器,并可以模拟出各种不同风格的音乐。
此外,音乐模拟器还可以帮助音乐制作人改进录音技术,使其录制出更加生动、真实的音乐。
对于游戏制作人来说,音乐模拟器也已经成为了游戏中不可或缺的一部分。
通过使用音乐模拟器,游戏开发者可以帮助玩家获得更加真实的游戏体验,使游戏的场景和音效更加精细和逼真。
在消费市场方面,使用音乐模拟器的消费者也已经越来越流行。
例如,有人在使用移动设备或电脑时会使用一些虚拟乐器软件,可以弹奏出不同的乐器声音。
此外,电子乐器爱好者也可以使用音乐模拟器来模拟一些传统乐器的声音和曲调。
EDA技术实用教程课程设计简易音乐播放器电子12-11206040124简易音乐播放器设计1.MIDI概述MIDI(Musical Instrument Digital Interface)乐器数字接口,是20 世纪80 年代初为解决电声乐器之间的通信问题而提出的。
MIDI是编曲界最广泛的音乐标准格式,可称为“计算机能理解的乐谱”。
它用音符的数字控制信号来记录音乐。
一首完整的MIDI音乐只有几十KB大,而能包含数十条音乐轨道。
MIDI 应用也比较广泛,电视晚会的音乐编导可以用MIDI功能辅助音乐创作,或按MIDI 标准生成音乐数据传播媒介,或直接进行乐曲演奏。
如果在计算机上装备了高级的MIDI软件库,可将音乐的创作、乐谱的打印、节目编排、音乐的调整、音响的幅度、节奏的速度、各声部之间的协调、混响由MIDI来控制完成。
利用MIDI 技术将电子合成器、电子节奏机(电子鼓机)和其他电子音源与序列器连接在一起即可演奏模拟出气势雄伟、音色变化万千的音响效果,又可将演奏中的多种按键数据存储起来,极大的改善了音乐演奏的能力和条件。
2.工作原理MIDI 音乐是Windows下的一种合成音乐,由于它通过记谱的方式来记录一段音乐。
因此与wave音乐相比,它可以极大的减少存储容量。
MIDI 音乐的基本原理为:组成乐曲的每一个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和每一个频率信号持续时间,就可以使扬声器发生连续的乐曲。
图 1 是歌曲《生日快乐歌》开头一句的简谱。
由图 1 可知,该乐典涉及:中音5,6 ,7 ;高音1,2,3,4,5 。
以此为例下面介绍在本音乐发生器芯片中音乐的形成过程。
前两个音符为中音 5 ,1/16 音符,它对应的编码为1000 ,所占的脉冲个数为2 ,这样逐个将以上的简谱翻译成代码如下:|1000 1000 1001 1001 1000 1000 |1011 1011 1010 1010 1010 1010| |1000 1000 1001 1001 1000 1000 |1100 1100 1011 1011 1011 1011| |1000 1000 1111 1111 1101 1101 |1011 1011 1010 1010 1001 1001| |1110 1110 1101 1101 1011 1011 |1100 1100 1011 1011 1011 1011|图1 《生日快乐歌》歌谱在节奏时钟脉冲的控制下,将每个代码所对应的分频系数逐一赋给基频,得到对应的音调,这样连续起来就形成一段美妙的音乐。
成绩评定表课程设计任务书目录1目的及基本要求 (1)2 MP3播放器设计原理 (1)2.1 MP3播放器原理 (1)2.2 流程图 (1)2.3 设计步骤 (1)3 MP3播放器设计和仿真 (2)3.1 总体程序设计 (2)3.2 各功能模块详细设计 (4)4 结果及性能分析 (5)4.1 运行结果 (5)4.2 性能分析 (6)参考文献 (7)1 目的及基本要求熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现MP3播放器的设计和仿真。
基本要求:基于LabVIEW的MP3播放器设计,主要利用labview的Activex, 属性节点,调用节点,Event structure等控制实现的, MP3音乐播放器界面包括播放歌曲名字,播放路径以及停止按钮。
能熟练运用LabVIEW开发环境完成其他一些项目程序。
2 MP3播放器的设计原理MP3播放器,主要用于播放已存储计算机磁盘中的音乐文件。
它是将播放器的系统装入计算机,以通用的计算机硬件及操作系统为依托,实现音乐功能的。
VI程序设计里,默认容易识别的格式为WAV格式,所以在设计MP3时采取调用的方法,本系统主要利用labview的Activex, 属性节点,调用节点,Event structure 等控制实现的。
2.1 MP3播放器工作原理MP3的工作原理:从内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。
2.2 流程设计程序流程设计:设定路径,判定路径是否有效→无效报错;有效,执行下一阶段程序→调用媒体播放器,编写歌名显示和文件路径显示,设置停止功能按钮→程序结束。
本程序主要涉及到一下控件或结构的使用:(1)事件结构:包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。
课程设计目标与任务、计划与进度安排:要求:利用51单片机,蜂鸣器设计音乐播放器。
按键控制播放三首歌曲。
完成以下设计环节:1)使用PROTEUS仿真软件,设计仿真原理图。
2)使用Uvision2开发平台,采用C语言设计软件程序。
3)在仿真原理图上调试运行软件程序,完成系统仿真。
1.项目功能概述二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。
随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。
而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。
家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的 mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,除智能化的单片机莫属。
2.硬件电路设计2.1 制作音乐播放器所使用的主要元器件主要元器件个数8051单片机1个晶振 12MHZ 1个小喇叭1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个排阻 1k 1个2.2 8051单片机8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
前端开发实训案例实现一个简单的音乐播放器在本案例中,我们将一步步实现一个简单的音乐播放器,通过前端开发实训的方式,让大家掌握基本的前端开发技能和工具的使用。
下面是实现过程的详细步骤。
一、准备工作在开始实现音乐播放器之前,我们需要准备一些必要的工作。
首先,我们需要一个 HTML 页面来显示播放器的界面,可以通过创建一个名为index.html的文件来实现。
然后,我们需要下载一个适合的音乐播放器的样式文件和脚本文件,可以在一些开源的网站上找到并下载。
二、项目结构在开始编写代码之前,我们需要创建一个合理的项目结构。
在该案例中,我们可以创建以下几个文件夹和文件:- css文件夹:用于存放样式文件- js文件夹:用于存放脚本文件- img文件夹:用于存放图片资源- index.html:HTML页面的入口文件三、实现播放器界面1. 引入样式文件在index.html文件的头部,使用<link>标签引入样式文件。
例如:```html<link rel="stylesheet" href="css/player.css">```2. 创建播放器容器在index.html文件的<body>标签内,创建一个用于显示音乐播放器的容器。
例如:```html<div class="player-container"><!-- 在这里添加其他播放器相关的元素 --></div>```3. 添加播放器控制按钮在播放器容器中,添加用于控制音乐播放的按钮。
例如,添加播放按钮、暂停按钮和上一首、下一首按钮:```html<div class="player-container"><button id="play-btn">播放</button><button id="pause-btn">暂停</button><button id="prev-btn">上一首</button><button id="next-btn">下一首</button></div>```4. 显示音乐信息在播放器容器中,添加显示音乐信息的元素。
Virtual Mix Rack是一种模拟的混音器插件,可以模拟出各种经典混音器的声音,包括EQ、压缩、限制器等效果器。
下面是Virtual Mix Rack的使用方法:1. 安装插件并打开DAW软件。
将Virtual Mix Rack插件添加到您的音轨上。
2. 选择您要使用的虚拟模块。
Virtual Mix Rack提供了许多模拟效果器,例如EQ、压缩器、限制器等。
根据需要选择相应的模块。
3. 调整参数。
在您选择的虚拟模块中,您可以通过调整各个参数来获得所需的声音。
例如,在EQ模块中,您可以调整频率、增益、Q值等参数。
4. 应用效果。
完成调整后,您可以将效果应用到您的音轨中,以产生所需的声音。
5. 保存您的设置。
一旦您完成了所需的设置,您可以将其保存为预设,并在将来需要时再次使用。
总之,Virtual Mix Rack是一种非常实用的混音器插件,可以大大提高您的混音水平。
当您打开Virtual Mix Rack插件后,您将看到一个虚拟机架界面,其中包含多个模块槽位。
每个槽位可以加载一个虚拟模块,您可以根据需要添加、移除和重新排列这些模块。
以下是Virtual Mix Rack的详细使用步骤:1. 添加和移除模块:- 在模块列表中选择您想要添加的模块,例如EQ、压缩器等。
- 将选定的模块拖动到虚拟机架界面的一个槽位上,插件将自动加载该模块。
- 要移除一个模块,只需在槽位上右键单击并选择"Remove Module"。
2. 调整模块参数:- 单击虚拟机架界面上的一个模块槽位,以切换到该模块的参数编辑界面。
- 调整模块参数以达到所需的音频处理效果。
不同的模块具有不同的参数,例如频率、增益、阈值等。
- 您可以通过拖动滑块、旋转旋钮或直接输入数值来调整参数。
3. 排序和调整模块顺序:- 您可以通过拖动模块槽位来重新排列模块的顺序,以实现所需的信号处理流程。
- 拖动一个模块槽位到另一个槽位上,将交换它们的位置。