湖南工业大学单片机课程设计 基于51单片机的音乐播放器Word下载.docx
- 文档编号:17984523
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:22
- 大小:550.25KB
湖南工业大学单片机课程设计 基于51单片机的音乐播放器Word下载.docx
《湖南工业大学单片机课程设计 基于51单片机的音乐播放器Word下载.docx》由会员分享,可在线阅读,更多相关《湖南工业大学单片机课程设计 基于51单片机的音乐播放器Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
2014年12月15日至2014年12月26日
学生姓名
班级
学号
成绩
指导教师(签字)
电气与信息工程学院(部)
2014年12月26日
湖南工业大学
本科课程设计开题报告
学院(部):
电气与信息工程学院
专业:
自动化
学生姓名:
班级:
学号:
指导教师姓名:
职称
2014年12月17日
题目:
1.结合课题任务情况,查阅文献资料,撰写文献综述
音乐是反映人类现实生活情感的一种艺术,东方以中国为首的中国古代理论基础是五声音阶,即宫、商、角、徵、羽.自古以来,高山流水,亦或是阳春白雪、下里巴人,音乐总是以其律动的形式,陶冶人们的情操,增添生活的乐趣。
在所有的艺术形式中,音乐是最擅长于抒发情感、最能拨动人心弦的艺术形式,它借助声音这个媒介来真实地传达、表现和感受审美情感。
利用单片机演奏音乐大概是单片机爱好者感兴趣的问题之一。
利用单片机控制音乐播放比较常见,音乐芯片也相当之多,而利用单片机存储音乐,控制播放,也正是本设计的初衷,单片机控制灵活通用,模块化,易学易用,单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,将单片机与音乐播放结合,是具有可行性的。
通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经放大后驱动蜂鸣器发出不同音节的声音,即声调。
用软件延时来控制发音时间的长短,控制节拍。
把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中,由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间。
音乐播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成计算机语言,利用单片机进行信息处理,再通过蜂鸣器放出音乐。
音乐的产生主要是通过单片机的I/O口输入不同的脉冲信号来控制蜂鸣器发音。
要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以二,即为半周期的时间。
利用单片机定时器计时这个半个周期的时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期的时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲。
通常,利用单片机的内部定时器0,工作在方式一下,改变计数初值TH0和TL0来产生不同频率。
对于音符的节拍,如果1拍为0.4s,那么1/4拍为0.1s,只要设定延迟时间就可以求得节拍的时间。
假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推。
总而言之,一首乐曲是由音阶和节拍两大要素构成。
一首乐曲演奏的原理是:
不同音阶分别对应不同的频率,发出不同的音调而节拍则控制发出音调时间的长短;
若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。
根据这一基本原理,我采用单片机来设计音乐播放器。
本课题以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、上一曲、下一曲控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音,选取某段音乐使单片机连续播放。
设计4个按键:
播放/停止、下一曲、上一曲;
1位LED显示器,用来显示所选曲目,在开发板上进行调试。
MCS-51系列单片机优异的性能/价格比,使得它从面世以来就获得用户的认可。
20世纪80年代中期以后,Intel公司把这种单片机的内核(即8051内核)以出售或互换专利的方式传授给一些半导体公司,如Atmel、Philips、SST等,这些公司的这类产品被称为80C51系列单片机,其中以Atmel、Philips、SST等公司生产的与80C51兼容的8位单片机89C51最为典型。
2选题依据、主要研究内容、研究思路及方案
2.1选题依据
当今社会的快速发展,科技的进步,人们的生活水平不断提高,人们开始使用开发电子产品,给生活、工作带来便利。
单片机的应用刚好适应了人们的需求,同时它更加贴近于生活。
而音乐这一灵动的形式为人所喜爱,自然的音符,跳动的音阶,美好的旋律,总是给人美的享受。
将时下流行的音乐概念投射到单片机的控制领域,通过编程控制,让单片机蜂鸣器发出音乐,切中时下的电子产品领域热潮。
有其新颖性,创新元素也体现在其中。
同时作为音乐爱好者,通过单片机的控制,将所学知识和自己的兴趣爱好结合起来,也是一件乐事,是自己能够运用所学知识,制作设计一个控制播放器,有其趣味性,是自己十分感兴趣的选题。
音乐播放器先前早就出现过,音乐芯片也在市场上很常见。
利用单片机控制播放音乐也不胜枚举。
利用所学的单片机知识,由于本人对音乐简谱知识有一定了解,因此,选题具有可操作性,可行性。
是能够利用目前阶段所学知识设计出来的。
本文介绍了一种基于AT89S-51单片机的简单音乐播放器设计。
该设计以8051单片机为主体,结合播放等设备,实现单首歌曲循环播放及暂停功能,同时以指示灯显示播放状态。
2.2主要研究内容
以AT89S51为核心的音乐播放器,首先要深入了解此款单片机的各个功能,包括定时器、中断、数码管显示、按键的操作等。
利用51单片机制作一个简单的音乐播放器,本课题以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、上一曲、下一曲控制等功能。
启动、播放/停止、下一曲、上一曲;
根据系统的功能分析系统所需要用到的硬件资源,包括电源电路、定时中断、蜂鸣器电路、按键输入、数码管显示、复位电路。
根据系统功能及其51单片机的硬件资源,编写系统主控软件、音乐播放软件、乐曲曲谱表、按键控制模块、数码管显示模块、二极管亮灯设计,并进行软件调试。
采用汇编语言,在keiluVision4中进行程序编写、编译并生成可下载的文件,通过串口连接下载到系统中。
实现音乐播放器的预定功能。
2.3研究思路及方案
以AT89S51微处理器为核心进行音乐播放器设计:
(1)51单片机。
51单片机为整个系统的核心部分,是带动整个系统工作的重要部件。
(2)按键输入。
按键输入用来控制音乐播放指令,按下不同的按键,单片机执行不同的指令,显示正在演奏的歌曲序号,并亮起相应的指示灯。
(3)蜂鸣器电路。
蜂鸣器作为输出部分,按照曲谱发出音乐。
(4)数码管显示电路。
数码管显示也作为输出部分,显示当前正在演奏的乐曲序号值。
3.工作进度及具体安排
第一周
星期一、上午:
布置课题任务,课题介绍及讲课。
下午:
借阅有关资料,总体方案讨论。
星期二、选题,确定选题。
星期三、拟写开题报告,老师审阅。
确定总体方案。
学习与设计相关内容。
星期四、学习与设计相关内容。
各部分方案设计,各部分设计。
星期五、学习与设计相关内容
第二周
星期一:
设计及上机调试。
星期二:
调试
星期三:
调试、写说明书。
星期四:
写说明书、完成电子版并打印成稿。
星期五:
老师验收,撰写设计报告
4.指导教师意见
指导教师:
年月日
说明:
开题报告作为课程设计答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为课程设计成绩考查的重要依据,经导师审查后签署意见生效。
单片机课程设计报告
电气与信息工程学院
一、设计任务:
1.本课题以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、上一曲、下一曲控制等功能。
2.此次设计的音乐播放器具有如下要求:
(1)按下P3.2启动键,音乐播放器按照从头到尾的顺序自动播放预先设定的1~3共三首乐曲,全部播放完毕则从头开始。
(2)播放歌曲时,数码管显示正在播放的乐曲序号,相应的歌曲序号彩灯亮起,P2为第一首歌曲指示灯,P2.6、P2.5分别为第二首、第三首歌曲播放指示灯。
(3)P3.4为曲目加一按键,按下之后,播放下一首歌曲。
数码管显示下一曲序号,相应指示灯亮起。
(4)P3.5为上一曲按键,按下之后,播放上一首歌曲。
数码管显示上一曲一曲序号,相应指示灯亮起。
(5)当用户按下暂停键P3.3时,音乐播放器打断正在播放的某一乐曲,用户再次按下暂停键,该乐曲继续播放。
二、单片机最小系统硬件资源介绍:
1单片机芯片、LED彩灯接口电路、数码管接口电路
单片机芯片
LED
数码管
2.输入按键电路
P3.5下一曲P3.4上一曲P3.3暂停/播放P3.2启动
3.蜂鸣器电路
4.复位电路
5.电源电路
三、设计思路:
3.1乐曲实现的原理
乐曲音阶的计算
表简谱音符与频率对应图
根据程序设定的延时,一周期的时间为0.0398ms,因为中音1对应的频率为523Hz,所以频率的控制值(TAB中的值)为十六进制的30H,用十进制表示为48。
各音符频率与计数值T的关系
音符
频率(Hz)
半周期(ms)
简谱码T值
定时值(H)
定时值(D)
TAB值(16进制)
低1Do
262
1.90
F894H
62628
5FH
低2Re
294
1.70
F95CH
63835
55H
低3Mi
330
1.51
FA1AH
64021
4CH
低4Fa
349
1.43
FA6AH
64103
48H
低5So
392
1.28
FB00H
64260
10H
低6La
440
1.14
FB8CH
64400
39H
低7Si
494
1.01
FC0EH
64524
33H
中1Do
523
0.95
FC4AH
64580
30H
中2Re
587
0.85
FCAEH
64684
2BH
中3Mi
659
0.76
FD08H
64777
26H
中4Fa
698
0.72
FD30H
64820
24H
中5So
784
0.64
FD80H
64896
20H
中6La
880
0.57
FDC6H
64966
1CH
中7Si
988
0.51
FE02H
65030
19H
高1Do
1046
0.47
FE2AH
65058
18H
高2Re
1175
0.42
FE5CH
65110
15H
高3Mi
1318
0.38
FE84H
65157
14H
高4Fa
1397
0.36
FE98H
65178
12H
高5So
1568
0.32
FEC0H
65217
高6La
1760
0.28
FEE8H
65252
0EH
高7Si
1967
0.25
FF06H
65283
0DH
乐曲节拍的计算;
由定时器T0控制延时。
歌曲是速度决定时间,但是时值是相对的。
本设计中利用计数器完成10毫秒延时,设置1拍的长度为640毫秒,则对于TAB中的值用十六进制表示为40h。
节拍
1/16
1/8
1/4
1/2
TAB表值
40H
80H
乐谱在程序中的编制
将乐谱转化为代码,应包含乐曲的音阶、音长(节拍)等信息。
(1)将音阶代码组成一个字节,节拍代码组成一个字节,按照:
音阶代码,节拍代码,音阶代码,节拍代码……的顺序,将一个乐谱转化成一定长度的代码数据表。
(2)在程序执行时顺序查此表,取出音阶代码,随后将对应的定时初值送定时器T0,使定时器T0产生该音阶对应的频率,并通过P1.5口输出,驱动外接蜂鸣器发声。
(3)取出节拍代码,持续相应的节拍
3.2系统流程图
3.3系统方案
本设计用89S51单片机为核心,利用8段数码管显示器.采用动态显示输出,声音输出用蜂鸣器来实现,用一片单片机即可满足本设计的输入输出。
系统框图如图2-所示:
通过对音乐播放器主体部分的电路进行模仿设计,达到播放器固有的基本功能,设定按钮K1、K2、K3和K4。
按钮K1打开并自动播放乐曲1至3;
按钮K2暂停/播放;
按钮K3为手动下一曲调试键;
按钮K4为手动上一曲调试键。
根据设计要求该播放器能实现音键的控制。
系统主要由播放器发声模块、按键选择控制模块和存储器模块构成。
播放器发声模块负责发出歌曲相应的音符;
选择控制模块负责由外部控制播放器的各项功能的实现;
显示模块负责按键时产生相应的值,由数码管来实现。
在只实现基本功能时(由功能控制键控制),本文的主要内容是用AT89S51单片机为核心控制元件,系统程序主要包括主程序,定时器中断程序,音乐播放程序,延迟子程序等。
四:
PROTEUS仿真电路图
基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真,仿真步骤:
1、打开PROTEUS软件,选择器件,连接电路图;
2、添加已经编译的HEX文件到单片机内;
3、单步运行,观察结果,比较预定结果,修改源程序;
4、总体调试运行;
5、分组测试,看是否达到任务要求。
五、系统源程序
SHUZHIEQU3FH;
选取目的地址
SONGEQUP1.5;
扬声器播放P1.5
PLAYEQUP3.2;
启动键P3.2
ADDONEEQUP3.4;
曲目加一键P3.4
SUBONEEQUP3.5;
曲目减一键P3.5
DULEQUP0;
数码管段选P0口
WELEQUP1;
数码管位选P1口
ORG0000H
LJMPSTART
ORG000BH;
定时器0溢出中断入口地址
AJMPCONT;
指向定时器中断程序
ORG0013H;
外部中断一入口地址
AJMPPAUSE;
指向外部中断程序
ORG0100H
START:
MOVSP,#60H
MOVTH0,#0D8H;
定时器赋初值
MOVTL0,#0EFH
MOVTMOD,#01H;
定时器T0,工作方式一
MOVIE,#86H;
开中断(外部中断一,定时器中断0)
MOVTCON,#00H;
低电平触发
MOVR0,#00H
MOVSHUZHI,#00H
MAIN:
JNBPLAY,FIRST;
判断P3.2键是否按下
SJMPMAIN
FIRST:
ACALLDE120
判断P3.2键是否释放
MOVDUL,#0F9H;
显示数值1
MOVWEL,#0F7H;
显示位送P1口
MOVP2,#7FH;
亮第一首歌曲的指示灯
MOVDPTR,#DAT1;
表1首地址送DPTR
ACALLMUSIC0
ACALLNEXT
RET
NEXT:
INCSHUZHI;
SHUZHI加1
MOVA,SHUZHI
CJNEA,#01,LOOP3;
A是否=1,不等就跳转到LOOP3
MOVDPTR,#DAT2
MOVDUL,#0A4H;
显示数值2
MOVWEL,#0F7H
MOVP2,#0BFH
INCA
LOOP3:
CJNEA,#02,LOOP4;
A是否=2,不等就跳转到LOOP4
MOVDPTR,#DAT3
MOVDUL,#0B0H
MOVP2,#0DFH
LOOP4:
CJNEA,#03,NEXT
ACALLFIRST
LAST:
DECSHUZHI;
SHUZHI减1
CJNEA,#02,LAST1
MOVP2,#0DFH
LAST1:
CJNEA,#01H,LAST2
MOVDUL,#0A4H
MOVP2,#0BFH
LAST2:
CJNEA,#00H,LAST
MOVDPTR,#DAT1
MOVDUL,#0F9H
MOVP2,#7FH
MUSIC0:
MOV20H,#00H;
中断计数单元清0
MUSIC1:
CLRA
MOVCA,@A+DPTR;
查表取音阶常数
JZEND0;
是结束符?
CJNEA,#0FFH,MUSIC5;
是休止符?
LJMPMUSIC3;
产生100ms停顿
MUSIC5:
NOP
KEY:
JNBPLAY,K0;
判断3.2键是否按下
JNBADDONE,K1;
判断P3.4键是否按下
JNBSUBONE,K2;
判断P3.5键是否按下
MOVR6,A;
音阶常数送R6
INCDPTR
MOVA,#0
取常数送R7
MOVR7,A
SETBTR0;
启动定时器T0
MUSIC2:
CJNER0,#0,$
CPLSONG;
输出电平取反
MOVA,R6
MOVR3,A;
音阶常数送R3
LCALLDE120
MOVA,R7;
节拍常数送A
CJNEA,20H,MUSIC2;
节拍时间到否
MOV20H,#00H;
为取下一音阶做准备
LJMPMUSIC1
MUSIC3:
;
休止100ms
CLRTR0;
关闭定时器
MOVR2,#14H
MUSIC4:
MOVR3,#250
DJNZR2,MUSIC4
INCDPTR;
为取下一音阶做准备
END0:
MOVR2,#200;
歌曲结束后,延时1S后继续
MUSIC6:
DJNZR2,MUSIC6
K1:
ACALLDE120;
调用延时子程序
判断P3.4键是否释放
K2:
判断P3.5键是否按下
ACALLLAST
K0:
JNBPLAY,K0
LJMPSTART
DE120:
;
按键延时程序,软件消抖
MOVR4,#05H
DE14:
DJNZR4,DE14
DJNZR3,DE120
CONT:
INC20H;
计数单元+1
重新设置10ms定时初值
RETI;
跳出中断
PAUSE:
JNBP3.3,PAUSE;
判断P3.3键是否有释放
MOVDUL,#8EH
MOVA,R0
CPLA
MOVR0,A
RETI
DAT1:
;
沧海一声笑
DB1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30H,40H
DB26H,20H,2BH,20H,30H,20H,39H,10H,40H,10H,40H,80H
DB40H,20H,39H,20H,40H,20H,39H,20H,5FH,20H,55H,20H,26H,20H,20H,20H
DB39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,2BH,40H
DB1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30H,40H
DB39H,20H,40H,20H,26H,10H,2BH,10H,30H,20H,2BH,40H
DB1CH,40H,1CH,20H,20H,20H,26H,20H,2BH,20H,30
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南工业大学单片机课程设计 基于51单片机的音乐播放器 湖南 工业大学 单片机 课程设计 基于 51 音乐 播放