音乐播放器课程设计报告
音乐播放器课程设计报告
![音乐播放器课程设计报告](https://img.taocdn.com/s3/m/9b04c7d810661ed9ac51f31c.png)
课程设计报告之水城攒孽创作课程设计名称:音乐播放器院系:信息工程学院学生姓名:班级:学号:成绩:指导教师:开课时间:2016-2017学年 2 学期音乐播放器一、实践的内容和要求学习WAV格式音频播放原理、数字音频接口及的相关知识。
了解模拟音频信号和数字音频信号的概念。
掌握编写音频播主要内容放器的方法。
实现音频播放,小键盘输入操纵。
本系统要做一个音乐播放器,使用通用定时器定时,用比较输出功能,输出乐谱频率的方波发生声音,对 3 首歌曲编码,其支持 WAV 格式音频播放(上键:暂停;左键:上一首;右键:下一首)。
利用硬件ARM 嵌入式开发平台、用于ARM7TDMI 的 JTAG 仿真器、PC 机 Pentium100开发实现实现音频播放。
主要实现:上一首按键:当点击上一首按键时,当前播放歌曲的上一首歌首被播放。
下一首按键:当点击下一首按键时,当前播放歌曲的下一首歌曲即被播放。
当点击停止键时,当前歌曲即会被停止。
播放界面设计:在歌曲进行播放时,界面应包含所有的按键,而且要歌曲的曲目单。
二、实践原理WAV播放器系统要求能够对mp3、wav格式的音频文件进行解码,处理起来速度是有要求的,尤其是对320Kbps的MP3格式数据流的处理,必须非常快,才干实现MP3的流畅播放,可供选择的八位机有AVR、PIC,可供选择的32位处理器有SAMSUNG、STM32、ATMEL等。
选择MCU优先考虑于拥有丰富的RAM,八位机RAM主要靠扩展,内部RAM一般在4Kbyte以内,32位机里面,SAMSUNG一般不内带RAM,也要外扩。
本实验使用了ARM7处理器,MP3解码可以有两种方法,一是通过ARM处理器软解码,通过对MP3数据格式的解析实现MP3播放,二是通过外部解码芯片直接解码。
第一种方法在解码高码率的MP3时,ARM7处理能力吃紧,而且STM32还需要外部DAC来做音频输出,所以采取第二种方法进行解码。
MP3罕见的解码芯片有VS100X系列和STA01系列,STA01需要外接DAC做音频输出,而VS1003自带DAC,且解码的文件格式包含mp3和wav,另外它还可以实现录音功能,方便以后进行功能的拓展应用。
音乐播放器Java专业课程设计方案报告
![音乐播放器Java专业课程设计方案报告](https://img.taocdn.com/s3/m/db198347a9114431b90d6c85ec3a87c240288a22.png)
课程设计汇报课程设计题目: 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 .*;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();JButton next=new JButton();JButton loop=new JButton(); //定义上一曲,播放,下一曲,循环四个按钮JLabel list=new JLabel("播放列表");List songlist=new List(); //显示歌曲列表AudioClip[] song=new AudioClip[10]; //将音频文件放在数组中AudioClip playsong; //目前选定播放音频文件String[] name={"黄小琥 - 顺其自然.wav","陈奕迅-张氏情歌.wav","黄小琥 _没那么简单.wav","戚薇-假如爱忘了.wav","郭采洁 - 狠狠哭.wav","test.wav"};//将全部文件名存放在字符串数组name中String playname; //目前选定播放音频名int j=0; //统计目前选定播放是哪首歌曲, 默认为第一首boolean playbutton=true; //统计播放状态, 默认为暂停播放boolean loopbutton=false; //统计循环状态, 默认为没有循环Thread thread=new Thread("pl");static MyMusicPlayer Yu;public MyMusicPlayer(){MainFrame.setLayout(null);MainFrame.setBounds(300,50,310,500);MainFrame.setVisible(true);MainFrame.setDefaultCloseOperation(3);MainFrame.add(songname);Font sname=new Font("斜体",Font.ITALIC,18);songname.setFont(sname); //设置显示状态字体为斜体songname.setText("我音乐播放器");songname.setBounds(10,10,300,40);last.setBounds(10,70,50,40);play.setBounds(70,70,50,40); //设置四个功效键位置和大小next.setBounds(130,70,50,40);loop.setBounds(190,70,50,40);last.setIcon(new ImageIcon("1.png"));play.setIcon(new ImageIcon("2.png"));next.setIcon(new ImageIcon("3.png"));loop.setIcon(new ImageIcon("4.png")); //设置四个功效键图片last.addMouseListener(this);play.addMouseListener(this);next.addMouseListener(this);loop.addMouseListener(this); //添加按键鼠标监听器MainFrame.add(last);MainFrame.add(play);MainFrame.add(next);MainFrame.add(loop);list.setBounds(10,120,100,30);Font lis=new Font("宋",Font.BOLD,15);list.setFont(lis); //显示“播放列表”MainFrame.add(list);songlist.setBounds(10,150,250,300);songlist.setBackground(Color.GREEN); //设置播放列表背景色为绿色songlist.setVisible(true);songlist.addItemListener((ItemListener) this); //添加列表监听器MainFrame.add(songlist);for(int i=0;i<name.length;i++){song[i]=loadSound(name[i]); //逐一获取音频文件songlist.add(name[i]); //将歌曲名添加到播放列表}playsong=song[0];}public static void main(String[] args){Yu=new MyMusicPlayer();Yu.start();}public void mouseClicked(MouseEvent e) {JButton btn=(JButton)e.getSource();playsong.stop();if(btn==play){ if(playbutton==false)playbutton=true;elseplaybutton=false; //当按下play后改变播放状态}elseif(btn==last){ j-=1; //当按下last 后将上一曲选定if(j<0)j=name.length-1; //若之前选定为第一首, 则跳到最终一首playbutton=true;loopbutton=false;}elseif(btn==next){ j+=1; //当按下next后将下一曲选定if(j>=name.length)j=0; //若之前选定为最终一首, 则跳到第一首playbutton=true;loopbutton=false;}elseif(btn==loop){ if(loopbutton==false){loopbutton=true;playbutton=true;}else{ //按下loop 后, 改变循环状态和播放状态loopbutton=false;playbutton=false;}}if(playbutton==true)Yu.run();else{songname.setText("暂停播放: "+playname); //暂停播放歌曲play.setIcon(new ImageIcon("2.png"));}}public void mouseEntered(MouseEvent arg0) {// TODO Auto-generated method stub}public void mouseExited(MouseEvent arg0) {// TODO Auto-generated method stub}public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub}public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub}public void itemStateChanged(ItemEvent arg0) { String str=songlist.getSelectedItem();playsong.stop();for(int i=0;i<name.length;i++)if(str==name[i]){j=i;break;}Yu.run();}public void run(){playsong=song[j]; //播放状态为播放时playsong.play(); //播放选定歌曲playname=name[j];if(loopbutton==true){playsong.loop(); //循环播放选定歌曲songname.setText("循环播放: "+playname);}elsesongname.setText("正在播放: "+playname);songlist.select(j); //播放列表中选定播放歌曲项目play.setIcon(new ImageIcon("5.png"));}public AudioClip loadSound(String filename){ //返回一个AudioClip对象URL url=null;try{url=new URL("file:"+filename);}catch(MalformedURLException e){ }return Applet.newAudioClip(url);}}5.程序运行结果四、课程设计总结经过这几天Java课程设计, 让我知道了做课程设计通常方法, 经过多种努力最终完成了设计要求.这次课程设计基础上含盖了大学十二个月学习到Java语言知识点, 课设题目要求不仅要求对书本知识有较深刻了解, 同时要求程序设计者有较强思维和动手能力。
c音乐播放器课程设计
![c音乐播放器课程设计](https://img.taocdn.com/s3/m/974b4557854769eae009581b6bd97f192279bfa5.png)
c 音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本原理,掌握与其相关的电子元件功能;2. 学生掌握音乐播放器编程的基础知识,能够运用所学编程语言实现音乐播放功能;3. 学生了解音乐播放器在生活中的应用,认识不同类型的音乐播放器。
技能目标:1. 学生能够运用所学知识,设计并制作一个简易的音乐播放器;2. 学生能够通过编程解决音乐播放过程中遇到的问题,如播放、暂停、切换歌曲等;3. 学生能够进行团队协作,共同完成音乐播放器的设计与制作。
情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐审美能力;2. 学生通过实践操作,培养动手能力、创新意识和解决问题的能力;3. 学生在团队协作中,学会相互尊重、沟通与协作,培养集体荣誉感。
课程性质:本课程为实践性课程,结合课本知识,以学生动手操作为主,培养学生实际操作能力和创新能力。
学生特点:本年级学生具备一定的电子元件知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生的个体差异,鼓励学生创新思维,培养学生团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 音乐播放器原理:介绍音乐播放器的基本工作原理,包括音频信号处理、放大电路、扬声器等组成部分。
相关教材章节:第三章“音频信号处理”及第四章“放大电路与扬声器”2. 编程知识:运用课本所学编程语言,如C语言,实现音乐播放器的控制程序。
相关教材章节:第五章“C语言基础”及第七章“C语言编程实例”3. 音乐播放器设计制作:结合电子元件知识与编程技能,设计并制作一个简易的音乐播放器。
相关教材章节:第八章“电子制作实践”及第十章“综合项目设计与制作”4. 实践操作:分组进行音乐播放器的设计与制作,包括硬件连接、编程调试等环节。
相关教材章节:第十一章“实践操作与团队协作”教学内容安排与进度:第一课时:回顾音频信号处理、放大电路及扬声器等基础知识,明确音乐播放器工作原理。
音乐播放器课程设计
![音乐播放器课程设计](https://img.taocdn.com/s3/m/0cfa8db4afaad1f34693daef5ef7ba0d4a736dd5.png)
音乐播放器课程设计一、课程目标知识目标:1. 学生能够理解音乐播放器的基本原理和功能。
2. 学生掌握音乐播放器界面设计的基本元素和布局。
3. 学生了解音乐播放器中不同音乐格式及其特点。
技能目标:1. 学生能够使用音乐播放器软件进行音乐播放、暂停、停止等基本操作。
2. 学生能够通过音乐播放器软件对音乐进行分类、排序和搜索。
3. 学生能够运用所学知识设计和制作简单的音乐播放器界面。
情感态度价值观目标:1. 培养学生对音乐的热爱和欣赏能力,提高审美情趣。
2. 培养学生团队协作和沟通能力,学会分享和交流音乐心得。
3. 增强学生对科技产品的认识,激发创新意识和探索精神。
课程性质:本课程为信息技术与音乐相结合的综合性课程,注重实践操作和实际应用。
学生特点:六年级学生具有一定的信息技术基础和音乐素养,对新事物充满好奇,喜欢动手实践。
教学要求:结合学生特点,采用任务驱动法,引导学生自主探究和合作学习,注重理论与实践相结合,提高学生的实际操作能力和创新能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活,提升音乐欣赏和信息技术素养。
二、教学内容1. 音乐播放器原理与功能- 了解音乐播放器的基本构成和原理- 掌握音乐播放器的主要功能及操作方法2. 音乐播放器界面设计- 学习音乐播放器界面设计的基本原则- 分析并模仿经典音乐播放器界面布局3. 音乐格式及特点- 介绍常见音乐格式(如MP3、WAV等)及其特点- 了解音乐格式对播放效果和文件大小的影响4. 音乐播放器操作与使用- 学习使用音乐播放器软件进行基本操作(播放、暂停、停止等)- 掌握音乐播放器的高级功能(如音乐分类、排序、搜索等)5. 设计制作音乐播放器界面- 学习运用设计软件制作音乐播放器界面- 结合团队协作,设计并展示个性化的音乐播放器界面教学大纲安排:第一课时:音乐播放器原理与功能第二课时:音乐播放器界面设计第三课时:音乐格式及特点第四课时:音乐播放器操作与使用第五课时:设计制作音乐播放器界面教学内容关联教材章节:《信息技术》六年级上册:第五章 多媒体技术应用,第三节 音乐播放器原理与使用。
音乐播放器课程设计报告
![音乐播放器课程设计报告](https://img.taocdn.com/s3/m/49ab298b48d7c1c709a145b9.png)
课程设计报告课程名称PLD原理与应用设计题目音乐播放器专业通信工程四位抢答器摘要随着我国经济和文化事业的发展,在这个竞争激烈的社会中,知识竞赛、评选优胜,选拔人才之类的活动愈加频繁。
在很多竞争场要求有快速公正的竞争裁决,例如:证劵、股票交易及各种智力竞赛等。
在现代社会生活中,智力竞赛更是作为一种生动活泼的教育形式和方法能够引起观众极大的兴趣。
但是、在竞赛中往往是多个选手一起,分为几个小组参加比赛,针对主持人提出的问题各竞赛小组进行抢答,而抢答环节就要有一种逻辑电路抢答器作为裁判员功能、实现其比赛公平、公正的规则。
智能抢答器是一种应用十分广泛的设备,在各种竞赛、抢答场合中,它都能客观、迅速地判别出最先获得发言权的选手。
新增了许多功能,如选手号码显示,抢按后的计时,选手得分显示等功能。
随着科技的发展,现在的抢答器向着数字化、智能化的方向发展.本设计借助于QuartusⅡ软件仿真制作了四人抢答器。
通过选手按动按键的先后,判定由哪位选手回答问题,并且实现倒计时和对选手加分的功能。
本设计分为三个模块:控制模块、计时模块、计分模块,各个模块共同作用,以实现整个设计的总体功能。
关键词:QuartusⅡ,仿真,抢答器,控制模块,计时模块,计分模块Four-way responderABSTRACTWith the development of China's economic and cultural undertakings, in this competitive society, knowledge contests, selection of superior, talents such as activities more and more frequent. In many competitive games require fast fair competition award. In the modern society life, quiz is as a kind of lively education form and the method can cause the audience interest. But, in the competition is often several players together, divided into several groups to participate in the game, against the host question carries on the competition team vies to answer first, vies to answer first link will have a logic circuit buzzer as referee function, achieve the game rules of fairness and justice.Smart responder is a kind of equipment, they are widely used in various competitions, vies to answer first, it can be objective, quickly won the voice discriminant out first. Added many features, such as the contestant number display, rob after pressing time, players score shows, and other functions. With the development of science and technology, now the responder toward digital, intelligent direction.This design with the aid of Quartus Ⅱsoftware simulation produced four responder. Through the player has to press a button, decide which players to answer the question, and can realize the function of the countdown and the player points. This design is divided into three modules: control module, timing module, scoring module, each module combination, to achieve the over all function of the whole design.KEY WORDS: QuartusⅡ,Simulation ,Answer four device,Control,Timing,Scoring目录前言 (1)第1章绪论 (2)1.1 抢答器系统图 (2)1.2 抢答器设计要求 (2)1.3 基本功能 (3)第2章模块设计 (4)2.1 主控制模块 (4)2.1.1 主要功能 (4)2.1.2 代码编写 (4)2.1.3 仿真波形及其分析 (6)2.2计时模块 (7)2.2.1 主要功能 (7)2.2.2 代码编写 (7)2.2.3 仿真波形及其分析 (8)2.3 计分模块 (9)2.3.1 主要功能 (9)2.3.2 代码编写 (9)2.3.3 仿真波形及其分析 (12)第3章顶层电路 (13)3.1 电路图 (13)3.2 抢答器工作原理 (14)3.2.1 各个端口的含义 (14)3.2.2 操作流程及相应波形图 (14)结论 (16)谢辞 (17)参考文献 (18)前言关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。
MP3音乐播放器软件课程设计报告(MFC)
![MP3音乐播放器软件课程设计报告(MFC)](https://img.taocdn.com/s3/m/1cbb2b592b160b4e767fcffc.png)
课程设计说明书课程设计名称:软件综合课程设计课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院电子信息工程专业课程设计任务书正文:目录引言 (5)一、设计程序的目的与要求 (6)目的 (6)要求 (6)二、方案实现与调试 (6)总体设计 (6)1、实现功能 (6)2、功能模块图 (7)详细设计 (7)1、界面布局 (7)2、各模块功能设计 (8)2.1处理“打开”按钮 (9)2.2处理“播放”按钮 (9)2.3处理“暂停”按钮 (9)2.4处理“停止”按钮 (9)2.5处理“音量”按钮 (10)2.6处理“退出”按钮 (10)3 操作步骤 (10)三、课程设计分析与总结 (11)分析 (11)总结 (11)附录 (13)关键程序清单 (13)参考文献 (20)引言MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。
1.1 MFC简介MFC是Visual C++是核心。
MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。
每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。
这些函数,必须通过类定义对象才能使用[1]。
1.2 MCI简介MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不需要知道它们的内部工作状况。
它所支持的媒体格式包括mp3、avi、wav、mpeg等等[2]。
音频技术发展较早,几年前一些技术已经成熟并产品化,音频技术主要包括四个方面:音频数字化、语音处理、语音合成及语音识别。
dsp课程设计音乐播放器
![dsp课程设计音乐播放器](https://img.taocdn.com/s3/m/0e583189250c844769eae009581b6bd97f19bcc9.png)
dsp课程设计音乐播放器一、课程目标知识目标:1. 学生能够理解数字信号处理(DSP)的基本概念,掌握音乐播放器中DSP 技术的应用原理。
2. 学生能够掌握音乐播放器中音频信号的采样、量化、编码等基本知识。
3. 学生能够了解不同音频格式对音乐播放效果的影响,并学会选择合适的音频格式。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的音乐播放器。
2. 学生能够熟练使用相关软件工具进行音频信号的处理和分析。
3. 学生能够通过编程实现音乐播放器的功能,如播放、暂停、停止等。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发他们探索科学技术的热情。
2. 培养学生的团队协作意识和创新精神,使他们能够在项目实践中相互学习、共同进步。
3. 培养学生关注音乐播放器在实际生活中的应用,提高他们将所学知识应用于解决实际问题的能力。
课程性质:本课程为实践性较强的学科,以项目为导向,注重培养学生的动手能力和创新能力。
学生特点:学生具备一定的编程基础,对音乐播放器有一定的了解,但对DSP技术及其在音乐播放器中的应用尚不熟悉。
教学要求:教师应结合学生特点,采用理论教学与实践操作相结合的方式,引导学生主动探索、积极实践,确保课程目标的达成。
同时,注重分解课程目标为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 数字信号处理基础理论:- 介绍数字信号处理的基本概念,如采样、量化、编码等。
- 分析音乐播放器中音频信号的处理流程。
2. 音乐播放器原理与设计:- 讲解音乐播放器的基本工作原理,如播放、暂停、停止等功能实现。
- 引导学生了解不同音频格式及其特点,选择合适的音频格式。
3. 音频信号处理技术:- 介绍音频信号处理的相关算法,如数字滤波器、音量调节等。
- 指导学生运用相关软件工具进行音频信号的处理和分析。
4. 编程实践:- 制定详细的编程实践计划,分解音乐播放器的设计任务。
- 引导学生使用编程语言,如C/C++、Python等,实现音乐播放器的功能。
基于java的音乐播放器课程设计报告
![基于java的音乐播放器课程设计报告](https://img.taocdn.com/s3/m/c3c1192bb6360b4c2e3f5727a5e9856a56122638.png)
基于java的音乐播放器课程设计报告第一篇:基于java的音乐播放器课程设计报告Java课程设计报告题目:java音乐播放器姓名学号院系班级专业任课教师1.设计内容及要求能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面添加歌曲之后才能够查看到里面所包含的歌曲目录。
当播放歌曲时,可以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属性,如:歌曲名,歌手,发布时间,所属专辑等等。
2.需求分析1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以随时了解歌曲的播放进度2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设置3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获取关于该歌曲的用户所需的相关信息。
4、菜单栏:①文件:打开:用户通过该菜单项打开本地音乐文件,听任何用户想听的歌曲循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲退出:退出音乐播放器,及退出该程序②播放控制:播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐暂停:暂停当前正在播放的音乐停止:停止当前正在播放的音乐③播放列表:当用户通过文件打开本地音乐文件后,及相当于在播放列表里面添加了歌曲,及形成相应的歌曲播放目录3.总体设计结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制,播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单项,该菜单就是用来显示或者查看相应的歌曲目录的。
该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音乐播放窗口里面用户可以进行相关的音乐播放的控制操作。
音乐播放器课程设计
![音乐播放器课程设计](https://img.taocdn.com/s3/m/bf06272da517866fb84ae45c3b3567ec102ddcd2.png)
音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本组成结构与功能;2. 学生掌握音乐播放器界面设计的基本原则;3. 学生了解音乐播放器中音乐格式及播放原理。
技能目标:1. 学生能够运用所学的界面设计原则,设计出美观、实用的音乐播放器界面;2. 学生能够利用相关软件或编程语言,实现音乐播放器的基本功能,如播放、暂停、切换歌曲等;3. 学生能够通过小组合作,共同完成音乐播放器的制作,提高团队协作能力。
情感态度价值观目标:1. 学生培养对音乐艺术的热爱和欣赏能力;2. 学生养成积极探索、勇于创新的学习态度,增强解决问题的信心;3. 学生通过课程学习,认识到科技与艺术的结合,提高审美观念和人文素养。
课程性质:本课程以实践操作为主,结合理论讲解,培养学生的动手能力和创新思维。
学生特点:六年级学生对音乐有一定的兴趣和认知,具备一定的计算机操作能力,喜欢探索新事物。
教学要求:教师需关注学生的个体差异,提供个性化的指导,鼓励学生积极参与课堂讨论和实践活动,以达到课程目标。
在教学过程中,注重将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 音乐播放器的基本原理- 介绍音乐播放器的发展历程;- 讲解音乐播放器的硬件与软件组成;- 分析音乐播放器的工作原理。
2. 音乐播放器界面设计原则- 探讨界面设计的基本原则,如简洁、易用、美观等;- 分析优秀音乐播放器界面的设计特点;- 学习界面设计的基本工具和方法。
3. 音乐格式及播放器功能实现- 介绍常见的音乐格式,如mp3、wav等;- 讲解音乐播放器中解码、播放、音效处理等功能的实现方法;- 学习使用编程语言或软件实现音乐播放器的功能。
4. 实践操作:音乐播放器制作- 分组讨论,确定音乐播放器的主题和功能;- 设计并制作音乐播放器界面;- 编程实现音乐播放器的基本功能;- 测试、优化音乐播放器。
教学内容依据课程目标,结合教材,确保科学性和系统性。
android音乐播放器课程设计
![android音乐播放器课程设计](https://img.taocdn.com/s3/m/5a4381347f21af45b307e87101f69e314332fa30.png)
android音乐播放器课程设计一、课程目标知识目标:1. 让学生掌握Android开发环境的基本使用方法,包括布局设计、组件使用等;2. 使学生了解音乐播放器的基本原理,如音频解码、播放控制等;3. 帮助学生理解Android平台下的文件存储和读取方法,以及如何在应用中访问本地音乐文件。
技能目标:1. 培养学生运用Android Studio进行界面设计和编程的能力;2. 培养学生解决实际问题的能力,如调试音乐播放器代码、优化用户体验等;3. 提高学生的团队协作和沟通能力,通过分组合作完成音乐播放器的开发。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动探索新知识的习惯;2. 培养学生面对挑战时的积极心态,敢于尝试和解决问题;3. 增强学生的版权意识,尊重知识产权,合法使用音乐资源。
分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立搭建Android开发环境,完成音乐播放器的基本界面设计;2. 学生能够编写音乐播放器的主要功能代码,实现音乐文件的播放、暂停、停止等操作;3. 学生能够通过小组合作,完成一个具有较好用户体验的音乐播放器项目,并在课堂上进行展示和分享。
二、教学内容1. Android开发环境搭建:介绍Android Studio的安装与配置,讲解如何创建Android项目,熟悉项目结构及基本文件的作用。
教材章节:第一章 Android开发基础2. 布局设计与组件使用:学习线性布局、相对布局等常用布局,掌握TextView、Button等基本组件的使用。
教材章节:第二章 Android界面设计3. 音乐播放器原理:讲解音频解码、播放控制等基本原理,分析Android平台下的音频播放方法。
教材章节:第三章 多媒体技术4. 文件存储与读取:学习Android平台的文件存储方式,如内部存储、外部存储,掌握文件读写操作。
教材章节:第四章 文件存储与访问5. 音乐播放器功能实现:编写音乐播放器的界面和功能代码,实现音乐播放、暂停、停止等功能。
音乐播放器的实验报告
![音乐播放器的实验报告](https://img.taocdn.com/s3/m/ad072d99ba4cf7ec4afe04a1b0717fd5360cb2c3.png)
一、实验目的1. 熟悉音乐播放器的基本原理和设计方法。
2. 掌握音乐播放器软件的开发流程和关键技术。
3. 培养学生的动手实践能力和团队协作精神。
二、实验环境1. 操作系统:Windows 102. 开发工具:Java Development Kit (JDK) 1.83. 开发环境:Eclipse IDE for Java Developers4. 音乐格式:MP3、WAV等三、实验内容1. 音乐播放器功能需求分析2. 音乐播放器系统设计3. 音乐播放器软件实现4. 音乐播放器测试与优化四、实验步骤1. 功能需求分析音乐播放器应具备以下功能:(1)播放音乐:支持MP3、WAV等音乐格式;(2)播放列表:支持添加、删除、排序音乐列表;(3)音量控制:支持音量调节;(4)播放模式:支持顺序播放、随机播放、单曲循环;(5)播放进度:显示当前播放时间和总时长;(6)播放界面:简洁、美观、易用。
2. 系统设计(1)模块划分音乐播放器系统分为以下模块:①音乐播放模块:负责播放音乐、控制播放进度、音量等;②播放列表模块:负责管理音乐列表、添加、删除、排序音乐;③用户界面模块:负责显示播放界面、交互操作等。
(2)技术选型①音乐播放模块:采用Java Media Framework (JMF) 进行音乐播放;②播放列表模块:使用ArrayList存储音乐信息;③用户界面模块:采用Swing组件实现。
3. 软件实现(1)音乐播放模块①导入JMF库,创建播放器实例;②设置播放器播放源(音乐文件);③实现播放、暂停、停止、音量调节等功能;④实现播放进度显示。
(2)播放列表模块①创建播放列表类,继承ArrayList;②添加、删除、排序音乐列表;③实现音乐列表的遍历和查找。
(3)用户界面模块①设计播放界面布局,包括播放按钮、进度条、音量条等;②实现播放器与用户界面的交互操作;③实现播放器功能的调用。
4. 测试与优化(1)功能测试①测试播放音乐功能,确保支持多种音乐格式;②测试播放列表功能,确保添加、删除、排序操作正常;③测试播放模式功能,确保顺序播放、随机播放、单曲循环正常;④测试音量控制功能,确保音量调节正常;⑤测试播放进度显示功能,确保播放时间与总时长准确。
实验实训报告音乐播放器
![实验实训报告音乐播放器](https://img.taocdn.com/s3/m/d8d20272443610661ed9ad51f01dc281e43a561d.png)
一、实验目的1. 了解音乐播放器的基本原理和组成。
2. 掌握音乐播放器的电路设计方法。
3. 熟悉音乐播放器中常用元器件的性能和应用。
4. 提高动手能力和实际操作技能。
二、实验原理音乐播放器是一种将数字音频信号转换为模拟音频信号,并通过扬声器播放出来的设备。
其基本原理如下:1. 数字音频信号:音乐播放器接收的数字音频信号通常为MP3、WMA等格式,这些格式经过压缩处理后存储在存储介质上。
2. 数字信号解码:音乐播放器内部有一个数字信号解码器,将数字音频信号解码成模拟音频信号。
3. 模拟信号放大:解码后的模拟音频信号需要经过放大器放大,以便驱动扬声器发声。
4. 扬声器发声:放大后的模拟音频信号通过扬声器发声,实现音乐播放。
三、实验内容1. 音乐播放器电路设计2. 元器件选型与测试3. 音乐播放器组装与调试四、实验步骤1. 音乐播放器电路设计(1)确定音乐播放器功能:根据需求确定音乐播放器功能,如播放、暂停、切换曲目等。
(2)选择主控芯片:根据功能需求选择合适的主控芯片,如ESP8266、STM32等。
(3)设计电路原理图:根据主控芯片和功能需求,设计电路原理图,包括数字信号解码、模拟信号放大、按键、显示屏等模块。
(4)绘制PCB板图:根据电路原理图,绘制PCB板图,确定元器件布局和走线。
2. 元器件选型与测试(1)主控芯片:根据电路设计,选择合适的主控芯片,如ESP8266。
(2)数字信号解码芯片:根据电路设计,选择合适的数字信号解码芯片,如DAC芯片。
(3)模拟信号放大芯片:根据电路设计,选择合适的模拟信号放大芯片,如运算放大器。
(4)按键、显示屏等元器件:根据电路设计,选择合适的按键、显示屏等元器件。
(5)测试元器件:对所选元器件进行测试,确保其性能符合设计要求。
3. 音乐播放器组装与调试(1)焊接PCB板:根据PCB板图,焊接元器件,完成音乐播放器组装。
(2)调试电路:检查电路连接是否正确,调整电路参数,确保电路正常工作。
智能音乐播放器课程设计
![智能音乐播放器课程设计](https://img.taocdn.com/s3/m/a9172d8fb04e852458fb770bf78a6529657d3571.png)
智能音乐播放器课程设计一、课程目标知识目标:1. 让学生了解智能音乐播放器的基本原理,掌握其硬件组成和软件编程的基础知识。
2. 使学生掌握音乐播放器中音阶、音色、节奏等音乐元素的相关概念及其在编程中的应用。
3. 帮助学生理解智能音乐播放器与其他电子设备的连接与互动方式。
技能目标:1. 培养学生运用所学的编程知识,设计并实现简单的音乐播放功能。
2. 提高学生动手实践能力,能够独立完成智能音乐播放器的组装和调试。
3. 培养学生团队协作和沟通能力,能够在小组合作中发挥各自优势,共同完成项目任务。
情感态度价值观目标:1. 培养学生对智能硬件设备和编程的兴趣,激发创新意识和探索精神。
2. 引导学生关注音乐艺术与科技结合的前沿动态,提高审美素养。
3. 培养学生珍惜团队合作成果,树立正确的价值观和责任感。
本课程针对的学生特点是具有一定电子知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
课程性质为实践性、综合性、创新性,旨在通过项目式教学,让学生在动手实践中掌握知识,提高技能,培养情感态度价值观。
教学要求注重理论与实践相结合,鼓励学生创新思维,关注实际应用。
通过本课程的学习,学生将能够具备设计简单智能音乐播放器的能力,为后续相关课程打下坚实基础。
二、教学内容1. 理论知识:- 硬件组成:介绍智能音乐播放器的核心元件,如微控制器、音频解码器、存储器等。
- 软件编程:讲解编程语言基础,如C语言或Python,以及音乐编程的相关库和函数。
- 音乐元素:阐述音阶、音色、节奏等基本音乐概念及其在编程中的应用。
2. 实践操作:- 组装与调试:指导学生进行智能音乐播放器的组装,学习调试方法和技巧。
- 编程实践:通过编写程序,实现音乐播放、音量调节、曲目选择等功能。
- 项目制作:以小组形式,设计并完成一个具有创意的智能音乐播放器项目。
3. 教学大纲:- 第一周:智能音乐播放器硬件组成及功能介绍。
- 第二周:编程语言基础及音乐编程相关库的学习。
音乐播放器课程设计
![音乐播放器课程设计](https://img.taocdn.com/s3/m/39a532cae2bd960591c67735.png)
目录一、设计要求 (1)二、设计目的 (1)三、设计的具体实现 (1)3.1 系统概述 (1)3.2单元电路设计 (1)3.2.1 8086中央处理器 (1)3.2.2 74LS373地址锁存电路 (5)3.2.3 74LS138 译码电路 (6)3.2.4 定时/计数器8253A (7)3.3 软件程序设计和调试 (13)四、结论与展望 (17)五、心得体会及建议 (17)六、附录 (18)七、参考文献 (19)电子音乐播放器设计报告一、设计要求利用8253作为音频频率发生器,应先对一段音乐进行编码后存入音符表,并建立好音阶表(只建立一个8度即可,音阶表见附录),音符长度不能少于60个,连续播放3遍后停止。
具体要求如下:1、系统硬件电路设计:根据所选题目和所用的接口电路芯片设计出完整的系统硬件电路,并进行电路连接和调试。
2、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
二、设计目的本课程设计培养学生运用该课程的理论知识和技术知识解决工程实际问题的能力,学习微机系统设计的方法;学生通过对实验室系统的实际调试,进一步培养并提高了科学实验的能力。
因此,本课程设计为学生提供一个良好的理论联系实际的机会和场所,有利于为学生树立微机整体的概念,同时加强了学生编制和调试程序的能力,进一步培养学生的独立工作能力。
因此,课程设计是教学计划中必不可少的重要一环。
三、设计的具体实现1.系统概述该音乐播放器通过用8086中央处理器、74LS373地址锁存电路、74LS138译码电路、定时/计数器8253A来实现功能。
8086中央处理器输出地址码A16-A19和数据AD0-AD15,将AD0-AD7输入地址锁存器输出A0-A7,再将A0-A7通过译码器进行译码输出作为8253的片选信号,8253产生不同频率的脉冲来模拟音符,通过时间的长短来模拟音长,从而设计出一个功能完整的音乐播放器。
2.单元电路设计2.1 8086中央处理器8086中央处理器是Intel系列的16位微处理器,有16根数据线和20跟地址线。
mfc音乐播放器课程设计
![mfc音乐播放器课程设计](https://img.taocdn.com/s3/m/2bb475bb9a89680203d8ce2f0066f5335a8167d8.png)
mfc音乐播放器 课程设计一、课程目标知识目标:1. 学生能理解MFC音乐播放器的原理,掌握其基本组成和功能。
2. 学生能掌握MFC编程的基本概念,如窗口创建、消息处理等。
3. 学生能了解音频文件格式及其在音乐播放器中的应用。
技能目标:1. 学生能运用MFC编程知识,独立设计并实现一个简单的音乐播放器界面。
2. 学生能通过编程实现音乐播放、暂停、停止、切换歌曲等功能。
3. 学生能通过课程实践,提高解决问题的能力和团队协作能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性。
2. 培养学生勇于尝试、不断探索的精神,增强自信心。
3. 培养学生团队协作意识,提高沟通能力。
课程性质:本课程为信息技术课程,以实践操作为主,理论讲授为辅。
学生特点:六年级学生具备一定的计算机操作基础,对编程有一定兴趣,但编程技能和理论知识相对薄弱。
教学要求:结合学生特点,课程设计注重实践操作,以项目驱动教学,让学生在动手实践中掌握知识,提高技能。
同时,注重培养学生的情感态度价值观,激发学习兴趣,提高综合素质。
通过分解课程目标,为教学设计和评估提供明确的方向。
1. MFC基础知识:介绍MFC框架、窗口创建、消息映射等基本概念,让学生理解MFC编程的基本原理。
教材章节:第三章《MFC编程基础》内容安排:第1节至第3节2. 音频文件格式:讲解常见的音频文件格式,如MP3、WAV等,以及它们在音乐播放器中的应用。
教材章节:第四章《数字音频处理》内容安排:第1节3. 音乐播放器功能实现:引导学生学习音乐播放器的基本功能,如播放、暂停、停止、切换歌曲等,并通过编程实现。
教材章节:第五章《MFC音乐播放器设计与实现》内容安排:第1节至第4节4. 项目实践:指导学生以小组形式,设计并实现一个具有基本功能的MFC音乐播放器。
教材章节:第六章《项目实践》内容安排:第1节至第3节5. 教学进度:共安排8课时,其中MFC基础知识2课时,音频文件格式1课时,音乐播放器功能实现4课时,项目实践1课时。
音乐播放器课程设计报告
![音乐播放器课程设计报告](https://img.taocdn.com/s3/m/d78c6d3c6f1aff00bfd51e80.png)
目录一、设计任务要求 ................................................................................................ - 2 -1、课程设计题目 ............................................................................................. - 2 -2、工程设计总述 ............................................................................................. - 4 -二、选择器件 .......................................................................................................... - 4 -三、功能模块 .......................................................................................................... - 4 -1.分频器(div) ............................................................................................... - 4 -2、计数器(notetabs)................................................................................... - 6 -3、选择模块(choice)................................................................................... - 7 -4、数据翻译模块(tontaba): ...................................................................... - 9 -5、译码器模块(deled) .............................................................................. - 10 -6、数控分频器模块(speakera)................................................................ - 14 -7、乐谱数据ROM(四个模块)................................................................. - 15 -四、总体设计电路图 ............................................................................................ - 21 -1、顶层设计的电路原理图 ........................................................................... - 21 -2、顶层设计的仿真结果: ........................................................................... - 22 -3、电路的顶层文件管脚分配图 ................................................................... - 22 -五、心得体会 ........................................................................................................ - 22 -音乐播放器课程设计一、设计任务要求1、课程设计题目设计一个乐曲演奏电路,能够自动播放2首音乐。
c课程设计音乐播放器
![c课程设计音乐播放器](https://img.taocdn.com/s3/m/5f342b7fdc36a32d7375a417866fb84ae45cc3bb.png)
c 课程设计音乐播放器一、教学目标本课程的目标是让学生掌握音乐播放器的制作原理和技巧,学会使用C语言进行程序设计,培养学生的编程能力和逻辑思维能力。
具体的学习目标包括:1.知识目标:学生需要了解音乐播放器的基本原理,掌握C语言的基本语法和数据结构,熟悉音乐文件的处理方法和音效控制技术。
2.技能目标:学生能够运用C语言编写音乐播放器程序,进行音频文件的播放、暂停、停止、跳转等操作,调整音量大小和音效效果,实现歌词同步和专辑封面显示等功能。
3.情感态度价值观目标:学生通过制作音乐播放器,培养对编程和音乐的兴趣,提高创新意识和团队合作能力,增强自信心和自我成就感。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.音乐播放器的基本原理:介绍音乐播放器的工作原理,包括音频解码、音量控制、音效处理等模块。
2.C语言基础知识:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生编写音乐播放器程序打下基础。
3.音乐文件处理:介绍音乐文件的常见格式和结构,讲解如何读取、解析和播放音乐文件。
4.音效控制技术:讲解如何在音乐播放器中实现音量调整、音效效果等功能。
5.歌词同步和专辑封面显示:介绍如何实现歌词同步播放和专辑封面显示功能,提高音乐播放器的用户体验。
6.音乐播放器程序设计:引导学生运用所学知识,分组设计和实现一个简单音乐播放器程序。
三、教学方法为了激发学生的学习兴趣和主动性,本课程采用以下教学方法:1.讲授法:讲解音乐播放器的基本原理、C语言基础知识、音乐文件处理方法等,为学生提供理论支持。
2.案例分析法:分析实际的音乐播放器案例,引导学生学会分析问题、解决问题,提高编程能力。
3.实验法:分组进行音乐播放器程序设计,让学生动手实践,培养学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享编程心得和解决问题的方法,促进团队合作和交流。
四、教学资源为了支持教学内容和教学方法的实施,本课程准备以下教学资源:1.教材:选用权威、实用的C语言编程教材,为学生提供系统的学习资料。
音乐播放器实验报告
![音乐播放器实验报告](https://img.taocdn.com/s3/m/531c9ba9dd3383c4bb4cd283.png)
实验报告课程名称:数字系统设计实验1 指导老师:成绩:__________________ 实验名称:音乐播放实验实验类型:设计型同组学生姓名:_ 无一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、掌握音符产生的方法,了解DDS技术的应用。
2、了解AC97音频接口电路的应用。
3、掌握系统“自顶而下”的设计方法。
二、实验内容和原理i实验内容:设计一个音乐播放器ii实验原理:系统划分为主控制器(mcu)、乐曲读取(song_reader)、音符播放器(note_player)、AC97音频接口(codec_conditioner)和ac97_if五个子模块。
系统图如下:mcu接收按键信息,通知song_reader是否要播放(play)以及播放播放哪一首歌曲(song)。
song_reader模块根据mcu要求逐个取出音符{note,duration}送给note_player,乐曲播放完毕回复(song_done)给mcu。
note_player接收音符后以48kHz速率送出该音符的正弦波样品给AV97音频接口模块。
当一个音符播放结束,向song_reader回复note_done。
codec_conditioner、ac97_if负责与AC97接口工作。
另外,按键处理模块完成输入同步化、防颤动和脉冲变换等功能。
三、主要仪器设备带modelsim和ISE 的PC机,XUP Virtex-II Pro 开发系统一套四、设计过程1.音符播放器(note_player)的设计主要任务有:●从song_reader模块接收所需播放的音符信息{note,duration};●根据note值找出DDS的相位增量;●以48khz的速率从sine rom取出正弦样品送给AC97接口模块;●当一个音符播放完毕,向song_rom模块索取新的音符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长沙学院课程设计说明书题目音乐播放器的设计系(部) 电子与通信工程专业(班级)姓名学号指导教师起止日期 2012-12-17至2012-12-28EDA技术课程设计任务书系(部):电子与通信工程系专业:电气工程及其自动化指导教师:长沙学院课程设计鉴定表目录一、设计任务要求 ................................................................................................ - 5 -1、课程设计题目 ............................................................................................. - 5 -2、工程设计总述 ............................................................................................. - 7 -二、选择器件 .......................................................................................................... - 7 -三、功能模块 .......................................................................................................... - 7 -1.分频器(div) ............................................................................................... - 7 -2、计数器(notetabs)................................................................................... - 9 -3、选择模块(choice)................................................................................. - 10 -4、数据翻译模块(tontaba): .................................................................... - 12 -5、译码器模块(deled) .............................................................................. - 13 -6、数控分频器模块(speakera)................................................................ - 17 -7、乐谱数据ROM(四个模块)................................................................. - 18 -四、总体设计电路图 ............................................................................................ - 24 -1、顶层设计的电路原理图 ........................................................................... - 24 -2、顶层设计的仿真结果: ........................................................................... - 25 -3、电路的顶层文件管脚分配图 ................................................................... - 25 -五、心得体会 ........................................................................................................ - 25 -音乐播放器课程设计一、设计任务要求1、课程设计题目设计一个乐曲演奏电路,能够自动播放2首音乐。
要求将音乐通过实验箱上的蜂鸣器播放出来,且可以倒计时,把时间在数码管上显示出来。
设计分析(1)音乐播放器电路基本原理硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA 芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。
而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。
(2)音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。
由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。
若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。
若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。
实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。
本设计中选取1MHz的基准频率。
数控分频器采用12位二进制计数器,乐曲中的休止符,只要将分频系数设为0,即初始值=4095,此时扬声器不会发声。
根据分频系数,可计算数控分频器得到的初始值。
(语言已经无法描述其中的原理了,程序可以说明此问题,关于初始值的解释,请看下文给出的程序)初始值的计算公式如下:由于所设计的数控分频计采用12MHZ作为时钟源,并通过一次12分频给出频率为1MHZ的脉冲溢出信号,再对该1MHZ的溢出信号进行12位2进制码的带预置数进行计数,并给出一个频率随预置数变化的脉冲信号。
由于该脉冲信号不具有驱动蜂鸣器的能力,故对此脉冲信号进行2分频以推动蜂鸣器发声,故最终输出信号的频率与预置数的关系如下:f为音阶对应的频率。
其中m(3)乐曲节奏的控制一般乐曲最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要输出4Hz的1/4拍的时长(0.25秒),对于其它占用时间较长的节拍(必为1/4拍的整数倍)则只需要将该音符连续输出相应的次数即可。
计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低,由于最后的蜂鸣器前需加一个二分频的程序,因此计数器的时钟信号应为4Hz的2倍,即8Hz。
(4)乐谱的发生本设计将乐谱中的音符数据存储在LPM-ROM中,若某音在逻辑中停留了4个时钟节拍,即1秒的时间,相应地,该音符就要在LPM-ROM中连续的四个地址上都存储。
当一个4Hz的时钟来时,相应地就从LPM-ROM中输出一个音符数据。
2、工程设计总述当一个4Hz的时钟脉冲来到时,乐谱发生器模块输出一个音符数据给分频系数模块,分频系数模块输出此音符相应的分频系数所需的初始值,将初始值送给数控分频器模块,当12MHz的时钟脉冲来到时,数控分频器就根据分频系数输出相应的频率(即此音符所对应的发生频率)给扬声器,扬声器就可发出对应音符的声音来.连续的8Hz的时钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块,最后扬声器一个接一个的发出音符数据所对应的声音来。
曲子也就流畅的播放出来了。
同时led数码管会随着音乐显示相应的乐谱,3位led灯会随着高中低的频率,相应的闪烁。
当乐曲一遍演奏完成后,乐曲发生器能自动从头开始循环演奏,这时用拨码开关选择播放的乐曲,拨码开关给选择器一个选择信号,即可选择相应的歌曲莫开中的数据进入数据翻译模块,播放出相应的歌曲,本工程选取了四首乐曲,以格雷码的形式编码,每次只变一位拨码开关,比较方便选择。
分别为:0001菊花台0011世上只有妈妈好0010一剪梅0110隐形的翅膀二、选择器件1.EP1C20F324C8芯片2.实验箱底板电路(包括蜂鸣器7段数码管Led灯7个)3.计算机三、功能模块1.分频器(div)将芯片上提供的50MHz的时钟分频为12MHz和8Hz的时钟,分别供计数器与分频驱动器(数控分频器)使用。
(1)模块图形:(2)程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY div ISPORT(clk :IN STD_LOGIC;CLK12MHz,CLK8Hz: OUT std_logic);END div;ARCHITECTURE one of div isbeginnana:process(clk)variable cnt:integer range 0 to 2;variable tmp:std_logic;beginif(clk'event and clk='1')thenif cnt>=1 thencnt:=0;tmp:=not tmp;elsecnt:=cnt+1;end if;end if;CLK12MHz<=tmp;end process nana;nbnb:process(clk)variable cnt:integer range 0 to 3125000;variable tmp:std_logic;beginif(clk'event and clk='1')thenif cnt>=3124999 thencnt:=0;tmp:=not tmp;elsecnt:=cnt+1;end if;end if;CLK8Hz<=tmp;end process nbnb;end one;(3)仿真波形:(4)仿真波形分析由波形可看出ckl为输入50MHz的时钟信号,ckl12输出为平12MHz的时钟信号,clk8为8Hz的时钟信号。