音乐播放器.docx
- 文档编号:28149338
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:15
- 大小:479.65KB
音乐播放器.docx
《音乐播放器.docx》由会员分享,可在线阅读,更多相关《音乐播放器.docx(15页珍藏版)》请在冰豆网上搜索。
音乐播放器
信息与电气工程学院
课程设计说明书
(2010/2011学年第二学期)
课程名称:
单片机应用课程设计
题目:
音乐播放器
专业班级:
通信08
学生姓名:
学号:
指导教师:
贾少锐、李晓东、马小进
设计周数:
2周
设计成绩:
2011年6月24日
1、课程设计目的与要求
1.1设计目的
本课程设计是通信工程专业的一门软硬件相结合实践的专业基础课,旨在提高学生的单片机应用、软件编程及小型工程项目开发能力。
本设计将进一步加强学生对单片机硬件的理解,增强对汇编或C语言的灵活运用。
要求学生能结合单片机、模拟电路、数字电路、汇编或C语言,实现基本的应用系统,为以后从事相关行业打下实践基础。
本设计以AT89C51单片机为核心。
通过对其按键的设定来实现音乐的播放,通过对键盘的设置可以实现人机对话,借助键盘可以向计算机系统输入程序,置数、送操作命令、控制程序的执行走向等,并最终通过LED显示器显示出播放的乐曲。
重点研究内容有:
·单片机最小系统的设计与实现
·键盘电路的设计与控制
·扬声器控制电路的设计与实现
·LED显示器的驱动及显示
·软件模块的设计与编写
1.2设计要求
●利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)
●采用LCD或数码管显示信息
●开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)
●可自由选择歌曲进行播放,并且能按选上一曲,下一曲。
●开关控制的秒表。
要求:
按键控制秒表的启动
2、课程设计正文
2.1、硬件方面
图1:
音乐播放器总体电路设计图
2.1.1、音乐播放器的功能
此次设计的音乐播放器要求具有以下功能:
·音乐播放器预先设定1~3共3首乐曲,依次为挥着翅膀的女孩,同一首歌,两只蝴蝶。
·设定四个按键:
前进、后退、播放、停止。
通过按键前进和回退选定某一曲目,在LED上显示数字1~3,按下播放即可播放曲目。
·当按下停止键时,音乐播放器停止正在播放的曲目。
·当按下复位键时,系统将对芯片进行初始化。
2.1.2、音乐播放器的硬件组成
根据系统音乐播放器的功能要求,一个完整的音乐播放器电路相当于一个简单的单片机系统,该系统由按键开关、单片机、LED显示电路、扬声器控制电路4个方面构成。
·51单片机。
51单片机为整个系统的核心部分,是带动整个系统工作的重要部件。
·键盘输入。
键盘输入用来控制输入指令,发出指令至单片机,使单片机按照指令工作。
·扬声器。
扬声器作为输出部分按照键盘给单片机的指令发出乐曲。
·LED显示电路。
LED显示器也作为输出部分,按照键盘给单片机的指令,显示正在演奏的乐曲。
2.1.3、系统方案设计
根据设计任务的基本要求,设计了由单片机(AT89C51)作为主控器件,按键组成的按键操作电路,以及LM386、扬声器组成的发声电路,连接LED显示器将要演奏的乐曲序号显示出来,通过连接扬声器使其发出音乐。
系统总体结构如图1所示。
图2系统总体结构框图
2.1.4、音乐播放器的工作原理
利用I/O口产生一定频率的方波,驱动扬声器,发出不同的音调,从而演奏乐曲。
扫描键盘,确定按下的键值,并播放相应的曲目。
采用LED(或LCD)显示信息。
一首乐曲演奏的原理是:
一首乐曲是由音阶和节拍两大要素构成,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。
根据这一特点,我们采用单片机辅以相应的接口来设计音乐播放器。
2.1.5、单元电路设计
2.1.5.1、MC7805稳压器
7805是最常用的一种稳压芯片,输入直流稳压电源,它的输出电压恰好为5V,刚好是51系统单片机运行电压。
但是输入电压要大于输出电压至少2V,即7V到18V。
实例图所示。
图3MC7805实例图
引脚图如图3所示。
图47805引脚图
其中1接整流器输出的正电压,2为公共地(也就是负极),3接的就是我们需要的正5V输出电压。
MC7805在音乐播放器电路中的连接状态如图4所示。
图57805连接图
2.1.5.2、键盘电路
图6键盘电路
键盘的设计使用了单片机P1口的P1.0~P1.2口,S1是前进按键,S2是后退按键,S3是播放按键,S4接P3.2口,采用外部中断,作为停止播放按键。
2.1.5.3、扬声器控控制电路的设计
在扬声器电路的设计中使用了LM386音频功率放大器。
在此将放大器增益设为200。
LM386的引脚图如图6所示。
图7LM386引脚图
LM386与扬声器在电路中的连接如图7所示。
图8扬声器电路
2.1.5.4、LED显示电路的设计
LED显示器由8位LED数码管组成,用于显示系统在各种不同条件下的状态。
在此用的LED数码管为8字型数码管,分为A、B、C、D、E、F、G、DP八段,其中DP为小数点。
数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相连通。
数码管从电路上来看可分为共阴和共阳两种,在本设计中使用的是共阴极的LED。
LED在电路中的连接如图8所示。
图9LED显示电路
表1CD4511真值表
2.1.6、系统调试
以上硬件电路图都在开发板上焊制成功之后,就需要使用Keil软件烧入程序,进行调试,并使之发声。
2.2软件方面
2.2.1、方案设计
根据设计思路,使用仿真软件进行仿真。
2.2.2、系统设计
系统设计最初,是使用protues仿真软件,后来发现protel99作图比较美观,所以以上图均是用protel99软件作出来的效果。
2.2.3、系统实施
程序代码:
#include
#include"SoundPlay.h"
#include"12864.h"
sbitk1=P1^0;
sbitk2=P1^1;
sbitk3=P1^2;
sbitk4=P1^3;
voidDelay1ms(unsignedintcount)
{
unsignedinti,j;
for(i=0;i for(j=0;j<120;j++); } //*****************************Music****************************************************** //挥着翅膀的女孩 unsignedcharcodeMusic_Girl[]={0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x15,0x03, 0x16,0x03,0x17,0x03,0x17,0x03,0x17,0x03,0x18,0x03, 0x19,0x02,0x16,0x03,0x17,0x03,0x18,0x02,0x18,0x03, 0x17,0x03,0x15,0x02,0x18,0x03,0x17,0x03,0x18,0x02, 0x10,0x03,0x15,0x03,0x16,0x02,0x15,0x03,0x16,0x03, 0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x1A,0x03, 0x1B,0x03,0x1F,0x03,0x1F,0x03,0x17,0x03,0x18,0x03, 0x19,0x02,0x16,0x03,0x17,0x03,0x18,0x03,0x17,0x03, 0x18,0x03,0x1F,0x03,0x1F,0x02,0x16,0x03,0x17,0x03, 0x18,0x03,0x17,0x03,0x18,0x03,0x20,0x03,0x20,0x02, 0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03, 0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03, 0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66, 0x1A,0x03,0x19,0x03,0x15,0x03,0x15,0x03,0x17,0x03, 0x16,0x66,0x17,0x04,0x18,0x04,0x18,0x03,0x19,0x03, 0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03, 0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03, 0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66, 0x1A,0x03,0x19,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03, 0x1F,0x00,0x1A,0x03,0x1A,0x03,0x1A,0x03,0x1B,0x03, 0x1B,0x03,0x1A,0x03,0x19,0x03,0x19,0x02,0x17,0x03, 0x15,0x17,0x15,0x03,0x16,0x03,0x17,0x03,0x18,0x03, 0x17,0x04,0x18,0x0E,0x18,0x03,0x17,0x04,0x18,0x0E, 0x18,0x66,0x17,0x03,0x18,0x03,0x17,0x03,0x18,0x03, 0x20,0x03,0x20,0x02,0x1F,0x03,0x1B,0x03,0x1F,0x66, 0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03, 0x1F,0x66,0x1F,0x04,0x1B,0x0E,0x1B,0x03,0x19,0x03, 0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03, 0x15,0x03,0x15,0x03,0x17,0x03,0x16,0x66,0x17,0x04, 0x18,0x04,0x18,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03, 0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03, 0x1B,0x03,0x1F,0x66,0x1F,0x03,0x1B,0x03,0x19,0x03, 0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03, 0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x00,0x18,0x02, 0x18,0x03,0x1A,0x03,0x19,0x0D,0x15,0x03,0x15,0x02, 0x18,0x66,0x16,0x02,0x17,0x02,0x15,0x00,0x00,0x00}; //同一首歌 unsignedcharcodeMusic_Same[]={0x0F,0x01,0x15,0x02,0x16,0x02,0x17,0x66,0x18,0x03, 0x17,0x02,0x15,0x02,0x16,0x01,0x15,0x02,0x10,0x02, 0x15,0x00,0x0F,0x01,0x15,0x02,0x16,0x02,0x17,0x02, 0x17,0x03,0x18,0x03,0x19,0x02,0x15,0x02,0x18,0x66, 0x17,0x03,0x19,0x02,0x16,0x03,0x17,0x03,0x16,0x00, 0x17,0x01,0x19,0x02,0x1B,0x02,0x1B,0x70,0x1A,0x03, 0x1A,0x01,0x19,0x02,0x19,0x03,0x1A,0x03,0x1B,0x02, 0x1A,0x0D,0x19,0x03,0x17,0x00,0x18,0x66,0x18,0x03, 0x19,0x02,0x1A,0x02,0x19,0x0C,0x18,0x0D,0x17,0x03, 0x16,0x01,0x11,0x02,0x11,0x03,0x10,0x03,0x0F,0x0C, 0x10,0x02,0x15,0x00,0x1F,0x01,0x1A,0x01,0x18,0x66, 0x19,0x03,0x1A,0x01,0x1B,0x02,0x1B,0x03,0x1B,0x03, 0x1B,0x0C,0x1A,0x0D,0x19,0x03,0x17,0x00,0x1F,0x01, 0x1A,0x01,0x18,0x66,0x19,0x03,0x1A,0x01,0x10,0x02, 0x10,0x03,0x10,0x03,0x1A,0x0C,0x18,0x0D,0x17,0x03, 0x16,0x00,0x0F,0x01,0x15,0x02,0x16,0x02,0x17,0x70, 0x18,0x03,0x17,0x02,0x15,0x03,0x15,0x03,0x16,0x66, 0x16,0x03,0x16,0x02,0x16,0x03,0x15,0x03,0x10,0x02, 0x10,0x01,0x11,0x01,0x11,0x66,0x10,0x03,0x0F,0x0C, 0x1A,0x02,0x19,0x02,0x16,0x03,0x16,0x03,0x18,0x66, 0x18,0x03,0x18,0x02,0x17,0x03,0x16,0x03,0x19,0x00, 0x00,0x00}; //两只蝴蝶 unsignedcharcodeMusic_Two[]={0x17,0x03,0x16,0x03,0x17,0x01,0x16,0x03,0x17,0x03, 0x16,0x03,0x15,0x01,0x10,0x03,0x15,0x03,0x16,0x02, 0x16,0x0D,0x17,0x03,0x16,0x03,0x15,0x03,0x10,0x03, 0x10,0x0E,0x15,0x04,0x0F,0x01,0x17,0x03,0x16,0x03, 0x17,0x01,0x16,0x03,0x17,0x03,0x16,0x03,0x15,0x01, 0x10,0x03,0x15,0x03,0x16,0x02,0x16,0x0D,0x17,0x03, 0x16,0x03,0x15,0x03,0x10,0x03,0x15,0x03,0x16,0x01, 0x17,0x03,0x16,0x03,0x17,0x01,0x16,0x03,0x17,0x03, 0x16,0x03,0x15,0x01,0x10,0x03,0x15,0x03,0x16,0x02, 0x16,0x0D,0x17,0x03,0x16,0x03,0x15,0x03,0x10,0x03, 0x10,0x0E,0x15,0x04,0x0F,0x01,0x17,0x03,0x19,0x03, 0x19,0x01,0x19,0x03,0x1A,0x03,0x19,0x03,0x17,0x01, 0x16,0x03,0x16,0x03,0x16,0x02,0x16,0x0D,0x17,0x03, 0x16,0x03,0x15,0x03,0x10,0x03,0x10,0x0D,0x15,0x00, 0x19,0x03,0x19,0x03,0x1A,0x03,0x1F,0x03,0x1B,0x03, 0x1B,0x03,0x1A,0x03,0x17,0x0D,0x16,0x03,0x16,0x03, 0x16,0x0D,0x17,0x01,0x17,0x03,0x17,0x03,0x19,0x03, 0x1A,0x02,0x1A,0x02,0x10,0x03,0x17,0x0D,0x16,0x03, 0x16,0x01,0x17,0x03,0x19,0x03,0x19,0x03,0x17,0x03, 0x19,0x02,0x1F,0x02,0x1B,0x03,0x1A,0x03,0x1A,0x0E, 0x1B,0x04,0x17,0x02,0x1A,0x03,0x1A,0x03,0x1A,0x0E, 0x1B,0x04,0x1A,0x03,0x19,0x03,0x17,0x03,0x16,0x03, 0x17,0x0D,0x16,0x03,0x17,0x03,0x19,0x01,0x19,0x03, 0x19,0x03,0x1A,0x03,0x1F,0x03,0x1B,0x03,0x1B,0x03, 0x1A,0x03,0x17,0x0D,0x16,0x03,0x16,0x03,0x16,0x03, 0x17,0x01,0x17,0x03,0x17,0x03,0x19,0x03,0x1A,0x02, 0x1A,0x02,0x10,0x03,0x17,0x0D,0x16,0x03,0x16,0x01, 0x17,0x03,0x19,0x03,0x19,0x03,0x17,0x03,0x19,0x03, 0x1F,0x02,0x1B,0x03,0x1A,0x03,0x1A,0x0E,0x1B,0x04, 0x17,0x02,0x1A,0x03,0x1A,0x03,0x1A,0x0E,0x1B,0x04, 0x17,0x16,0x1A,0x03,0x1A,0x03,0x1A,0x0E,0x1B,0x04, 0x1A,0x03,0x19,0x03,0x17,0x03,0x16,0x03,0x0F,0x02, 0x10,0x03,0x15,0x00,0x00,0x00}; //*********************************************************************************** voidkeyswitch() { if(k1==0) { } } main() { InitialSound(); lcd_init();//初始化LCD lcd_pos(1,0);//设置显示位置为第一行 wr_string("欢迎使用本系统"); lcd_pos(2,0);//设置显示位置为第二行 wr_string("作者: F"); lcd_pos(3,1);//设置显示位置为第三行 wr_string("QQ: 123456"); lcd_pos(4,1);//设置显示位置为第四行 wr_string("多多指教! "); while (1) {Play(Music_Girl,0,3,360); Delay1ms(500); Play(Music_Same,0,3,360); Delay1ms(500); Play(Music_Two,0,3,360); Delay1ms(500);} } 3、课程设计总结 深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。 回顾起此次单片机课程设计,小组的成员们都是感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次这个音乐播放器的课设让我们明白了团队协作的重要性,以后仍要积极发扬这种合作精神。 4、参考文献 [1]陈永甫.新编555集成电路应用800例[M].电子工业出版社,2000.1 [2]孙涵芳.MCS-51系列单片机原理及应用[M].北京: 北京航空航天大学出版社,1996.4 [3] 阎石.数字电子技术基础(第三版)[M].北京: 高等教育出版社,1989 [4] 叶挺秀.应用电子学[M].杭州: 浙江大学出版社,1994 [5] 朱承高.电工及电子技术手册[M].北京: 高等教育出版社,1990 课程设计 评语 课程设计 成绩 指导教师 (签字) 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 播放