(完整word版)基于单片机的音乐播放器系统设计开题报告
基于单片机音乐播放器课程设计报告书

目录第一章绪论 (1)第二章音乐播放器主要器件相关知识介绍 (2)2.1 AT89C51 (2)2.2 LCD 显示器 (4)2.3 喇叭 (5)2.4 键盘 (5)第三章音乐播放器设计原理 (6)3.1 单片机发声的基本原理 (6)3.2 设计的相关音乐说明 (7)3.3 音乐播放器设计功能说明 (7)3.4 设计结构框图 (9)3.5 主程序控制的工作流程图 (10)3.6 播放音乐的主程序 (11)设计心得 (15)参考文献 (15)第一章绪论二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。
随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。
而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。
家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。
设计指标:(1)设计一个(4×4)的键盘,并将16个键设计成16个音;(2)可弹奏想要表达的音乐;(3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。
设计要求:(1)按设计指标进行电路设计;(2)列出音阶与单片机定时器输出频率关系表格;(3)制作符合设计指标的硬件电路。
第二章音乐电子显示屏主要器件相关知识介绍制作音乐播放器所使用的主要元器件AT89S52 1个晶振 12MHZ 1 个LCD1602液晶显示器 1个小喇叭 1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个470欧 1个1K欧 1个按键 17个排阻 1k 1个2.1 AT89S52 : AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
毕业设计(论文)-基于单片机控制的音乐播放器[管理资料]
![毕业设计(论文)-基于单片机控制的音乐播放器[管理资料]](https://img.taocdn.com/s3/m/c2ce389c58fafab068dc02c7.png)
单片机音乐播放器设计报告学生: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前言:微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
单片机的音乐发生器设计开题报告

[3]周向红.51系列单片机应用与实践教程.北京航空航天大学,2008.5
[4]王晓君.MCS—51 及兼容单片机原理与选型.电子工业出版社,2003.11
[5]王义方.刘慧银微型计算机原理及应用-MCS-51系列单片机(第3版)机械工业出版社
系(院)审核意见:
审核人签字:年月日
说明:1、该表每生一份,系(院)妥善存档;
2、课题来源填:“自选”或“教师指定”或“其它”,课题类型填:“理论研究”或“应用研究”或“技术开发”或“实验设计”或“其它”。
5.08-5.15 完成论文拟写和相关修改工作;
5.16-5.19 论文递交指导教师自审,听取指导教师相关意见,完善毕业论文;
5.20-5.25 论文外审,根据评阅老师意见修改和完善;
5.26进行毕业设计答辩。
六、主要参考文献
1、参考文献目录
[1]苏凯.MCS-51系列单片机系统原理与设计.冶金工业出版社,2003.1
2.课题研究的主要目的及意义
进一步学习单片机的硬件、软件基本原理理论及系统扩展方面的一些基础知识:熟悉51汇编语言和51C语言的学习,熟悉51汇编语言和51C的开发环境,培养单片机开发能力。掌握51C的开发技能,对以后的发展和就业都会有很大帮助。
为人们生活的研究现况和发展趋向)
[10]田里,田青.51单片机C语言程序设计快速入门。北京:人民邮电出版社,2007.7
[11]odd D.Morton著,严隽永译. 嵌入式微控制器.北京:机械工业出版社 ,2005年9月
[12]王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002年8月
[13]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.
基于单片机的音乐播放器的设计

引言对于我们电子信息工程专业而言,《单片机原理与应用》是一门实用性很强的课程!在该课程的学习过程中!让我们最感兴趣的就是自己动手设计单片机控制系统。
但是,要将单片机的硬件知识与软件知识融会贯通,设计出实用的系统却是让我们颇感困难的环节。
许多同学对此感到无从下手。
其实,对于单片机应用系统的设计还是有章可循的。
单片机多用于实时工业控制、通信设备和智能仪表中。
但在某些方面,如有些教学实验中,加进一些音乐,一定会趣味横生。
本文介绍了笔者利用AT89C52型单片机和LM386型音频功率放大器构成了自动音乐播放器。
设计音乐的思想是,选一个输出位,如P1。
0端让其按音乐的变化节奏产生音频脉冲。
要产生音频脉冲,就要算出某一音频的周期(1/频率),将此周期除以2,即半周期的时间,然后利用单片机计时器计此半周期的时间。
每当计时到后就将输出脉冲的P1。
0位反相,然后重复计此半周期时间再对P1。
0反相,如此就可以在口端得到此频率的脉冲。
计数器工作在模式MODE1下,改变计数值TH0及TL0以产生不同的音频声响。
据网络调查公司Jupiter Media Metrix的统计数据显示:使用音乐播放器(不论是离线播放器还是网络播放器)的家庭用户从2000年1月的3320万猛增到2001年1月的4170万。
在工作中使用音乐播放器的专业用户数量也较去年同期上升了34.9%,从2000年1月的1160万增加到2001年1月的1570万。
以单片机为基础的本设计成本低,效果好,值得推广。
而如车载音乐播放器、能够播放流式音乐的播放器更是我们要深入的领域。
基于单片机的音乐播放器的设计第1章绪论本设计系统是基于单片机的音乐播放器的设计,具有一定的实际意义。
因此在设计过程中,设计的系统应该考虑到播放器便捷性和稳定性,使设计的系统能够使人们的生活更加丰富多彩。
系统的设计是先是通过第2章,方案的论证,确定系统的元器件。
第3章,硬件电路的设计,硬件的设计是通过元器件的功能和使用方法进行的。
基于单片机的电子琴机器音乐播放器的设计--开题报告

本科毕业设计(论文)开题报告一、毕业设计(论文)内容及研究意义(价值)本次设计的主要内容是设计一种多功能电子琴,是集电子琴和音乐播放器于一体的新型电子琴。
它是以AT89S52 单片机为核心,并辅有一些外围器件,采用汇编语言编写程序,实现多功能音乐播放,歌曲自动循环播放和使用琴键自编曲目功能。
此外,彩灯显示歌曲节奏,按键跳转到喜爱曲目,液晶显示当前播英文曲目。
目前流行的MP3,MP4播放器的音质相当好。
但略感遗憾的是除了选择歌曲和显示歌名外,绝大部分播放器没有诸如随意弹奏乐曲、乐曲节奏跳动显示等功能。
正是基于音乐播放器的多功能出发,提出这种电子琴和音乐播放器的设计方案。
之所以以单片机电子琴和音乐播放器为选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。
单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。
单片机电子琴只和音乐播放器是单片机应用的一个点,由点及面,希望可以更好的了解和应用单片机技术。
通过单片机电子琴和音乐播放器这个选题,更深层次的了解了单片机技术,以前只是有理论,实践的机会不是很多,在作单片机电子琴这个选题的过程中,更加熟练的掌握了一些单片机芯片的应用,也解决了很多以前理论和实践脱节的问题,可谓对单片机的认识有了一个小的飞跃。
二、毕业设计(论文)研究现状和发展趋势(文献综述)单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。
单片机音乐播放器方案设计书报告

1.1显示电路 (1)1.2时钟电路 (1)2.电子音乐产生原理 (1)2.1音调 (1)2.2节拍 (3)3.系统硬件设计 (6)3.1系统总框图 (6)3.2电路设计 (7)3.2.1 单片机时钟电路 (7)3.2.2. 复位电路 (8)3.2.3.电源电路 (8)3.2.4. USB程序下载电路 (9)3.2.5. 蜂鸣器驱动电路 (10)3.2.6.显示电路 (11)3.2.8 矩阵电路 (11)4.系统软件设计 (12)5.总结与展望 (14)6.参考文献 (14)附录 (15)附录1系统总电路 (15)附录2源代码 (16)1.方案与论证1.1 显示电路方案.1:采用LED数码管来显示(电路简单,成本低);方案.2:采用LCD液晶显示器来显示(电路简单,成本高);方案3:采用TFT真彩液晶显示(电路复杂,成本高,但显示的分辨率高);综上所述,选择方案一进行设计。
1.2 时钟电路方案.1:选择DS1302实时时钟芯片来实现音乐播放器(时间准确,但要增加额外开销);方案.2:选择单片机的软件实时来实现音乐播放器(灵活性高,时间不准确);方案.3:选择单片机内部可编程定时器来实现音乐播放器(在不增加额外的开销前提下,时间可以做到准确)。
综上所述,选择方案三进行设计。
2.电子音乐产生原理单片机发音原理:单片机演奏音乐基本是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音,但一定要弄清楚两个概念即可,也就是“音调”和“节拍” 。
·音调表示一个音符唱多高的频率。
·节拍表示一个音符唱多长的时间。
下面,就此两点,阐述说明:2.1音调在音乐中所谓“音调”,其实就是我们常说的“音高”。
在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz,其余与其比较。
f1和f2为两个音符,当这两个音符的频率相差一倍时,也即f2=2×f1时,则称f2比f1高一个倍频程。
基于51单片机音乐播放器课程设计报告

基于51 单片机音乐播放器课程设计报告课程设计课程设计名称:单片机课程设计专业班级电科0901 学生姓名:学号:200948360118指导教师:课程设计时间:2012-9-20〜2012-9-28 电子信息科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文) 首页一设计任务及要求利用单片机定时器完成控制音乐的频率,每个音调响的时长,来达到播放出音乐。
并且实时监测红外接收管是否触发中断,来判断是否遥控器按下了播放/ 暂停键、上一首、下一首,进而实时处理。
并把信息显示在1602 液晶上。
音高与频率的对应关系下表:二设计原理图单片机与1602 液晶、红外接收管SM0038 接线图单片机驱动蜂鸣器电路及红外遥控器键码本次实验所用按键及对应编码:( 1 )上一首07 (2) 下一首15 (3)播放/暂停09三程序设计框图Sound_Temp_TH1 = (65535-(1/1200)*SYSTEM_OSC)/256;装入的初值(10ms 的初装值)Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256; 装入的初值TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TMOD |= 0x11;ET0 = 1;ET1 = 0;PT0 = 0;TR0 = 0;TR1 = 0;EA = 1;void write_cmd(uchar cmd)//1602 lcd_rs=0; lcd_w=0;P0=cmd;delay(7);lcd_en=1;delay(6);lcd_en=0;void write_date(uchar date)//1602lcd_rs=1;lcd_w=0;P0=date;delay(7);lcd_en=1;delay(6);lcd_en=0;void init_1602()// 初始化1602lcd_en=0;write_cmd(1);write_cmd(0x84);write_cmd(0x38); write_cmd(0x0f); write_cmd(0x06);void inte1_init()// 红外中断 // 计算 TL1 应 // 计算 TH1 应 IT1 = 1;// 外部中断,下降沿中断EX1 = 1;// 开外部中断PX1 = 1;//EA = 1;// 开总中断IRIN=1; // 读引脚前,先置高void jiema() // 红外解码uchar i,j; for(j=0;j<4;j++)irma[j]=0;// 清除上次的码for(i=0;i<8;i++)irma[j]=irma[j]>>1;// 右移 1 位while(!IRIN);// 等待 0.56ms 低电平结束 time2_init();// 启动定时, 0.8ms while(!TF2);// 等到 0.8ms 时间到TR2=0;// 关定时器TF2=0;// 清标志位if(IRIN)// 发送是 1,其高电平时间长,大于 0.565ms irma[j]|=0x80;// 把最高位置 1 while(IRIN);// 等待高电平结束,以便于进入下一位的解码 } void Lcd_displays(uchar add,char *s)//1602 显示字符串uchar i;write_cmd(add);for(i=0;i<strlen(s);i++)write_date(s[i]);void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int 写命令写数据Speed)// 播放歌曲函数unsigned int NewFreTab[12]; // 新的频率表unsigned char i,j;unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength; unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;for(i=0;i<12;i++) // 根据调号及升降八度来生成新的频率表j = i + Signature;if(j > 11)j = j-12;NewFreTab[i] = FreTab[j]*2;NewFreTab[i] = FreTab[j];if(Octachord == 1)NewFreTab[i]>>=2;else if(Octachord == 3)NewFreTab[i]<<=2;SoundLength = 0;while(Sound[SoundLength] != 0x00) // 计算歌曲长度SoundLength+=2;Point = 0;Tone = Sound[Point];Length = Sound[Point+1]; // 读出第一个音符和它时时值LDiv0 = 12000/Speed; // 算出 1 分音符的长度(几个10ms)LDiv4 = LDiv0/4; // 算出 4 分音符的长度LDiv4 = LDiv4-LDiv4*SOUND_SPACE; // 普通音最长间隔标准TR0 = 0;TR1 = 1;while(Point < SoundLength)SL=Tone%10; // 计算出音符SM=Tone/10%10; // 计算出高低音SH=Tone/100; // 计算出是否升半CurrentFre = NewFreTab[SignTab[SL-1]+SH]; // 查出对应音符的频率if(SL!=0)if (SM==1) CurrentFre >>= 2; // 低音if (SM==3) CurrentFre <<= 2; // 高音Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);// 计算计数器初值Sound_Temp_TH0 = Temp_T/256;Sound_Temp_TL0 = Temp_T%256;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0 + 12; // 加12 是对中断延时的补偿}SLen=LengthTab[Length%10]; // 算出是几分音符XG=Length/10%10; // 算出音符类型(0 普通 1 连音 2 顿音) FD=Length/100;LDiv=LDiv0/SLen; // 算出连音音符演奏的长度(多少个10ms) if (FD==1)LDiv=LDiv+LDiv/2;if(XG!=1)if(XG==0) // 算出普通音符的演奏长度if (SLen<=4)LDiv1=LDiv-LDiv4;LDiv1=LDiv*SOUND_SPACE;LDiv1=LDiv/2; // 算出顿音的演奏长度LDiv1=LDiv;if(SL==0) LDiv1=0;LDiv2=LDiv-LDiv1; // 算出不发音的长度if (SL!=0)TR0=1;for(i=LDiv1;i>0;i--) // 发规定长度的音while(TF1==0);TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TF1=0; if(LDiv2!=0) void BeepTimer0(void) interrupt 1 // 音符发生中断BeepIO = !BeepIO;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0;void inte1inte() interrupt 2 // 红外中断,外部中断 1 uchar k=10;EX1 = 0;// 关外部中断while(k--)〃循环十次,一次0.8ms,十次8ms , time2_init();while(!TF2);TF2 = 0;TR2 = 0;if(IRIN)// 中间如果出现高电平,就说明不是9MS 的引导电平{EX1 = 1;// 则开外部中断,退出中断return;while(!IRIN);// 运行到此,说明是引导电平,等待9MS 引导结束k=3;// 循环 3 次,每次0.8ms ,总共 2.4ms,while(k--)time2_init();while(!TF2);TF2 = 0;TR2 = 0;if(!IRIN)//2.4ms 结束如果变低电平,说明是重码,EX1 = 1;return;// 开中断,退出中断while(IRIN);// 等待 4.5ms 高电平结束,到此说明是正常红外信号jiema();// 解码程序,包括用户码,和按键码// irfenli();if(irma[2]==0x09||irma[2]==0x15||irma[2]==0x07){// 判断按下是哪一个键if(irma[2]==0x09)if(com==0)com=1;com=0; if(com)Lcd_displays(0x80,"START");Lcd_displays(0x80,"PAUSE");else if(irma[2]==0x15) newmusic++;if(newmusic==4)newmusic=1;Lcd_displays(0x80,"NEST "); newmusic--;if(newmusic==0)newmusic=3;Lcd_displays(0x80,"LAST ");switch(newmusic){// 更新1602 显示case 1:Lcd_displays(0x88,"MUSIC1");break; case 2:Lcd_displays(0x88,"MUSIC2");break; case 3:Lcd_displays(0x88,"MUSIC3");break; }// Lcd_display();EX1 = 1;return;三首歌曲的代码:位于music.h 文件内// 挥着翅膀的女孩unsigned char code Music_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,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}; // 同一首歌unsigned char code Music_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,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 };// 两只蝴蝶unsigned char code Music_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,课程设计课程设计名称:单片机课程设计专业班级电科0901 学生姓名:学号:200948360118指导教师:课程设计时间:2012-9-20〜2012-9-28电子信息科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页一设计任务及要求利用单片机定时器完成控制音乐的频率,每个音调响的时长,来达到播放出音乐。
基于单片机的音乐播放课程设计报告

