基于单片机的音乐盒毕业设计Word文档下载推荐.docx
《基于单片机的音乐盒毕业设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的音乐盒毕业设计Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。
单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。
随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。
本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。
1概述
本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。
用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。
对于不同型号的单片机只需要相应的改变一下地址即可。
该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。
1.1课题意义
音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。
当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。
音乐盒有着300多年的发展历史,是人类文明发展的历史见证。
传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。
但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。
水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。
与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。
电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。
基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。
根据存储容量的大小,可以尽可能多的存储歌曲。
另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。
1.2设计方案
设计一个基于AT89C51系列单片机的音乐盒,用按键切换演奏出不同乐曲。
蜂鸣器发出某个音调,与之相对应LED亮起。
使用两个按键,一个用来切换歌曲,另一个切换八路LED变化花样。
1.3研究内容
电路有两种工作模式:
演奏音乐模式和花样灯模式。
演奏音乐模式:
演奏完整的一首的歌曲,八路LED随着音乐变化。
花样灯模式:
八路LED变化出各种花样,蜂鸣器随着发出“嘀嘀”声。
按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲。
按下按键2进入花样灯模式,再按切换LED花样,共三种花样。
此电路的程序只占用了1K左右,可编制更多的音乐和LED花样,使系统的功能更加强大。
2系统总体方案介绍
2.1系统组成框图
音乐盒的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、蜂鸣器、LED模块组成。
单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。
系统组成框图如图2.1-1所示。
图2.1-1系统组成框图
2.2音乐盒的功能结构图
音乐盒的功能结构如图2.2-1所示。
Key1负责切换播放歌曲,播放歌曲共2首,分别是挥着翅膀的女孩和寂寞沙洲冷。
Key2负责切换LED显示花样,显示花样共3种,第一种顺序显示,第二种由两边向中间移动然后向两边移动,第三种循环显示。
图2.2-1音乐盒功能结构图
2.3主要设计软件介绍
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,两种软件的简介如下:
2.3.1PROTEUS软件简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
2.3.2KEIL简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
3硬件设计
3.1总体设计框图
图3.1-1总体设计框图
3.2各部分硬件设计及其原理
3.2.1AT89C51简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.2-1所示。
图3.2-1AT89C51系列单片机
3.2.2LED显示电路设计与原理
LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接到单片机的P1口,若为低电平,可使LED亮起。
发光二极管的亮、灭由内部程序控制,8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变化按规律亮、灭。
3.2.3时钟振荡电路
AT89C5输出端。
这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一中有一个用于构成内部振荡器高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和起构成自然振荡器。
外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1,C2虽然没有什么严格的要求,但电容容量大小会轻微影响振荡频率的高低、振荡器工作稳定性、起振的难易程序及温度稳定性。
振荡器电路图如下:
图3.2.3-1单片机内部、外部振荡电路
3.3硬件电路图及功能
总体硬件电路实现功能如下,如图3.3-1所示,电路中用P3.2、P3.3控制按键。
P1.0~P1.7控制LED。
P2.3控制蜂鸣器。
电路为12MHZ晶振频率工作,起振电路中C1、C2均为30PF。
图3.3-1硬件电路图
4软件设计
在本程序中设置了两个标志——count1和count2,分别初始化为1和0。
按键1使得count1在1和2之间切换,按键2使得count2在1~4之间切换。
程序检测count1的值,count1等于1时播放第一首歌曲,等于2时播放第二首。
另一方面根据count2的值来切换LED的花样。
count1和count2的值是互斥的,设置count1等于1、2时,count2同时设置为0;
设置count2等于1~4时,count1也同时设置为0。
4.1音调、节拍以及编码的确定方法
一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。
因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。
4.1.1音调的确定
不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。
把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。
两个音之间的距离有两个“半音”,就叫“全音”。
在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;
E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。
通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。
﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。
例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266Hz)的一倍;
同样的,高音RE的频率(1175Hz)刚好