音乐播放器单片机课程设计文档格式.docx
《音乐播放器单片机课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《音乐播放器单片机课程设计文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
星期五下午:
答辩。
参考文献
参考文献
1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.
2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.
3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社
4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.
5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.
一.概述
本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放操纵、停止操纵、省电模式操纵等功能。
音乐播放器利用单片机的按时器产生乐谱的各类频率方波,信号通过放大后由喇叭发作声音,选取某段音乐使单片机持续播放。
4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏终止,或选曲时显示器才显示曲目信息。
整体的设计思路是如此的。
二.系统整体方案设计
本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。
一首音乐是许多不同的音阶组成的,而每一个音阶对应着不同的频率,如此咱们就能够够利用不同的频率的组合,即可组成咱们所想要的音乐了,音阶对应频率关系图1-1:
C调各音符频率与计数值T的关系
音符
频率(Hz)
半周期(ms)
简谱码T值
定时值(H)
定时值(D)
低1Do
262
F894H
62628
低2Re
294
F95CH
63835
低3Mi
330
FA1AH
64021
低4Fa
349
FA6AH
64103
低5So
392
FB00H
64260
低6La
440
FB8CH
64400
低7Si
494
FC0EH
64524
中1Do
523
FC4AH
64580
中2Re
587
FCAEH
64684
中3Mi
659
FD08H
64777
中4Fa
698
FD30H
64820
中5So
784
FD80H
64896
中6La
880
FDC6H
64966
中7Si
988
FE02H
65030
高1Do
1046
FE2AH
65058
高2Re
1175
FE5CH
65110
高3Mi
1318
FE84H
65157
高4Fa
1397
FE98H
65178
高5So
1568
FEC0H
65217
高6La
1760
FEE8H
65252
高7Si
1967
FF06H
65283
图2-1
本设计用89C51单片机为核心,利用8段数码管显示器.采纳动态显示输出,声音输出用蜂鸣器来实现。
采纳8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。
用一片单片机即可知足本设计的输入输出。
系统框图如图1-2所示:
图2-2
通过对音乐播放器主体部份的电路进行仿照设计,达到播放器固有的大体功能,设定按钮K一、K2和K3。
按钮K1打开并自动播放乐曲1;
按钮K2打开并自动播放乐曲2;
按钮K3为手动操纵音乐停止的按键。
依照设计要求该播放器能实现音键的操纵。
除此之外还实现了存储并读出几首音乐的功能。
通过中断INT-1来实现功能的选择,当未按下中断按钮时,当按下中断按钮式,执行1,即能够播放音乐,共有两首音乐,由两个键来别离操纵它们,另外,还设计了一个键来停止音乐的播放。
系统要紧由播放器发声模块、按键选择操纵模块和存储器模块组成。
播放器发声模块负责发出音键相应的音符;
选择操纵模块负责由外部操纵播放器的各项功能的实现;
显示模块负责按键时产生相应的值,由数码管来实现。
在只实现大体功能时(由功能操纵键操纵),本文的要紧内容是用AT89C51单片机为核心操纵元件,系统程序要紧包括主程序,按时器中断程序,音乐播放程序,延迟子程序等。
三.硬件设计
89C51单片机
本设计利用的是ATMEL公司生产的AT89C51高性能8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256bytes的随机存取数据存储器,器件采纳ATMEL公司的高密度,非易失性存储技术生产,与标准MCS—51指令系统及8051产品引脚兼容,片内置8位中央处置器(CPU)和Flash存储单元,功能壮大的AT89C52单片机适合于许多较为复杂操纵应用处合。
如图2-1和2-2所示:
端口引脚
复用功能
RXD(串行输入口)
TXD(串行输出口)
INT0(外部中断0)
INT1(外部中断1)
T0(定时器0外部输入)
T1(定时器1外部输入)
WR(外部数据存储器写选通)
RD(外部数据存储器读选通)
图3-1和3-2
I/O并行口直接驱动LED显示
由于要显示每一个按键的键值,就需要用到数码管LED显示模块。
本设计一共用了一个数码管显示器。
利用AT89S51单片机的P0端口的-连接到一个共阴数码管的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,如图3-3所示:
图3-3
发音电路
发音电路有三极管,电阻和扬声器组成,三极管的基极接在单片机的端口,通过按时器溢出的时刻不同,端口输出不同频率的高低电平,输出的脉冲频率不同,三极管导通的频率也不相同,从而扬声器依照不同频率的脉冲发出的声音也不相同,发音电路如以下图2-4所示:
图3-4
四.软件设计
.软件设计
主程序设计的第一步为初始化,初始化I/O口,设置按时器定不时刻,写按时器工作方式寄放器,设置许诺T0中断。
刚开始需要将存储单元置1,全数置1以后更新显示缓冲区。
接着进行显示初始化,开按时器T0,如此就能够够开始显示了。
设置完以后程序就不断检测按键情形。
检测利用软件去抖,也确实是第一次检测到有键按下后,若是有键按下那么执行相应指令。
本设计还设计了防误操作程序,也确实是关于一个键,按一下和一直按着的成效是一样的,如此能够避免用户还没放开此键时,程序已进行第二次或多次一样的操作。
图4-1
程序中根音选取的是C调三个8度内的音符,共21个音。
每一个音符对应频率由按时器T0产生(音符频率及对应计数初值见附表)。
为了程序挪用方便,每一个音符都对应一个编码,占用一个字节。
在程序中以查表的方式加载计数初值。
当值为00H时表示空拍,与节拍码配合完成节拍发音。
节拍码也占一个字节,其总时刻长度等于大体时刻乘以节拍码的值。
节拍码值为01H时,表示当前乐曲终止,为00H时,表示全数乐曲终止。
为了编码简单,一样节拍码高半字节表示整拍,低半字节表示分数,只要大体延时设定适当即可,为了及时响应键盘操作,键扫描指令安排在大体延不时刻子程序中。
按键每按下一次,乐曲数量计数器R5加"
1"
或减"
,然后依照R5的内容转向不同的乐曲。
系统初始化后,进入播放功能。
开始从第一首曲目开始循环播放。
播放进程中若是显现跳选曲目.那么进入相应的曲目程序.程序设计流程如图4-1所示。
五.系统调试与仿真
软件仿真时期
单片的程序用KEIL编写的。
在keil内成立工程后成立汇编文件,编写MCS-51程序。
1、编译成功后,分模块调试,别离采纳“白盒”和“黑盒”测试法验证程序的正确性
2、将调试成功的各模块,归并到总程序中,进行整体性能测试。
3、联调PROTEUS进行硬件仿真,单步,断点调试,观看运行结果,并修改源程序
系统的仿真调试时期
基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真的,仿真步骤如下:
4、打开PROTEUS软件,选择器件,连接电路图;
5、添加已经编译的HEX文件到单片机内;
6、单步运行,观看结果,比较预定结果,修改源程序;
7、整体调试运行;
8、分组测试,看是不是达到任务要求。
硬件安装调试
单片机系统进行软件盒硬件调试成功后最后一步是进行硬件的连接和物制作,咱们的硬件是在实验台上进行的,尽管与设计的电路不太相同,只是能够适当修改源程序,以适应实验台的要求
9、依如实验台情形和设计要求连接电路图;
10、在连接的电路上,进行模块测试,确实是用简单的程序进行调试以确信电路连接正确;
11、将修改后的程序下载到单片机里,能够用伟福仿真系统,进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。
六.总结
课程设计是培育学生综合运用所学知识,发觉,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察进程.随着科学技术进展的日新日异,单片机已经成为现今运算机应用中空前活跃的领域,在生活中能够说得是无处不在。
因此作为二十一世纪的大学来讲把握单片机的开发技术是十分重要的。
回忆起这次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两礼拜的日子里,能够说得是苦多于甜,可是能够学到很多很多的的东西,同时不仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我知道了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立试探的能力。
在设计的进程中碰到问题,能够说得是困难重重,这毕竟第一次做的,不免会前所碰到过各类各样的问题,同时在设计的进程中发觉了自己的不足的地方,对以学过的知识明白得得不够深刻,把握得不够牢固,比如说不懂一些元器件的利用方式,对单片机汇编语言把握得不行……通过这次课程设计以后,必然把以前所学过的知识从头温故。
这次课程设计终于顺利完成了,在设计中碰到了很多编程问题,最后在周向红教师的辛勤指导下,终于游逆而解。
同时,在周教师那里我学取得很多有效的知识,在次我表示感激!
同时,对给过我帮忙的所有同窗和列位指导教师再次表示忠心的感激!
1、《单片机原理与应用》王迎旭等编机械工业出版社
2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社
3、《运算机硬件技术基础实验教程》黄勤等编重庆大学出版社
4、《微型运算机接口技术及应用》刘乐善主编华中科技大学出版社
五、《单片微型运算机原理及接口技术》陈光东等编华中科技大学出版社
六、《单片机典型模块设计实例导航》求是科技编著人民邮电出版社出版
7、《单片机程序设计实例》先锋工作室编著清华大学出版社出
附录A:
音乐播放器电路设计图
附录B:
程序清单
OUTBIT
NEQU10
PLAY_KBIT
XSDATBIT
GWBIT
SWBIT
BWBIT
QWBIT
SJGWEQU2AH
SJSWEQU2BH
SJBWEQU2CH
SJQWEQU2DH
ORG0000H
LJMPMAIN
ORG0003H
LJMPPGINT0
ORG000BH
LJMPPGT0
ORG0013H
LJMPPGINT1
ORG001BH
LJMPPGT1
ORG0023H
LJMPWRONG
NOP
ORG0030H
MAIN:
MOVSP,#60H
MOVTMOD,#01H
SET_TAB:
MOVA,R2
MOVCA,@A+DPTR
MOV@R0,A
INCR0
INCR2
MOVA,R2
INCR3
CJNER3,#N+1,SET_TAB
MOVR0,#40H
MOV31H,#01
AJMPK1
START:
MOV30H,#2
MOVDPL,@R0
MOVDPH,@R0
ANLA,#0FH
C2_4:
CJNEA,#2,C3_4
MOVA,23H
SWAPA
CJNEA,#4,C2P1_8
C2P1_4:
MOV24H,#250
SJMPNOTE
C2P1_8:
MOV24H,#125
SJMPNOTE
C3_4:
CJNEA,#3,C4_4
MOVA,23H
SWAPA
ANLA,#0FH
CJNEA,#4,C3P1_8
C3P1_4:
MOV24H,#187
C3P1_8:
MOV24H,#94
C4_4:
CJNEA,#4,C4P1_8
C4P1_4:
C4P1_8:
MOV24H,#62
NOTE:
MOVA,#1
MOV25H,A
NEXT:
MOVA,30H
DECR0
MOVR2,A
JZSTOP
MOVR5,A
JNZSING
CLRTR0
AJMPSING1
SING:
DECA
ADDA,25H
RLA
MOV22H,A
MOVDPTR,#TABLE2
MOVA,22H
INCA
MOVTH0,A
MOV21H,A
SETBTR0
SING1:
LCALLDELAY1
INC30H
JNBPLAY_K,PUSE
LJMPNEXT
PUSE:
LCALLDISP
LCALLDISPLAY
JNBPLAY_K,$-3
STOP:
CLRTR0
K1:
JBNEXT_K,K2
LCALLDISPLAY
JNBNEXT_K,$-3
MOVA,31H
CJNEA,#N,K1_2
K1_1:
MOVR0,#40H
MOV31H,#01
SJMPK2
K1_2:
INC31H
INCR0
K2:
JBLAST_K,K3
LCALLDISP
CJNEA,#1,K2_2
K2_1:
MOVR0,#40H+2*(N-1)
MOV31H,#N
SJMPK3
K2_2:
DEC31H
DECR0
K3:
JBPLAY_K,K1
JNBPLAY_K,$-3
AJMPSTART
PGT0:
MOVTL0,20H
MOVTH0,21H
CPL
RETI
PGINT0:
RETI
PGINT1:
DELAY1:
MOVR7,#02
DELAY2:
MOVR4,24H
DELAY3:
MOVR3,#248
DJNZR3,$
DJNZR4,DELAY3
DJNZR7,DELAY2
DJNZR5,DELAY1
RET
PGT1:
DELAY4:
MOVR4,#20
DELAY5:
DJNZR4,DELAY5
RET
TABLE1:
DWSONG1,SONG2,SONG3
TABLE2:
DW63628,63835,64021,64103,64260,64400,64524
DW64538,64684,64777,64820,64898,64968,65030
DW65058,65110,65157,65178,65217,65252,65282
SONG1:
DB44H,02H
DB42H,82H,82H,82H,84H,02H,72H
DB62H,72H,62H,52H,48H
DB12H,62H,62H,52H,44H,02H,82H
DB72H,62H,52H,32H,48H
DB00H
SONG2:
DB43H,04H
DB82H,01H,81H,94H,84H
DB0B4H,0A4H,04H
DB82H,01H,81H,0F4H,0D4H
DB0E2H,01H,0E1H,0D4H,0B4H
DB0C4H,0B4H,04H
DB0C4H,0B4H,04H,00H
SONG3:
DB44H,04H
DB44H,54H,64H,44H
DB64H,74H,88H
DB82H,92H,82H,72H,64H,44H
DB44H,84H,48H
DB44H,14H,48H
DISPLAY:
PUSHACC
PUSHPSW
MOVDPTR,#XSTAB
MOVA,SJGW
ACALLDSOUT
CLRGW
ACALLDS1MS
SETBGW
MOVA,SJSW
CLRSW
SETBSW
MOVA,SJBW
CLRBW
SETBBW
MOVA,SJQW
CLRQW
SETBQW
POPPSW
POPACC
DSOUT:
MOVR0,#8
DSLOOP:
RLCA
MOVXSDAT,C
SETBXSCLK
CLRXSCLK
DJNZR0,DSLOOP
DS1MS:
MOVR1,#10
DS1LO:
MOVR2,#100
DJNZR2,$
DJNZR1,DS1LO
XSTAB:
DB3FH,06H,5BH,4FH;
"
0"
"
2"
3"
DB66H,6DH,7DH,07H;
4"
5"
6"
7"
DB7FH,6FH,77H,7CH;
8"
9"
A"
B"
DB39H,5EH,79H,71H;
C"
D"
E"
F"
DISP:
MOV26H,#5
MOVB,#10
DIVAB
MOVSJGW,B
MOVSJSW,A
MOVSJBW,#0
WRONG:
CLREA
MOVDPTR,#ERR
PUSHDPL
PUSHDPH
ERR:
CLRA
PUSHACC
END
电气与信息工程系课程设计评分表
项目
评价
设计方案的合理性与创造性
硬件制作或软件编程完成情况*
硬件制作测试或软件调试结果*
设计说明书质量
设计图纸质量
答辩汇报的条理性和独特见解
答辩中对所提问题的回答情况
完成任务情况
独立工作能力
组织纪律性(出勤率)
综合评分
指导教师签名:
________________
日期:
________________
注:
表中标*号项目是硬件制作或软件编程类课题必填内容;
此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:
封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。