简易音乐演奏系统设计_第1页
简易音乐演奏系统设计_第2页
简易音乐演奏系统设计_第3页
简易音乐演奏系统设计_第4页
简易音乐演奏系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书设计题目:简易音乐演奏系统设计专业: 电 子 信 息 工 程 班级:11级1班设计人: 蔡 山 东 科 技 大 学2014年1月10日课 程 设 计 任 务 书学院 电气与信息工程学院 专业 电子信息工程 班级11级1班 姓名 蔡士智1、 课程设计题目:简易音乐演奏系统设计2、 课程设计主要参考资料:(1) 公茂法,黄鹤松,杨学蔚 MCS51/52单片机原理与实践北京航空航天大学出版社。(2)(3)3、 课程设计应主要解决的问题:(1) 数码管循环提示乐曲信息。按键选择乐曲并演奏,如:按1号键,演奏乐曲1;按2号键,唱乐曲2(2)按下预先定义按键,蜂鸣器发出指定音调的声音,同时数

2、码管和LED灯反馈音调的信息。4、 课程设计相关附件(如:图纸、软件等):(1) Protues7.8 Keil4(2)单片机开发仪5、 任务出发日期:2013年12月30号 课程设计完成日期:2014年1月10号 指导教师签字: 系主任签字: 指导教师对课程设计的评语 指导教师签字: 年 月 日摘要 本文介绍了利用AT89C52单片机驱动单片仪上的蜂鸣器设计音乐演奏系统。实现两个功能:一是按下预先定义按键,蜂鸣器发出指定的音调的声音,同时数码管和LED灯反馈音调的信息;二是数码管循环提示乐曲信息,按键选择乐曲并演奏,如:按1号键,演奏乐曲1;按2号键,唱乐曲2。关键词:音乐键盘,keil,p

3、rotues目录1 绪论2 系统整体介绍3系统硬件设计3.1 AT89C52模块3.2 键盘扫描模块3.3 LED灯显示模块3.4 数码管显示模块3.5 蜂鸣器模块4系统软件设计4.1 主程序4.2 键盘扫描子程序4.3 LED灯数码管显示子程序4.4 音乐定时器初值4.5 延时子程序4.6 程序框图5 调试与结果6 设计总结7 参考文献8 附件 8.1系统原理图 8.2程序清单1 绪论利用AT89C52单片机和相应的单片机知识,通过简单的设计模拟钢琴键盘的发声,矩阵键盘驱动蜂鸣器发出相应频率的音调和歌曲,LED灯和数码管显示相应的音调和歌曲编号。本设计节约了为买大型钢琴所花费的大量钱财,为喜

4、爱音乐创作的人员提供了一个追求梦想的平台。还可以满足小朋友玩耍的需要。2系统整体介绍本系统可分为:AT89C52模块,键盘输入模块,LED灯显示模块,数码管显示模块,蜂鸣器模块。AT89C52模块:系统的核心部分,负责处理来自键盘输入模块的键值,然后AT89C52根据键值做出相应的判断,驱动LED灯显示模块、数码管显示模块和蜂鸣器模块做出相应的响应。键盘输入模块:读取那个键按下,将键值送到AT89C52。LED灯显示模块:将AT89C52送来的音调或歌曲编号通过8个LED灯显示出来。数码管显示模块:将AT89C52送来的音调或歌曲编号通过8位静态数码管显示出来。蜂鸣器模块:AT89C52 I/

5、O口送来的高低电平驱动蜂鸣器发出对应频率的声音。3 系统硬件设计3.1 AT89C52模块AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。如图3.1所示: 图3.1 AT89C52P0:需外接上拉电阻(10K)。P1、P2、P3:不需要外接上拉电阻RST:复位输入。当振荡器工作时,RST引脚出现两个机

6、器周期以上高电平将使单片机复位。XTAL1、XTAL2:振荡器反相放大器及内部时钟发生器的输入端、输出端。3.2 键盘输入模块方法一:独立键盘有键按下,返回键值;否则,返回0FFH。如图3.2.1图3.2.1方法二:矩阵键盘线反转法:首先,将行线编程为输入线,列线编程为输出线,然后使列线全输出低电平,读取行线电平,行线从高电平转为低电平的行线为按下按键所在行;然后,将列线编程为输入线,行线编程为输出线,然后使行线全输出低电平,读取列线电平,列线从高电平转为低电平的列线为按下按键所在列。如图3.2.2所示: 图 3.2.2本系统采用方法二,因为矩阵键盘节约I/O口,节约资源,而且按键多。如图3.

