收藏 分销(赏)

单片机音乐盒专业课程设计.doc

上传人:二*** 文档编号:4557395 上传时间:2024-09-29 格式:DOC 页数:20 大小:544.04KB
下载 相关 举报
单片机音乐盒专业课程设计.doc_第1页
第1页 / 共20页
本文档共20页,全文阅读请下载到手机保存,查看更方便
资源描述
。 《单片机原理和应用》 课程设计 题目:单片机音乐播放器 系 别:计算机信息和技术系 专 业: 计算机科学和技术 班 级: 学 号: 学生姓名: 指导老师: ×××06月 目录 1.项目分析 1 1.1概述 1 1.2单片机音乐盒播放器相关介绍 1 2.题目分析 2 1.软件分析 2 1.1软件介绍 2 1.2具体软件过程 4 2.硬件分析 4 3.方案设计和论证 4 3.1单片机选择 4 3.2单片机控制电路设计 5 4.硬件设计 7 4.1 AT89C51 芯片功效和硬件连接 7 4.2芯片擦除 7 4.3键盘 7 4.3.1键盘输入特点 7 4.3.2按键确实定 7 4.4音频输出 8 4.5整体硬件电路 8 5.软件设计 9 5.1 程序步骤图 9 5.2音乐产生方法 9 5.3对乐谱表转换 11 6.软硬件调试 12 6.1软件调试 12 6.2硬件调试 12 6.3软硬件调试中问题 13 6.3.1软件问题 13 6.3.2硬件问题 14 7.总结 15 1.项目分析 1.1概述 伴随社会发展和科技进步,越来越多人性化电子产品被用在大家日常生活之中,这其中全部有单片机身影,比如银行交易窗口滚动字幕、灯牌还有多种彩灯控制手机、计算机、机器人等各行各业之中。 正如我们所知道,传统音乐盒多是机械音乐盒,其工作原理是经过齿轮带动一个带有铁钉铁桶转动,铁桶上铁钉撞击铁片制成琴键,从而发出声音。不过,机械式音乐盒体积比较大,比较粗笨,且发音单调。而且水、灰尘等外在原因,轻易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必需放平不能动摇,而且价格昂贵,不能实现大批量生产。 不过和之相反,基于单片机设计制作电子式音乐盒。和传统机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力起源是电池,制作工艺简单,可进行批量生产,所以价格廉价。基于单片机制作电子式音乐盒,控制功效强大,可依据需要选歌,使用方便。所放歌曲节奏能够依据需要进行设置,依据存放容量大小,能够尽可能多存放歌曲。另外,还能够设计彩灯外观效果,增设放歌时间、序号显示灯功效,使音乐盒功效愈加丰富。 1.2 单片机音乐盒播放器相关介绍 电子音乐已广泛地应用于社会生活各个领域。其类型从音乐卡片到CD、MP3 等多个多样,制作原理也各不相同。声音是经过振动产生。单片机对某一I/O引脚以一定频率循环置1和清0,这一引脚便产生一定频率方波,该方波经过放大后作用于蜂鸣器或扬声器,便产生一定频率声音。若改变输出方波频率,产生声音也就改变了。经过控制输出方波时间长短,声音长短也就得到控制。所以,依据乐谱,单片机就可产生电子音乐。音乐中最关键两个要素是音符和节拍。单片机控制音乐发生器系统由硬件电路和软件两部分组成。利用单片机控制电子音乐发生器软硬件上含有独特优点,系统开发周期短,成本低,电路制作轻易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。软件编程时,可用51系列单片机汇编语言或C语言实现。(本课题使用C语言)同时还可依据个人习好经过软件改变节拍延时时间,增加电子音乐趣味性。 2.题目分析 1.软件分析 此次设计关键用到了三款软件,一款是用以对源代码进行C语言编程KEIL软件,一款是谱曲软件,另一款则是用以对实物设计进行仿真PROTEUS软件[4]。 1.1软件介绍 1.1.1编程软件KEIL介绍 要进行单片机开发设计,首先离不开就是软件,而假如你使用C语言编程,那么KEIL几乎就是你不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用集成环境、强大软件仿真调试工具也会令你事半功倍。 KEIL C51是美国KEIL Software企业出品51系列兼容单片机C语言软件开发系统,和汇编相比,C语言在功效上、结构性、可读性、可维护性上有显著优势,所以易学易用。KEIL提供了包含C编译器、宏汇编、连接器、库管理和一个功效强大仿真调试器等在内完整开发方案,经过一个集成开发环境(uVision)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN、WINXP等操作系统。 C51工具包整体结构,uVision和Ishell分别是C51 for Windows和for Dos集成开发环境(IDE),能够完成编辑、编译、连接、调试、仿真等整个开发步骤。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也能够和库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也能够直接写入程序存贮器如EPROM中。 KEIL C51生成目标代码效率很之高,多数语句生成汇编代码很紧凑,轻易了解。在开发大型软件时更能表现高级语言优势。 和汇编相比,C语言在功效上、结构性、可读性、可维护性上有显著优势,所以易学易用。用过汇编语言后再使用C来开发,体会愈加深刻。 KEIL C51软件提供丰富库函数和功效强大集成开发调试工具,全Windows界面。是一款很不错软件。 1.1.2谱曲软件介绍 单片机音乐谱曲软件‘Music Encode’能够将乐谱表转化为用于51单片机播放音乐时候需要16进制代码。 1.1.3仿真软件PROTEUS介绍 有了编译软件,一样也少不了仿真软件PROTEUS,这是一款很强大仿真软件,有了它以后,我们就能够节省大量精力和资源,仅仅经过电脑就能模拟我们想要东西,直至满足我们自己要求为止。 PROTEUS软件是英国Labcenter electronics企业出版EDA工具软件。它不仅含有其它EDA工具软件仿真功效,还能仿真单片机及外围器件。它是现在最好仿真单片机及外围器件工具。即使现在中国推广刚起步,但已受到单片机爱好者、从事单片机教学老师、致力于单片机开发应用科技工作者青睐。PROTEUS是世界上著名EDA工具(仿真软件),从原理图布图、代码调试到单片机和外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品完整设计。是现在世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一设计平台,其处理器模型支持8051、HC11、PIC(10、12、16、18、24、30、DsPIC33)、AVR、ARM、8086和MSP430等,又增加了Cortex和DSP系列处理器,并连续增加其它系列处理器模型。在编译方面,它也支持IAR、KEIL和MPLAB等多个编译器。 在PROTEUS绘制好原理图后,调入已编译好目标代码文件(.HEX),能够在PROTEUS原理图中看到模拟实物运行状态和过程。PROTEUS 是单片机课堂教学优异助手。PROTEUS不仅可将很多单片机实例功效形象化,也可将很多单片机实例运行过程形象化。前者可在相当程度上得到实物演示试验效果,后者则是实物演示试验难以达成效果。它元器件、连接线路等却和传统单片机试验硬件高度对应。这在相当程度上替换了传统单片机试验教学功效,比如:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 1.2具体软件过程 1.2.1使用‘谱曲软件’对音乐播放器程序中需要用到音乐代码进行转换; 1.2.2使用仿真软件‘proteus’进行仿真图绘制; 1.2.3使用keil软件进行代码编写和调试。 2.硬件分析 本设计中会用到元件有AT89C51单片机一个、按键四个、蜂鸣器一个、双头USB数据线一条,还有部分电路常见元器件。 3.方案设计和论证 本设计是基于单片机音乐播放器设计,由单片机AT89C51芯片和蜂鸣器为关键,辅以必需电路,组成一个简单单片机音乐播放器。要求利用I/O口产生一定频率方波,驱动蜂鸣器,从而演奏乐曲,可经过功效键选择乐曲,暂停,播放。 3.1单片机选择 首先选择单片机中最为普遍MCS51系列。其中AT89C2051是美国ATMEL企业生产低电压、高性能CMOS 8位单片机,片内含2k bytes可反复擦写只读程序存放器(PEROM)和128bytes随机数据存放器(RAM),器件采取ATMEL企业高密度、非易失性存放技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存放单元,功效强大AT89C2051单片机可应用于很多高性价比应用场所。 关键性能: l MCS-51产品兼容; l 2KB可重编程FLASH存放器(1000次); l 2.7-6V电压范围; l 全静态工作:0Hz-24KHz l 2级程序存放器保密锁定 l 128*8位内部RAM l 15条可编程I/O线 l 两个16位定时器/计数器 l 6个中止源 l 可编程串行通道 l 高精度电压比较器(P1.0,P1.1,P3.6) l 直接驱动LED输出端口 因为完成音频输出只需一个I/O口,所以AT89C2051足以满足基础要求。其20个引脚体积小巧,内部2k字节程序存放器容量适中,低压低频工作条件,而且价格低廉轻易购得。 综上,此次设计选择AT89C2051单片机。 3.2单片机控制电路设计 当键盘有键按下时,判定键值,开启计数器T0,产生一定频率脉冲,驱动蜂鸣器,放出乐曲。。 (1) 硬件电路中用P3.3~P3.5控制按键; (2) 用P3.6口控制蜂鸣器; (3) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。 3.2.1系统总体结构框图 电源电路 蜂鸣器电路 AT89C51 单片机 复位电路 晶振电路 按键控制电路 4.硬件设计 本设计中会用到元件有AT89C51单片机一个、按键四个、蜂鸣器一个、双头USB数据线一条,还有部分电路常见元器件。 4.1 AT89C51 芯片功效和硬件连接 AT89C51是一个带4K字节闪烁可编程可擦除只读存放器低电压,高性能CMOS8位微处理器,俗称单片机。该器件采取ATMEL高密度非易失存放器制造技术制造,和工业标准MCS-51指令集和输出管脚相兼容。因为将多功效8位CPU和闪烁存放器组合在单个芯片中,ATMELAT89C51是一个高效微控制器,为很多嵌入式控制系统提供了一个灵活性高且价廉方案。 4.2芯片擦除 整个PEROM阵列和三个锁定位电擦除可经过正确控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存放字节被反复编程以前,该操作必需被实施。另外,AT89C51设有稳态逻辑,能够在低到零频率条件下静态逻辑,支持两种软件可选掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中止系统仍在工作。在掉电模式下,保留RAM内容而且冻结振荡器,严禁所用其它芯片功效,直到下一个硬件复位为止。 4.3键盘 键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功效,是人工干预单片机关键手段。 4.3.1键盘输入特点 键盘实质上是一级按键开关集合。通常,键盘开关利用了机械触点合、断作用。 4.3.2按键确实定 键闭合是否,反应在行线输出电压上就展现高电平或低电平,假如高电平表示键断开,低电平则表示键闭合,经过对行线电平高低状态检测,便可确定按键按下是否。为了确保CPU对一次按键动作只确定一次按键有效,必需消除抖动影响。按键输入电路由4个按键组成,P3^2、P3^3、P3^4、P3^5为控制歌曲按键,P3^2为暂停按键。 4.4音频输出 整个输出部分由一个蜂鸣器/喇叭组成,原理图以下图所表示: 用P3.6口控制蜂鸣器。输出显示电路下图所表示: 4.5 整体硬件电路 图4.5所表示: 图4.5 5.软件设计 5.1 程序步骤图 开始 初始化 查表调音符数据 用延时产生节拍调键盘程序开始中止 一首曲子播完? 5.2音乐产生方法 一首音乐是很多不一样音阶组成,而每个音阶对应着不一样频率,这么我们就能够利用不一样频率组合,即可组成我们所想要音乐了,当然对于单片机来产生不一样频率很方便,我们能够利用单片机定时/计数器T0来产生这么方波频率信号,所以,我们只要把一首歌曲音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符和单片机计数T0相关计数值以下表5.2所表示: 表5.2.1高中低音符和单片机计数T0相关计数值。 音符 频率(HZ) 简谱码(T值) 音符 频率(HZ) 简谱码(T值) 低1 DO 262 63628 # 4 FA# 740 64860 #1 DO# 277 63731 中 5 SO 784 64898 低2 RE 294 63835 # 5 SO# 831 64934 #2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中 1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 图5.2.1 表5.2.2音乐音拍。 曲调值 DELAY 曲调值 DELAY 调4/4 125ms 调4/4 62ms 调3/4 187ms 调3/4 94ms 调2/4 250ms 调2/4 125ms 5.3对乐谱表转换 使用Music Encode软件对音乐简谱进行转化,以下图所表示: 此处只作为示范: 图5.3 6. 软硬件调试 6.1软件调试 由截图看以看出,软件调试正确。 6.2硬件调试 6.3软硬件调试中问题 6.3.1软件问题 1.怎样将音乐简谱数据转化为单片机能够识别代码? 经过网络查询得悉,有一款被众多单片机爱好者认可音乐简谱转化软件‘Mucic Encode’,它是一绿色软件,能够直接使用,无须安装。使用它就能够将音乐简谱转化为单片机所能识别代码,不过前提是必需要懂音乐简谱,不过介于时间问题,并没有那么多时间来学习音乐简谱,于是,就找到了身边懂音乐同学,让她们帮忙来实现对简谱转化。 2.怎样对音乐施行暂停播放? 对正在播放音乐实施暂停,真是一件尤其麻烦事,不过,在这里,我想到了一个能够替换音乐暂停措施。 这次制作单片机音乐播放器,一共使用了4个按键,前3个按键 是用来对固定音乐进行选择播放,而最终一个按键,则是那个用于“暂停音乐播放”按键。它其实是经过在代码中写入空白音乐来实现,因为是空白音乐,所以当按下最终一个按键时候,蜂鸣器是不会发声,这里,其实就是实现了“假暂停”。 3.怎样使用正确口对音乐施行控制? 因为这次是使用已经集成好开发板,上面按键所连接口是那个我并不清楚,这么也就会造成我在编写软件时候不知道怎样使用正确口对音乐进行控制,于是,我咨询了卖家,获取了这个开发板原理图,原理图商清楚展示了,每个按键和口之间联络,至此,问题得四处理。 6.3.2硬件问题 1.将单片机插入电脑USB接口,使用程序烧录软件,却无法检测到单片机? 在做测试过程中,碰到了数次烧录程序软件不能检测到单片机问题。在这其中,我做了多个尝试来试图让烧录软件对单片机进行识别,比如:重启计算机、重新打开软件等。最终发觉,是需要将单片机和计算机先断开连接再二次插入USB口,这么,问题便得到了处理。 7.总结 学了一学期单片机,对单片机硬件设计,软件设计掌握深度不够,我碰到了很多问题,不过,这并不影响我对此次课设信心,最终经过多种路径和方法,顺利完成了此次项目。而且经过此次课程设计,学习到了很多,首先对于硬件电路工作原理有了深入掌握。另外软件方面,在程序设计,程序调试方面全部学到了很多东西,这是第一次编写单片机相关音乐程序,很有成就感。 在设计过程中,我发觉原来理论和实际有着很大差异。我们在课堂上学到东西,距离实际应用还有一定距离,在实际操作中碰到了很大问题,而找不到其中原因。这种种,全部坚定告诉我们,我们要学以致用,我们知识不是用来忘记,而是要用到实际生活中。有了这种思想,我想我在以后学习中会愈加重视理论于实际联络,使我们所学知识能够尽可能用到实处,而不仅仅是为了应付考试。 同时,在设计过程中,我们充足利用了网络资源,在网络上搜索我们需要多种信息。这使我们意识到,原来我们每个人面前全部有一个大宝库,只是有些人没有注意到罢了。 注:需要源代码请联络邮箱-> ,随时回复。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服