音乐盒毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计论文
设计课题:___________________
设计者1:___________________
设计者2:___________________
设计者3:___________________
指导教师:___________________
答辩时间:___________________
摘要
本设计是以单片机技术应用为主线,主控芯片采用AT89S51芯片,采用汇编语言设计程序。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本课程设计的音乐盒式以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,能弹奏do、re、mi、fa、so、la、si七个音,可以当作一个小小电子琴,由弹奏者弹奏想要的歌曲,给弹奏者提供无限音乐乐趣,还可以播放7首歌,曲目可自由选择。本程设计的音乐盒功能多,使用方便,并具有一定的商业价值,可以生产为小朋友的智力开发玩具,也可生产为年轻人和老年人生活中的不可缺少的音乐盒。
1、 系统总体设计方案及硬件设计
1.1系统总体设计方案
利用单片机于外接独立式按键,通过按键可随意选择播放曲目,按键按下一次,歌曲播放一遍。通过切换键,可切换音乐盒功能与电子琴功能。电子琴是利用各音节的频率与延时时间的结合,不同频率的脉冲经扬声器驱动电路放大后,就会发出7不同音调,达到电子琴固有的基本功能。通过接有一个LM386功率放大器的扬声器播放声音。系统总体设计图如图1。
图1系统总体设计图
1.2硬件设计
硬件功能模块划分:单片机最小系统电路模块、按键电路模以及功放电路模块。 (1)最小系统电路模块
最小系统图包括单片机、复位电路、晶振电路以及电源电路。如图 2
单 片
机
按键电路
最小系统电路
功放电路
图2 最小系统图
(2)按键模块
由P3控制按键S1~S8,每个I/O口引脚上都加了上拉电阻R1~R8,在此硬件电路设计中,按键输入都设置为低电平有效。上拉电阻保证了按键断开时,I/O口线有确定的高电平。如图3
图3 按键电路图
(3)功放电路模块
由P2.0口控制一个LM386功率放大器,经功率放大器控制发声器件扬声器。当P1.0口输出为低电平时,功率放大器导通,扬声器通电;当P1.0口输出为高电平时,功率放大器截止,扬声器断电。如图4
图4 音频功放电路图
2、软件设计及调试
2.1程序流程
通过8个独立式按键对单片机进行控制,判断其正在运行的是电子琴功能还是音乐播放以及通过按键扫描以实现电子琴发不通频率的音阶功能和播放不同的音乐曲目功能。用扬声器接收单片机的信号,实现电子琴发音和音乐播放的功能。
(1)主程序流程图:对中断定时器、液晶显示进行初始化,有关单元清0(如图5)
图5 主程序流程图
(2)电子琴程序:程序中音阶是由R3的内容决定的,而声音的长短是由R5的内容决定的。通过连续不断周期性地改变P1.0口的高、低电平,就会产生一定频率的矩形波,扬声器就会发出一定频率的声音再配合延时程序控制高、低电平的持续时间,就能改变音调。
表1 音阶、频率、R3内容对照表
图6是电子琴程序流程图
(1)音乐盒程序模块:资源分配:寄存器R4用于存放软件延时时间常数;R3用于存放音阶常数,R6用于存放音阶频率;R7用于存放节拍常数;R1用于液晶显示。节拍长短控制是用定时器T0产生10MS的基准定时,用20H单元作为中断计数单元,记录定时器T0产生10MS定时中断的次数,通过比较20H单元计数值与节拍常数来控制节拍时间的长短。在编程中将每一音阶对应的音阶常数和节拍常数作为一组,再按乐曲中音阶的排列顺序将各组参数排列成表格,编制成谱表,然后在程序中用查表指令一次查出与每一个音阶常数和节拍常数。谱表中还增加了结束符、休止符代码,用代码00H表示曲子终了,用FFH表示停顿效果。流程图为图7
图7 音乐盒流程图
2.2软件设计及调试
(1)程序初步编写完毕,编译成功后,进入ISIS 7 Professional软件进行仿真模拟,仿真没有出现效果,返回程序,检查修改。
(2)修改完成后,再次进行仿真模拟,可以实现一些功能,但是部分显示不出来,转换指示灯不会亮,经检查发现时仿真出现了错误,改正后,程序的仿真功能都能实现了。3、设计总结
在设计过程中,程序设计初步完成后,编译出现了很多错误,经过一步步跟踪检查程序,修改了部分后,再进行编译,还是存在错误,再次进行修改,一直出现同样的错误,最后在老师和同学的帮助下,程序终于编译成功了。开始进入仿真调试,仿真出来的效果是部分功能没有实现,经检查是仿真电路有点差错,仿真电路图完善后,仿真调试实现了所要求的功能。将软件调试成功的程序下载到硬件实验板上调试功能,刚开始按键识别不了,检查硬件电路,发现有电路出现虚焊,重新焊硬件电路,硬件实验板上也能实现功能。由于条件有限,本设计的功能较为简单。通过这次设计,我们还是学到很多东西。虽然在调试过程中,从大问题到小问题,但是期间能力都得到考验和提升。
4、参考文献
[1] 何利民.单片机初级教程——单片机基础. 第2版. 北京航空航天大学出版社,2006
[2] 张永枫. 单片机应用实训教程. 清华大学出版社, 2008
[3] 何立民.单片机实验与实践教程(三).北京航空航天大学出版社, 2006
5、附1