目录一、引言—本课程设计的目的 (2)二、八路LED跑马灯实验 (2)2.1设计内容 (2)2.2电路图 (2)2.3上机程序 (3)2.4调试结果及结论: (4)三、二位数码管循环显示00~99的实验 (4)3.1设计内容 (4)3.2电路图 (4)3.3上机程序 (5)3.4调试结果及结论 (6)四、单片机演奏音乐实验 (6)4.1设计内容 (6)4.2电路图 (6)4.3上机程序 (7)4.4调试结果及结论 (9)五、心得体会 (9)六、参考文献 (10)摘要:由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。
通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。
一、单片机课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。
在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。
二、八路LED跑马灯实验2.1设计内容:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了。
2.2电路图:.2.3上机程序:org 0000hajmp startorg 0030hstart:mov a,#7fhclr cmov r2,#08hloop: rrc amov p0,acall delaydjnz r2,loopmov r2,#07hloop1: rlc amov p0,acall delaydjnz r2,loop1jmp startdelay:d1: mov r4,#20d2: mov r5,#248djnz r5,$djnz r4,d2retend2.4调试结果及结论:八路发光二极管轮流点亮汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!三、二位数码管循环显示00~99的实验3.1设计内容:8段数码管显示.两位数码管显示00--99依次循环(动态扫描方式).p1做LED 显示数据输出口.p3.2;p3.3分别控制数码管个位数和十位数显示.用单片机进行数码显示应具有显示器件;应用最广泛的是8段数码管。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[11]田媛.单片机音乐播放器功能多样性的设计与实现[D],陕西工业职业技术学院信息工程学院,2012.2
[12]王亭亭,葛熠,李峰.基于AT89S52单片机的音乐播放器[D],南京信息工程大学电子与信息工程学院,2011.5
河南科技学院新科学院
本科生毕业论文(设计)开题报告
题目名称基于单片机的音乐播放器系统设计
学生姓名
专业
电气工程及其自动化
学号
指导教师姓名
所学专业
模式识别与智能系统
职称
完成期限
2012年11月22日至2012年11月28日
一、选题的目的意义
当今世界单片机的应用非常广泛,而应用在音乐播放器的系统上的例子也不胜枚举,这类音乐播放器就是单片机应用的一种体现,这种音乐播放器有功能多、价格廉、外部电路简单的优点,深受音乐爱好者及音乐芯片制造商的青睐。便携式音乐播放器作为一种集音频播放、数据存储为一身的数码产品,多应用有高集成度整合了各类音频处理或数据通信模块的8位乃至多位单片机,以达到最小系统设计。但是,它们在保证便携性的同时,音质受到了一部分的损失。现在市场上大多单片机音乐播放器都能完成音频解码播放的过,而且支持的格式也是越来越多的。数字信号处理器是在模拟信号变成数字信号以后进行高速实时处理的专用处理器,其处理速度比最快的CPU还快10-50倍。在当今的数字化时代背景下,单片机己成为通信、计算机、消费类电一矛产品等领域的基础器件,被誉为信息社会革命的旗手。业内人士预言单片机将是未来集成电路中发展最快的电子产品,它将彻底变革人们的工作、学习和生活方式。
[5]李军.单片机高级实例开发指南[M],北京航空航天大学出版社,2005
[6]康光华.电子技术基础[M],高等教育出版社,2006.1
[7]于海生.计算机控制技术[M],机械工业出版社,2007.5
[8]罗卫星.单片机音乐播放器设计[J],科学之友,2010.11,137-139
[9]黄振杰,卢小冰.基于AT89S5单片机的多功能音乐播放器[J],电子设计工程,2009.2,17-21
二、国内外研究现状
在国内外,这种基于单片机的音乐播放器都非常流行。据网络调查公司Jupiter Media Metrix的统计数据显示:使用基于单片机的音乐播放器(无论是离线播放器还是网络播放器)的家庭用户从2011年1月的33200万猛增到2012年的41700万。在工作使用这种音乐播放器的专业用户也较去年同期上升34.9%,从2011年1月的11600万增涨到2012年的15700万。以单片机为基础的音乐播放器设计成本低、音质效果好,值得推广。而如车载音乐播放器等也是这种播放器要深入的领域。
五、主要参考文献与资料
[1]沈红卫.基于单片机结构的智能系统设计与实现[M],电子工业出版社,2005
[2]李重光.音乐理论基础[M],人民音乐出版社,2007
[3]张力天. DSP目前的技术和市场动态[J],集成电路,2009.6,21-30
[4]欧伟明.单片机原理与系统设计[M],电子工业出版社,2008
MCU控制USB接口芯片与计算机通讯,将从计算机上下载的文件存储于SD卡。播放时,MCU控制从SD卡读取文件并传送给解码芯片,通过总线控制其解码,解码后的数字音频信号在MCU的控制下通过D/A转换器转换成模拟音频信号,放大,输出到扬声器。演奏时,MCU扫描判断摁键工作情况,并产生相应频率方波,转换,放大,输出。录音时,在MCU的控制下声源由MIC存储到SD卡里。
扩展功能强大的音乐播放器是未来音乐播放器的发展趋势,体积小,携带方便但又功能强大,这也是现在所有电子产品的未来。在扩展功能上,这次设计本来还想加上收音机的功能,能使人们能够接受实时资讯,但是由于技术有限没能够完成,不过在以后的不久一定会有这种更多功能的音乐播放器问世的。
三、主要研究内容
基于单片机的音乐播放器设计是以单片机AT89C51作为硬件核心控制部件,键盘输入电路,解码芯片,功率放大器,LCD显示电路,SD卡存储电路,USB通讯电路,以及其他外围设备电路组成音乐播放系统。根据音乐演奏控制所需实现的显示与选曲及音乐产生的功能原理,系统包括扬声器、选曲、播放和显示等几部分。
四、毕业论文(设计)的研究方法或技路线
以AT89C51为核心的音乐播放器系统通过单片机控制外围电路各个硬件的工作来实现音乐的播放。在音乐播放模式中,单片机控制各芯片协同工作,由扬声器放出音乐;在电子琴模式中,单片机电子琴演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,因此单片机奏乐只需弄清楚每个乐音的音调,即相应的发声频率。在电子琴模式中,有矩形键盘输入高低不同的脉冲信号通过AT89C51来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲。在录音模式中,声源由MIC接收,经过解码转换存储在SD卡里面。本系统以单片机AT89C51的核心,主要负责控制各个部分协调工作。在其外围接上:电源、通信电路、复位电路、控制电路、存储电路、显示电路、音频处理电路及外放电路。各部分核心元件分别为:USB控制芯片、晶振、键盘、SD卡、液晶显示、解码芯片、小功率集成功放、D/A转换芯片、扬声器。其整个工作过程为:AT89C51芯片控制USB接口芯片与计算机通讯交换数据和充电使用,将从计算机上下载的音频文件存储在SD卡。播放时,AT89C51控制从SD卡读取音频文件并送给解码芯片,通过总线控制其解码,解码后的数字音频信号在AT89C51芯片的控制下通过D/A转换器转换成模拟音频信号,有放大器放大,并输送到扬声器。
[13]远飞.基于单片机的音乐播放器的仿真与制作[D],无锡商业职业技术学院,2010.12
[14]曹丽燕.基于单片机的音乐盒设计[J],软件开发与设计,2010.4 58-60