7、2.3所示: 图 LED灯显示模块本系统采用LED灯静态显示的方法,共阴高电平点亮。如图3.3.1所示: 图 3.3.1 图 3.3.2图 3.3.2为本系统实际的LED灯和芯片的连接电路。LED灯第几个亮:1, 2, 3, 4, 5, 6, 7, 8;对应代码为: 01h,02h,04h,08h,10h,20h,40h,80h;3.4 数码管显示模块本系统采用8位段码静态显示的方法,共阳低电平点亮。如图3.4.1所示: 图 3.4.1 图 3.4.2图 3.4.2为本系统实际的数码管和芯片的连接电路。数码管显示: 1, 2, 3, 4, 5, 6, 7;对应段码为:0f9h

8、,0a4h,0b0h,99h,92h,82h,0f8h;3.5 蜂鸣器模块输入高电平,蜂鸣器发出响声;输入低电平,蜂鸣器不响。通过控制输入信号的频率来发出不同的音调;通过控制信号持续时间来控制声音的长短。蜂鸣器如图3.5所示: 图 3.54 系统软件设计4.1 主程序org0000h jmpmainorg000bhjmpint_0org0100hmain:setbet0setbeamovtmod,#01hnext0:lcallkey0cjnea,#08h,next1;a=#direct cy=0next1:jncnext2;cy=0跳转lcallledlcallmusiclcallwaitjm

9、pnext0next2:cjnea,#08h,next3;/=跳转lcallledlcallwaitlcallsong10jmpnext0next3:lcallledlcallwaitlcallsong20jmpnext04.2 键盘扫描子程序键值检测程序如下:key0:movp0,#0fhmova,p0cpla;取反anla,#0fh;与mov30h,a;行值jznext0;a=0转移key1:movp0,#0f0hmova,p0cplaanla,#0f0hmov31h,a;列值jznext0jbcf0,key2;bit=1转移setbf0lcalldelay0jmpkey0key2:mov

10、a,30hmov30h,#00hmov32h,#03hclrckey3:rrca;右移jckey4;cy=1转移inc30hdjnz32h,key3key4:mova,31hmov31h,#03hmov32h,#03hclrckey5:rlca;左移jckey6dec31hdjnz32h,key5key6:mova,30hclrcrlcarlcaadda,31hmov33h,aret键值送给33h键盘松手检测程序如下:wait:movp0,#0f0hmova,p0cplaanla,#0f0hjnzwaitclrtr0clrf0ret歌曲中断检测程序如下:button:movp0,#0fhmov

11、a,p0cplaanla,#0fhret4.3 LED灯数码管显示子程序led:mova,33hmovdptr,#tab0movca,a+dptrmovp1,amova,33hmovdptr,#tab1movca,a+dptrmovp3,aret4.4 音乐定时器初值定时器初值查表程序如下:music:mova,33hmovdptr,#mus0hmovca,a+dptrmov34h,amovth0,34hmova,33hmovca,a+dptrmov35h,amovtl0,35hsetbtr0ret 中断程序如下:int_0:clrtf0cplp2.0movth0,34hmovtl0,35hr

12、eti4.5 延时子程序delay0:movr0,#20;延时20msloop0:movr1,#250loop1:nopnopdjnzr1,loop1djnzr0,loop0retdelay1:movr0,#100;延时100msloop2:movr1,#250loop3:nopnopdjnzr1,loop3djnzr0,loop2ret4.6 程序框图开始LED灯显示数码管显示发出音调判断P0口的键值中断初始化设置TMOD松手检测 键值=8松手键值=8是否LED灯显示数码管显示放歌2检测键值LED灯显示数码管显示放歌1检测键值 没松手无键 无键 图 4.6 有键 5 调试与结果(1)不能正确

13、读取矩阵键盘的键值,因为P0口没有外接上拉电阻,而P1、P2、P3口不需要外接上拉电阻。(2)播放歌曲的音的时长不正确,因为每个音的节拍不一样,持续时间长短也不一样,需要单独的一个延时子程序。使用说明:矩阵键盘共4*4=16个键,按下前八个键会对应发出1、2、3、4、5、6、7、1八个音,第九个按键和第十个按键分别对应两首歌曲,其余六个按键未定义。6 设计总结经过本次课程设计,更加详细的了解单片机的具体内部原理和工作过程,知道了通过给单片机的定时/计数器设置计数初值,驱动蜂鸣器发出各种音调和完整歌曲的方法。在设计的过程中遇到了很多问题,需要上网查资料解决,培养了独自解决问题的能力;和组员商量讨

