音乐播放器课程设计报告
- 格式:doc
- 大小:1.16 MB
- 文档页数:23
课程设计报告之水城攒孽创作课程设计名称:音乐播放器院系:信息工程学院学生姓名:班级:学号:成绩:指导教师:开课时间: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音乐播放器学生姓名:专业: 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 音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本原理,掌握与其相关的电子元件功能;2. 学生掌握音乐播放器编程的基础知识,能够运用所学编程语言实现音乐播放功能;3. 学生了解音乐播放器在生活中的应用,认识不同类型的音乐播放器。
技能目标:1. 学生能够运用所学知识,设计并制作一个简易的音乐播放器;2. 学生能够通过编程解决音乐播放过程中遇到的问题,如播放、暂停、切换歌曲等;3. 学生能够进行团队协作,共同完成音乐播放器的设计与制作。
情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐审美能力;2. 学生通过实践操作,培养动手能力、创新意识和解决问题的能力;3. 学生在团队协作中,学会相互尊重、沟通与协作,培养集体荣誉感。
课程性质:本课程为实践性课程,结合课本知识,以学生动手操作为主,培养学生实际操作能力和创新能力。
学生特点:本年级学生具备一定的电子元件知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生的个体差异,鼓励学生创新思维,培养学生团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 音乐播放器原理:介绍音乐播放器的基本工作原理,包括音频信号处理、放大电路、扬声器等组成部分。
相关教材章节:第三章“音频信号处理”及第四章“放大电路与扬声器”2. 编程知识:运用课本所学编程语言,如C语言,实现音乐播放器的控制程序。
相关教材章节:第五章“C语言基础”及第七章“C语言编程实例”3. 音乐播放器设计制作:结合电子元件知识与编程技能,设计并制作一个简易的音乐播放器。
相关教材章节:第八章“电子制作实践”及第十章“综合项目设计与制作”4. 实践操作:分组进行音乐播放器的设计与制作,包括硬件连接、编程调试等环节。
相关教材章节:第十一章“实践操作与团队协作”教学内容安排与进度:第一课时:回顾音频信号处理、放大电路及扬声器等基础知识,明确音乐播放器工作原理。
音乐播放器课程设计一、课程目标知识目标:1. 学生能够理解音乐播放器的基本原理和功能。
2. 学生掌握音乐播放器界面设计的基本元素和布局。
3. 学生了解音乐播放器中不同音乐格式及其特点。
技能目标:1. 学生能够使用音乐播放器软件进行音乐播放、暂停、停止等基本操作。
2. 学生能够通过音乐播放器软件对音乐进行分类、排序和搜索。
3. 学生能够运用所学知识设计和制作简单的音乐播放器界面。
情感态度价值观目标:1. 培养学生对音乐的热爱和欣赏能力,提高审美情趣。
2. 培养学生团队协作和沟通能力,学会分享和交流音乐心得。
3. 增强学生对科技产品的认识,激发创新意识和探索精神。
课程性质:本课程为信息技术与音乐相结合的综合性课程,注重实践操作和实际应用。
学生特点:六年级学生具有一定的信息技术基础和音乐素养,对新事物充满好奇,喜欢动手实践。
教学要求:结合学生特点,采用任务驱动法,引导学生自主探究和合作学习,注重理论与实践相结合,提高学生的实际操作能力和创新能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活,提升音乐欣赏和信息技术素养。
二、教学内容1. 音乐播放器原理与功能- 了解音乐播放器的基本构成和原理- 掌握音乐播放器的主要功能及操作方法2. 音乐播放器界面设计- 学习音乐播放器界面设计的基本原则- 分析并模仿经典音乐播放器界面布局3. 音乐格式及特点- 介绍常见音乐格式(如MP3、WAV等)及其特点- 了解音乐格式对播放效果和文件大小的影响4. 音乐播放器操作与使用- 学习使用音乐播放器软件进行基本操作(播放、暂停、停止等)- 掌握音乐播放器的高级功能(如音乐分类、排序、搜索等)5. 设计制作音乐播放器界面- 学习运用设计软件制作音乐播放器界面- 结合团队协作,设计并展示个性化的音乐播放器界面教学大纲安排:第一课时:音乐播放器原理与功能第二课时:音乐播放器界面设计第三课时:音乐格式及特点第四课时:音乐播放器操作与使用第五课时:设计制作音乐播放器界面教学内容关联教材章节:《信息技术》六年级上册:第五章 多媒体技术应用,第三节 音乐播放器原理与使用。
dsp课程设计音乐播放器一、课程目标知识目标:1. 学生能够理解数字信号处理(DSP)的基本概念,掌握音乐播放器中DSP 技术的应用原理。
2. 学生能够掌握音乐播放器中音频信号的采样、量化、编码等基本知识。
3. 学生能够了解不同音频格式对音乐播放效果的影响,并学会选择合适的音频格式。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的音乐播放器。
2. 学生能够熟练使用相关软件工具进行音频信号的处理和分析。
3. 学生能够通过编程实现音乐播放器的功能,如播放、暂停、停止等。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发他们探索科学技术的热情。
2. 培养学生的团队协作意识和创新精神,使他们能够在项目实践中相互学习、共同进步。
3. 培养学生关注音乐播放器在实际生活中的应用,提高他们将所学知识应用于解决实际问题的能力。
课程性质:本课程为实践性较强的学科,以项目为导向,注重培养学生的动手能力和创新能力。
学生特点:学生具备一定的编程基础,对音乐播放器有一定的了解,但对DSP技术及其在音乐播放器中的应用尚不熟悉。
教学要求:教师应结合学生特点,采用理论教学与实践操作相结合的方式,引导学生主动探索、积极实践,确保课程目标的达成。
同时,注重分解课程目标为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 数字信号处理基础理论:- 介绍数字信号处理的基本概念,如采样、量化、编码等。
- 分析音乐播放器中音频信号的处理流程。
2. 音乐播放器原理与设计:- 讲解音乐播放器的基本工作原理,如播放、暂停、停止等功能实现。
- 引导学生了解不同音频格式及其特点,选择合适的音频格式。
3. 音频信号处理技术:- 介绍音频信号处理的相关算法,如数字滤波器、音量调节等。
- 指导学生运用相关软件工具进行音频信号的处理和分析。
4. 编程实践:- 制定详细的编程实践计划,分解音乐播放器的设计任务。
- 引导学生使用编程语言,如C/C++、Python等,实现音乐播放器的功能。
基于java的音乐播放器课程设计报告第一篇:基于java的音乐播放器课程设计报告Java课程设计报告题目:java音乐播放器姓名学号院系班级专业任课教师1.设计内容及要求能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面添加歌曲之后才能够查看到里面所包含的歌曲目录。
当播放歌曲时,可以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属性,如:歌曲名,歌手,发布时间,所属专辑等等。
2.需求分析1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以随时了解歌曲的播放进度2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设置3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获取关于该歌曲的用户所需的相关信息。
4、菜单栏:①文件:打开:用户通过该菜单项打开本地音乐文件,听任何用户想听的歌曲循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲退出:退出音乐播放器,及退出该程序②播放控制:播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐暂停:暂停当前正在播放的音乐停止:停止当前正在播放的音乐③播放列表:当用户通过文件打开本地音乐文件后,及相当于在播放列表里面添加了歌曲,及形成相应的歌曲播放目录3.总体设计结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制,播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单项,该菜单就是用来显示或者查看相应的歌曲目录的。
该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音乐播放窗口里面用户可以进行相关的音乐播放的控制操作。
实验报告课程名称:数字系统设计实验指导老师:成绩:_____________实验名称:音乐播放器设计实验实验类型:设计型一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求实验目的:(1)掌握音符产生的方法,了解DDS技术的应用;(2)了解AC97音频接口电路的应用;(3)掌握系统“自顶而下”的设计方法。
实验要求:(1)可以播放四首乐曲,设置play、next、reset三个按键。
按play键播放当前乐曲,按键next播放下一首乐曲。
(2)LED0指示播放情况(播放时点亮),LED2和LED3指示当前乐曲序号。
2、个性化要求(1)用键盘上的三个按键P、N、Esc控制乐曲的播放。
(2)用SVGA显示乐曲的播放波形。
二、实验内容和原理本次实验共可分成mcu、song_reader、note_player、codec_conditioner和ac97_if五个子模块。
如下图:1、mcu模块接受按键信息,通知song_reader模块是否要播放(play)及播放哪首乐曲(song)。
2、song_reader模块根据mcu的要求,逐个取出音符{note,duration}送给note_player 模块播放,当一首乐曲播放完毕,回复mcu模块乐曲播放结束信号(song_done)。
3、note_player模块接收到需播放的音符,在音符的持续时间内,以48Hz速率送出该音符的正弦波样品给AC97音频接口模块。
当一个音符播放结束,向song_reader模块发送一个note_done脉冲索取新的音符。
4、codec_conditioner、ac97_if模块负责与AC97音频系统接口工作。
另外,按键处理模块完成输入同步化、防颤动和脉宽变换等功能。
设计原理:1、主控制模块mcu的设计根据设计要求,模块mcu的工作流程图如下图所示。
音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本组成结构与功能;2. 学生掌握音乐播放器界面设计的基本原则;3. 学生了解音乐播放器中音乐格式及播放原理。
技能目标:1. 学生能够运用所学的界面设计原则,设计出美观、实用的音乐播放器界面;2. 学生能够利用相关软件或编程语言,实现音乐播放器的基本功能,如播放、暂停、切换歌曲等;3. 学生能够通过小组合作,共同完成音乐播放器的制作,提高团队协作能力。
情感态度价值观目标:1. 学生培养对音乐艺术的热爱和欣赏能力;2. 学生养成积极探索、勇于创新的学习态度,增强解决问题的信心;3. 学生通过课程学习,认识到科技与艺术的结合,提高审美观念和人文素养。
课程性质:本课程以实践操作为主,结合理论讲解,培养学生的动手能力和创新思维。
学生特点:六年级学生对音乐有一定的兴趣和认知,具备一定的计算机操作能力,喜欢探索新事物。
教学要求:教师需关注学生的个体差异,提供个性化的指导,鼓励学生积极参与课堂讨论和实践活动,以达到课程目标。
在教学过程中,注重将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 音乐播放器的基本原理- 介绍音乐播放器的发展历程;- 讲解音乐播放器的硬件与软件组成;- 分析音乐播放器的工作原理。
2. 音乐播放器界面设计原则- 探讨界面设计的基本原则,如简洁、易用、美观等;- 分析优秀音乐播放器界面的设计特点;- 学习界面设计的基本工具和方法。
3. 音乐格式及播放器功能实现- 介绍常见的音乐格式,如mp3、wav等;- 讲解音乐播放器中解码、播放、音效处理等功能的实现方法;- 学习使用编程语言或软件实现音乐播放器的功能。
4. 实践操作:音乐播放器制作- 分组讨论,确定音乐播放器的主题和功能;- 设计并制作音乐播放器界面;- 编程实现音乐播放器的基本功能;- 测试、优化音乐播放器。
教学内容依据课程目标,结合教材,确保科学性和系统性。
音乐播放器摘要本设计是一个音乐播放器,由节拍发生器、歌曲存储器、译码器、分频器四部分组成。
能够连续播放或选曲播放预存在ROM里的4首歌曲。
该播放器用Quartus II仿真软件设计并测试功能正常,下载到试验箱验证成功。
关键词:音乐播放器,节拍发生器,存储器,译码器,分频器目录前言 (3)第1章系统原理 (6)1.1音乐编码 (6)1.1.1编码原理 (6)1.1.2编码参照表 (6)1.2设计原理 (7)第2章系统工作过程 (8)2.1.1 工作原理 (8)2.1.2仿真分析 (9)2.2 歌曲存储器 (9)2.2.1 工作原理 (9)2.2.2 歌曲编码 (10)2.2.2 ROM定制 (14)2.3 译码器电路设计 (16)2.3.1 译码器工作原理 (16)2.3.2 仿真分析 (17)2.4 分频器电路设计 (17)2.4.1 工作原理 (17)2.4.2 仿真分析 (20)第3章下载验证 (21)3.1 引脚锁定设置 (21)3.1.1 器件选择 (21)3.1.2 引脚分配 (21)3.2 配置文件下载 (22)3.3 硬件测试 (22)结论 (23)参考文献 (24)前言世界上第一片FPGA由美国Xilinx公司于1985年率先推出。
进入21世纪之后,以FPGA为核心的单片系统(SOC)和可编程系统(SOPC)有了显著的发展,单片FPGA的集成规模已达到几百万门,其工作速度已超过300MHz。
FPGA在结构上已经实现了复杂系统所需要的主要功能,并将多种功能集成在一片FPGA器件中,如嵌入式存储器、嵌入式乘法器、嵌入式处理器、高速I/O缓冲器、外置存储器接口和实现数字信号处理的DSP等功能。
随着FPGA性能的不断完善,FPGA器件的种类日益丰富,受到世界范围内电子设计人员的普遍欢迎,并占据了较大的市场,其生产厂家也由原来的Xilinx公司一家增加到Altera、Actel、lattice等十几家公司。
智能音乐播放器课程设计一、课程目标知识目标:1. 让学生了解智能音乐播放器的基本原理,掌握其硬件组成和软件编程的基础知识。
2. 使学生掌握音乐播放器中音阶、音色、节奏等音乐元素的相关概念及其在编程中的应用。
3. 帮助学生理解智能音乐播放器与其他电子设备的连接与互动方式。
技能目标:1. 培养学生运用所学的编程知识,设计并实现简单的音乐播放功能。
2. 提高学生动手实践能力,能够独立完成智能音乐播放器的组装和调试。
3. 培养学生团队协作和沟通能力,能够在小组合作中发挥各自优势,共同完成项目任务。
情感态度价值观目标:1. 培养学生对智能硬件设备和编程的兴趣,激发创新意识和探索精神。
2. 引导学生关注音乐艺术与科技结合的前沿动态,提高审美素养。
3. 培养学生珍惜团队合作成果,树立正确的价值观和责任感。
本课程针对的学生特点是具有一定电子知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
课程性质为实践性、综合性、创新性,旨在通过项目式教学,让学生在动手实践中掌握知识,提高技能,培养情感态度价值观。
教学要求注重理论与实践相结合,鼓励学生创新思维,关注实际应用。
通过本课程的学习,学生将能够具备设计简单智能音乐播放器的能力,为后续相关课程打下坚实基础。
二、教学内容1. 理论知识:- 硬件组成:介绍智能音乐播放器的核心元件,如微控制器、音频解码器、存储器等。
- 软件编程:讲解编程语言基础,如C语言或Python,以及音乐编程的相关库和函数。
- 音乐元素:阐述音阶、音色、节奏等基本音乐概念及其在编程中的应用。
2. 实践操作:- 组装与调试:指导学生进行智能音乐播放器的组装,学习调试方法和技巧。
- 编程实践:通过编写程序,实现音乐播放、音量调节、曲目选择等功能。
- 项目制作:以小组形式,设计并完成一个具有创意的智能音乐播放器项目。
3. 教学大纲:- 第一周:智能音乐播放器硬件组成及功能介绍。
- 第二周:编程语言基础及音乐编程相关库的学习。
音乐播放器19120104 王萌萌音乐播放器是一种用于播放各种音乐文件的播放软件。
他可以播放各种格式的音频文件,如MP3、Wma、Video、Wave、A VI等。
本音乐播放器设计的技术点如下:1、利用GDI技术绘制音乐信息。
2、通过不规则按钮美化界面。
3、通过Active Movie Control Object 空间播放音乐。
第一部分界面实现简介要实现音乐播放器,在软件界面上要实现多种功能,包括打开(Open)、播放(Play)、暂停(Pause)、停止(Stop)、关闭(Close)、退出(Exit)、音量控制(V olume)、循环(Repeat)等。
功能总述如下图所示:功能总述播放操作最小化到托盘区状态提示播放音乐暂停播放停止播放音量控制打开音乐循环播放时间信息状态信息播放进度文件名称音乐信息界面实现如下图所示:1、1打开音乐文件在播放器上单击Open按钮,弹出“打开”对话框。
根据将要打开的音频文件类型选择过滤器,找到相应文件的路径后便可以将制定音频文件打开,如下图所示:将选中的音频文件打开后,该文件的名称及当前状态将会显示在界面上,如下图所示:1、2播放音乐的功能当打开后,播放器处于停止播放的状态,音频文件的一些信息也没有完全显示出来。
当用户单击Play按钮后,播放器将播放刚刚打开的音频文件,并修改当前的状态,将音频文件的详细信息显示到界面上,进度条及播放时间根据播放进度同时进行状态更新。
如图所示:1、3暂停播放的功能当播放器处于暂停状态时,单击界面上的Pause按钮可使播放器进入暂停状态。
处于暂停状态的播放器记录着当前音频文件的播放进度,一旦用户再次单击Play按钮,播放器可以继续暂停前的播放状态,如图所示:1、4停止播放的功能无论是播放状态还是暂停状态,当用户单击Stop按钮时,播放器将进入停止播放状态,播放进度及时间回到初始状态,只有当用户再次单击Play按钮时,才可以重新播放音频文件,停止播放时,播放器的状态如图所示:1、5循环播放的功能当播放器处于非循环状态时,用户单击Stop按钮或者播放到最后,播放器都将进入停止播放状态,如图所示:而当用户单击Repeat按钮时,进入循环状态,单击Stop按钮或者播放到最后,播放器都将进入重新播放状态,如图所示:1、6调节音量大小在播放器的右侧,有一个滑块可以控制播放器声音的大小。
《微机应用系统》课程设计报告题目:电子音乐播放器专业班级:电子信息科学与技术1001班设计学生:完成时间:2012年6月27 日湖南文理学院物理与电子科学学院系统设计原理图程序流程图调用MUSIC子程序取各音符频率设置取各音符时间设置读取频率频率=0YN开始调用SPEAKER程序读取时间节拍TIME源程序:CODE SEGMENTASSUME CS:CODEORG 100H ;首地址START:MOV CX,3 ;设置歌曲重复播放次数LOOP $MUSIC:LEA SI,FREQ ;取FREQ的偏移地址LEA BP,TIME ;取TIME的偏移地址LOP: MOV DI,[SI] ;把[SI]的内容放到DICMP DI,0 ;0用于判断是否结束歌曲JE STARTMOV BX,[BP] ;把[BP]的内容放到BXCALL SPEAKERADD SI,2 ;取下一频率值ADD BP,2 ;取下一时间节拍值JMP LOP ;跳回LOP循环;音乐子程序SPEAKER PROCPUSH AX ;保存堆栈PUSH BXPUSH CXPUSH DXPUSH DI;初始化部分MOV AL,10110110B ;对计数器写控制字,选计数器2,先写低8位,后写高8位。
OUT 04A6H,AL ;方式3(方波发生器)、双字节写和二进制计数方式写到控制口MOV DX,5 ;设置被除数MOV AX,0B8D8HDIV DI ; (DI)=频率,商→AL,余数→AHOUT 04A4H,AL ;先送LSB 最低有效位MOV AL,AHOUT 04A4H,AL ;后送MSB 最高有效位WAIT1: MOV CX,4 ;设循环次数4DELAY: L OOP DELAYDEC BX ;循环持续BX次,即传进来的节拍时间JNZ WAIT1POP DI ;恢复堆栈POP DXPOP CXPOP BXPOP AXRETSPEAKER ENDP;歌曲乐谱;歌曲:《我和你》FREQ DW 1 DUP(659,784,523,578,659,392,523,578,659,784,578,578) DW 1 DUP(659,784,523,578,659,440,578,784,578,659,523,523)DW 1 DUP(880,784,880,523,659,440,659,784,578,578)DW 1 DUP(659,784,523,578,659,440,578,784,578,659,523,523)DW 10 DUP(-1),0 ;歌曲频率TIME DW 2 DUP(20000,20000,40000),4 DUP(20000),2 DUP(40000) DW 2 DUP(20000,20000,40000),4 DUP(20000),2 DUP(40000)DW 4 DUP(40000),4 DUP(20000),2 DUP(40000)DW 2 DUP(20000,20000,40000),4 DUP(20000),2 DUP(40000)DW 10 DUP(20000) ;歌曲时间节拍值设计总结:通过两个星期的课程设计,我经历了一个电子音乐播放器从零开始到实现音乐播放的过程。
目录一、设计要求 (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跟地址线。
目录一、设计任务要求 ................................................................................................ - 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语言进行程序设计,培养学生的编程能力和逻辑思维能力。
具体的学习目标包括:1.知识目标:学生需要了解音乐播放器的基本原理,掌握C语言的基本语法和数据结构,熟悉音乐文件的处理方法和音效控制技术。
2.技能目标:学生能够运用C语言编写音乐播放器程序,进行音频文件的播放、暂停、停止、跳转等操作,调整音量大小和音效效果,实现歌词同步和专辑封面显示等功能。
3.情感态度价值观目标:学生通过制作音乐播放器,培养对编程和音乐的兴趣,提高创新意识和团队合作能力,增强自信心和自我成就感。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.音乐播放器的基本原理:介绍音乐播放器的工作原理,包括音频解码、音量控制、音效处理等模块。
2.C语言基础知识:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生编写音乐播放器程序打下基础。
3.音乐文件处理:介绍音乐文件的常见格式和结构,讲解如何读取、解析和播放音乐文件。
4.音效控制技术:讲解如何在音乐播放器中实现音量调整、音效效果等功能。
5.歌词同步和专辑封面显示:介绍如何实现歌词同步播放和专辑封面显示功能,提高音乐播放器的用户体验。
6.音乐播放器程序设计:引导学生运用所学知识,分组设计和实现一个简单音乐播放器程序。
三、教学方法为了激发学生的学习兴趣和主动性,本课程采用以下教学方法:1.讲授法:讲解音乐播放器的基本原理、C语言基础知识、音乐文件处理方法等,为学生提供理论支持。
2.案例分析法:分析实际的音乐播放器案例,引导学生学会分析问题、解决问题,提高编程能力。
3.实验法:分组进行音乐播放器程序设计,让学生动手实践,培养学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享编程心得和解决问题的方法,促进团队合作和交流。
四、教学资源为了支持教学内容和教学方法的实施,本课程准备以下教学资源:1.教材:选用权威、实用的C语言编程教材,为学生提供系统的学习资料。
课程设计说明书课程设计名称:软件综合课程设计课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院电子信息工程专业课程设计任务书正文:目录引言 (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]。
音频技术发展较早,几年前一些技术已经成熟并产品化,音频技术主要包括四个方面:音频数字化、语音处理、语音合成及语音识别。
课程设计报告课程名称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)前言关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。
可见抢答器在现实生活中确实很实用,运用前景非常广泛。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要有一个系统来完成这个任务。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
本文介绍了一种纯粹用VHDL代码编写设计的高分辨率的4路抢答器。
该抢答器为VHDL代码编写生成各个模块,完成电路设计,具有分组数多、分辨率高等优点。
该抢答器除具有基本的抢答功能外,还具有优先能力、定时功能及复位功能。
主持人通过控制开关使抢答器达到定时、复位的功能。
第1章绪论1.1抢答器系统图图1-1 抢答器系统图本设计分为三个模块:控制模块、计时模块、计分模块,各个模块共同作用,以实现整个设计的总体功能。
四人抢答器,当裁判员宣布开始抢答时,谁先按下他前面的控制开关,他的灯就会亮,而且这时其他人再怎么按,也就不会亮了。
当有一个指示灯亮了,就开始倒计时,到0时结束,这样计数器开始工作就是在指示灯的指示下工作。
设四个人分别为输入端A,B,C,D;因为四个输入端在VHDL中,要求四个输入端应该是相等优先级别。
其次就是计时器部分,当有人开始进入回答部分,指示灯亮,同时计时器开始工作,并要求是倒计时方式显示出。
计时器采用倒计时方式,只要给他们最初赋值,而后在每个上升沿来到减一。
计数器的主要功能是管理选手分数,并且在不加分不扣分的情况下,具有锁存选手的分数的功能,实现分数的累加。
1.2 抢答器设计要求实现4人抢答时每人的分数累加,倒计时显示答题时间:(1)1个主持键,4个抢答键(2)每人设置一个抢答按钮。
(3)抢答的键号用一个数码管显示(4)主持键按下,4个抢答键才有效。
(5)显示最快抢答选手的编号。
(6)当时间到达设置的时间极限还没人按抢答键,抢答停止,抢答键无效,当主持键再次按下才有效。
(7)在规定的时间内抢答键按下时,显示先按下的键号,时间停止,抢答键无效;当主持键再次按下才有效。
(8)选手分数预置为100分,主持人控制加分数,每次加的都是10分。
(9)必须先进行前仿真,并打印出仿真波形, 按要求写好设计报告。
1.3 基本功能(1) 编号分别为A、B、C、D的四个,各用一个抢答按钮,选手A、B、C、D相对应的按钮编号分别为1000、0100、0010、0001。
(2) 主持人控制一个主持键,用来控制系统的清零和抢答。
(3) 数字抢答器的具有倒计时功能。
主持键按下后,如果有选手在规定的时间内抢先按下了抢答按钮,则该选手将有一分钟的时间作答。
选手分数预置为100分,主持人控制加分数,每次加的都是10分。
当定时抢答时间已到,还没人抢答,本次抢答无效,均不加分,同时答错不扣分。
第2章模块设计2.1 主控制模块2.1.1 主要功能主控制模块的主要功能:在主持键(清零键)按下后,选手按键才可以应用,分辨出选手按键的先后,并锁存优先抢答者的编号;而且使其他选手的按键操作无效,且主持键具有按下的瞬间可以清除上次锁存的选手编号。
2.1.2 代码编写LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY QDJB ISPORT (CLR:IN STD_LOGIC;--1个预值数A,B,C,D:IN STD_LOGIC; --1个预值数BH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));--定义一个4位的代号END ENTITY QDJB;ARCHITECTURE ART OF QDJB ISSIGNAL CLK1,CLK2,CLK3,CLK4,T:STD_LOGIC;--定义4个信号BEGIN--初始状态CLR=1, A1,B1,C1,D1全为0, T=1T<=CLR AND (NOT BH(3)) AND(NOT BH(2))AND(NOTBH(1))AND(NOT BH(0));--当CLR为0时T为0; 当在CLR由0变为1的瞬间,BH为0000,此时时间T为1.实现了主持键按下后,四个选手按键才有效.CLK1<=A AND T;-- CLK1<= A =0-- A和T同时为高电平时,CLK1为1CLK2<=B AND T; -- CLK2<= B =0-- B和T同时为高电平时,CLK2为1CLK3<=C AND T; -- CLK3<= C =0-- C和T同时为高电平时,CLK3为1CLK4<=D AND T; -- CLK4<= D =0-- D和T同时为高电平时,CLK4为1PROCESS (CLK1,A,CLR) IS--选手按下键后, CLK产生上升沿,输出al<=’1’;--使得T 变为0,所有的CLK变为0,不能接受其他选手的按键BEGINIF CLR='0' THEN BH(3)<='0';--当CLR清零时, BH(3)赋值为0.实现CLR清零时BH变为0000.ELSIF CLK1'EVENT AND CLK1='1' THEN--CLR与CLK1同时为1时IF(A='1') THEN BH(3)<='1';--当A='1'时,BH(3)被赋值为'1',证明锁存住选手A的编码END IF;END IF;END PROCESS;PROCESS (CLK2,B,CLR) ISBEGINIF CLR='0' THEN BH(2)<='0';ELSIF CLK2'EVENT AND CLK2='1' THENIF(B='1') THEN BH(2)<='1';END IF;END IF;END PROCESS;PROCESS (CLK3,C,CLR) ISBEGINIF CLR='0' THEN BH(1)<='0';ELSIF CLK3'EVENT AND CLK3='1' THENIF(C='1') THEN BH(1)<='1';END IF;END IF;END PROCESS;PROCESS (CLK4,D,CLR) ISBEGINIF CLR='0' THEN BH(0)<='0';ELSIF CLK4'EVENT AND CLK4='1' THENIF(D='1') THEN BH(0)<='1';END IF;END IF;END PROCESS;END ARCHITECTURE ART;图2-1 主控制部分电路图的封装图2.1.3 仿真波形及其分析图2-2 主控制部分仿真波形该电路有四个输入和一个输出:CLR为清零端(主持键),在新一轮抢答之前给它一段时间高电平,只有当CLR为0(按下时为0)时,该端发挥清零功能,而为1时输出值只和A、B、C、D四位选手的按键情况有关;当清零以后,根据A、B、C、D四位选手的抢答情况,BH为四个选手的抢答端口的现实端.当有选手抢先按下按键时,BH端口输出该选手的号码,由波形图和编写的程序可知A、B、C、D抢到时BH输出值分别是1000、0100、0010、0001。