14、论,提高了设计效率,培养了团队合作意识。7 参考文献(1) 公茂法,黄鹤松,杨学蔚 MCS51/52单片机原理与实践北京航空航天大学出版社。(2) 音调和计数初值关系/p-.html8 附件 8.1系统原理图 8.2程序清单;30h行值;31h列值;32h置循环数;33h键值;34hth0;35htl0;36h查表数;37h节拍数org0000h jmpmainorg000bhjmpint_0org0100hmain:setbet0setbeamovtmod,#01hnext0:lcallkey0cjnea,#08h,next1;a=#direct cy=

15、0next1:jncnext2;cy=0跳转lcallledlcallmusiclcallwaitjmpnext0next2:cjnea,#08h,next3;/=跳转lcallledlcallwaitlcallsong10jmpnext0next3:lcallledlcallwaitlcallsong20jmpnext0key0:movp0,#0fhmova,p0cpla;取反anla,#0fh;与mov30h,a;行值jznext0;a=0转移key1:movp0,#0f0hmova,p0cplaanla,#0f0hmov31h,a;列值jznext0jbcf0,key2;bit=1转移s

16、etbf0lcalldelay0jmpkey0key2:mova,30hmov30h,#00hmov32h,#03hclrckey3:rrca;右移jckey4;cy=1转移inc30hdjnz32h,key3key4:mova,31hmov31h,#03hmov32h,#03hclrckey5:rlca;左移jckey6dec31hdjnz32h,key5key6:mova,30hclrcrlcarlcaadda,31hmov33h,aretdelay0:movr0,#20;延时20msloop0:movr1,#250loop1:nopnopdjnzr1,loop1djnzr0,loop0r

17、etdelay1:movr0,#100;延时100msloop2:movr1,#250loop3:nopnopdjnzr1,loop3djnzr0,loop2retled:mova,33hmovdptr,#tab0movca,a+dptrmovp1,amova,33hmovdptr,#tab1movca,a+dptrmovp3,aretmusic:mova,33hmovdptr,#mus0hmovca,a+dptrmov34h,amovth0,34hmova,33hmovca,a+dptrmov35h,amovtl0,35hsetbtr0retwait:movp0,#0f0hmova,p0cp

18、laanla,#0f0hjnzwaitclrtr0clrf0retbutton:movp0,#0fhmova,p0cplaanla,#0fhretsong10:mov36h,#0ffhsong11:inc36hmova,36hmovdptr,#mus1hmovca,a+dptrmov34h,amovth0,34hmova,36hmovdptr,#mus1lmovca,a+dptrmov35h,amovtl0,35hmova,36hmovdptr,#mus1rmovca,a+dptrcjnea,#100,song12clrtr0jmpsong14song12:mov37h,asetbtr0son

19、g13:lcalldelay1lcallbuttonjnzsong14djnz37h,song13jmpsong11song14:retsong20:mov36h,#0ffhsong21:inc36hmova,36hmovdptr,#mus2hmovca,a+dptrmov34h,amovth0,34hmova,36hmovdptr,#mus2lmovca,a+dptrmov35h,amovtl0,35hmova,36hmovdptr,#mus2rmovca,a+dptrcjnea,#100,song22clrtr0jmpsong24song22:mov37h,asetbtr0song23:l

20、calldelay1lcallbuttonjnzsong24djnz37h,song23jmpsong21song24:retint_0:clrtf0cplp2.0movth0,34hmovtl0,35hretitab0:db01h,02h,04h,08h,10h,20h,40h,80h,01h,02htab1:db0f9h,0a4h,0b0h,99h,92h,82h,0f8h,79h,0f9h,0a4hmus0h:db0f8h,0f8h,0fah,0fah,0fbh,0fbh,0fch,0fchmus0l:db88h,50h,17h,6bh,08h,92h,0eh,40h;1,2,3,4,5

21、,6,7,1mus1h:db0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fch,0fch,0fch,0fch,0fdh,0fdh,0fch,0fch,0fch,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fch,0fch,0fch,0fch,0fdh,0fch,0fch,0fch,0fch,0fch,0fch,0fdh,0fch,0fch,0fch,0fdh,0fdh,0fch,0fch,0fdh,0fdh,0fdh,0fch,0fch,0fch,0fbh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fdh,0fch,0fch,0fch,0fch,0fdh,0fch,0fch,0fch,0fch,00hmus1l:db09h,09h,34h,82h,82h,34h,09h,0ach,44h,44h,0ach,09h,09h,0ach,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论