大学毕业设计---基于at89c52单片机的简易电子琴设计.doc
《大学毕业设计---基于at89c52单片机的简易电子琴设计.doc》由会员分享,可在线阅读,更多相关《大学毕业设计---基于at89c52单片机的简易电子琴设计.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、滨江学院毕业论文题 目 简易电子琴设计 声 明本人郑重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本论文中除了引文外,所有实验、数据和相关材料均是真实的。4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。 作者签名: 日 期: 目 录1.引言12 工作原理22.1电子发音原理22.1.1音调22.1.2节拍52.2设计可行性52.3 设计指标63 硬件电路63.1简易电子琴的组成框图63.2芯片选用73.4 键盘
2、设计94.软件设计104.1主程序流程图104.2程序设计内容115调试155.1 Proteus简介155.2 keil简介155.3 仿真步骤176总结19致谢20附录22简易电子琴设计张盛杰 南京信息工程大学滨江学院09电子信息工程专业,南京 210044摘要:本论文主要基于AT89C52单片机进行的简易电子琴设计。通过LCD显示屏、喇叭、键盘等外部器件,使用按键实现各种音调和音符的输入,LCD显示屏进行被操作的按键显示,用放大电路实现低音频信号的功率放大,最后经过调试用喇叭播放相关音乐。本设计的优点是安全,硬件电路比较简单,操作起来便捷容易上手。关键词:单片机;电子琴;LCD显示屏1.
3、引言电子技术伴随着现代社会科学技术的快速发展,它已经改变了人们生活的各个方面,电子琴作为一种新型的的键盘乐器是音乐与现代电子科学技术发展相结合的产物,虽然没有其它乐器那么多鲜明的特点,但是它的简单易学已经让它在现代音乐中占到了一个很重要的位置。而单片机具有强大的编程实现特性和灵活的控制功能,它成为了电子琴中不可替代的重要一部分,本设计的主要任务是用AT89C52单片机作为核心控制元件,设计一个简易电子琴,主要介绍了电子琴硬件系统的组成并对相关软件程序方面做了相关的分析研究和调试。虽然单片机产生的时间并不是太长,但它的发展速度令人惊讶,它的高水平发展在集成度、可靠性、速度、应用等领域表现的淋漓精
4、致。随着单片机性能的不断提高,它的应用变得更加广泛,目前它已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等多个领域。单片机技术的发展速度非常之快,目前的产品都致力于在各个功能方面进行更加全面的设计研究;在社会消费的需求竞争之下,尽可能地利用单片机的最新技术来研制其应用系统,再利用单片机灵便、性价比高等特点,来确保所设计出来的产品能够具有强大的竞争力和存活力。在社会活动的各个方面中,始终都有单片机的身影;从简易的到复杂的,各个地点,凡是能看到的地方几乎都有使用单片机的需求。虽然现在单片机供应的应用已经普及开来了,但还是有许多单片机尚未涉足到的
5、地方,因此,单片机的应用和需求在现在现代社会的运用中还是有发展的。电子琴在当前的音乐玩具市场上是一个非常好的应用方面。单片机技术使我们可以利用软硬件开发出电子琴功能,从而实现电子琴的微型化,可以用作教学琴、玩具琴等。还可以对相关功能作出一些拓展。参照传统电子琴可以用键盘上的“k0”到“k8”键演奏从低So到高DO等8个音,从而可以用来弹奏喜欢的乐曲。2 工作原理声音是周围空气的震动,音调取决于震动的频率,频率越高音调越高。电子琴按下不同的琴键就会发出不同音调的声音,其实就是产生不同频率的震动。单片机电子琴就是利用单片机产生不同频率的电压波形,推动扬声器或蜂鸣器来发出不同音调的声音。假设电子琴有
6、八个音阶,就对应8个不同的频率,频率越高音调就越高。单片机很容易输出方波信号,那么只要让它产生不同频率的方波就可以了,然后用这个方波信号驱动扬声器就可以了。单片机的按键可以模拟琴键,按下不同的按键就对应不同的频率的方波,就能发出不同频率的声音。2.1电子发音原理由于单片机的强大功能,除了在测试控制领域中有着广泛的运用外,还有一些简单而有趣的应用。比如,驱动单片机可以使蜂鸣器和扬声器发出声音,还可以控制其发出不同的声调,从而连接起来构成一个曲子。目前,市场上有很多种音乐模块和音乐芯片,可以直接产生各种曲子,但是,这种模块价格比较昂贵,电路结构比较复杂,如果系统中仅需要产生简单的音符或者简单的曲子
7、,可以使用单片机配合扬声器产生需要的音乐效果。一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率。单片机演奏的音乐基本上都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调”和“节拍”。在这两个当中,音调表示某个音符所表现的频率的高低程度;节拍表示某个音符所表现的时间长久。音乐播放在本系统中,一般只需按顺序播放音符即可。用单片机播放音乐的方法如下:(1) 复位单片机定时器 (2) 将乐谱中的各个音符的音调及节拍转换成各个对应的音调和节拍参数 (3) 将乐谱中音符的参数做成数据表格存放在存储器中 (4)通过程序取出一个音符的相关参数.,如此直到播放完毕最后
8、一个音符,根据需要也可循环不停地播放整个乐曲。2.1.1音调音调是音乐学中的名词,与平时所说的音高十分相似。在音乐中标准音高为中音C上方的A音,它的频率是 f = 440Hz,把其它的音和它进行比较。 和为两个不同的音符,如果其中一个音符的频率是另外一个音符的两倍时,即时,则称比要高出一个倍频程。在音乐中音符1(do)与音符之间其中一个的频率正好是另外一个音符频率的两倍,它在音乐学中被称为相差一个八度音。在一个八度音里,有12个半音。以1-八音区为例。12个半音是:1-#1,#1-2,2-#2,#23,34,4-#4,#45,5-#5,#56,6-#6,#67,7-。由于人耳的听觉效果,这12
9、个音节的分度基本上都是以对数关系来划分它们的。因此,只需要知道这12个音符的音高,也就是它们基本的音乐的频率,就可以根据音符之间的倍频程关系得到其他音符基本的音调频率。在知道了一个音符的频率后,就可以让单片机发出相应的频率所对应的的振荡信号,从而产生相应的音符声音。常采用的方法是通过单片机的定时器进行定时中断,在中断服务子程序中将单片机上外界扬声器的I/O口来回置高电平或置低电平,从而让扬声器发出声音。为了让单片机发出不同频率音符的声音,只需将定时器预置不同的定时值来实现。 以标准音高A为例:标准音高A的频率 f=440Hz,其对应的周期为: (2-1)因此需要在单片机I/O口输出周期为 T=
10、2272us的方波脉冲,如图2-1所示图2-1单片机控制音调示意图由上图可知: 单片机输出高电平和低电平信号均为: (2-2)也就是说,单片机上定时器的中断触发时间为1136us。如果单片机采用定时器工作方式1,它的计数脉冲为振荡器的十二分频信号。如果外接晶振的振荡器频率为f0,那么定时器的预置初值由下式来显示: (2-3) 式中,Count = =65536, 是定时器将要确定的计数初值。所以定时器的高低计数器的初值为: (2-4) (2-5)如果单片机外接12MHz的晶振,则,把t=1136us和代入上面的两式,随之可以求出标准音高A在单片机定时器工作方式1下的定时器高低计数器的初值为:
11、(2-6) (2-7)参考以上的求法,我们就可以得出其他音调相应的计数器的预置初值。在单片机的晶振频率,定时器在工作方式1下定时器计数初值见表2-1音符频率/Hz计数初值音符频率/Hz计数初值低1 DO26263628# 4 FA #74064860#1 DO#27763731中 5 SO78464898低2 RE29463835# 5 SO#83164934#1 RE#31163928中 6 LA88064968低 3 MI33064021# 6 LA#93264994低 4 FA34964013中 7 SI98895030#4 FA#37064185高 1 DO104665058低5 SO
12、39264260# 1 DO110965085#5 SO41564331高117565110低 6 LA44064400#2 RE#124565134#6 LA#46664463高 3 MI131865157低7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO 156865217中 2 RE58764684# 5 SO#166165235#2 RE#62264732高 6 LA176065252中 3 MI65964777# 6 LA#186565268中 4 FA69864820高 7
13、SI196765283表2-1晶振频率定时器在工作方式1下定时器计数初值表2.1.2节拍在一张完整乐谱开头,都有如1=C、1=G等等的标识。这里1=C,1=G标识乐谱的曲调,简单的说就是跟音调有关系;这里的、用来表示节拍。对于音符的节拍,以为例。它表示乐谱中以四分音符为节拍,每一小节有三拍。1= G的节拍示意图,见图1-2 。在图中,总共有三拍:1、2为一拍,3、4、5为一拍,6为一拍。从时长角度看,1、2的时长为四分音的一半,即为八分音符长;3、4的时长为八分音符的一半,即为十六分音符长;5的时长为四分音符的一半,即为八分音符长;6的时长为四分音符长。1=G图2-2节拍示意图对于一拍的发音时
14、间,如果乐曲没有特殊说明,一般说来,一拍的时长大约为400450ms。如果这里规定一拍的时长为400ms,那么以四分音符为节拍时,四分音符的时长为400ms,八分音符的时长为200ms,十六分音符的时长为100ms。从而,在单片机上可采用循环延时的办法来实现控制一个音符唱多长时间。首先要编写一个精确的基本时长的延时程序,比如说以八分音符的时长为基本延时时间,那么对于一个音符,如果它是四分音符,只需调用四次延时程序,如果它是二分音符,则只需调用八次延时程序,以此类推。单片机电子琴演奏音乐的方法:步骤一:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍数。步骤二:将这些参数做成数据表格,存
15、放在存储器中。步骤三:通过按键调用程序取出一个音符的相关参数,播放该音符。步骤四:播放完该音符后,等待下一次按键调用程序去取出下一次的音符的相关参数,再播放音符。对于演奏乐曲,一般将休止符的音调参数设置为FFH,节拍参数设置为00H。2.2设计可行性由于本次设计主要应用在生活相关的教学娱乐当中,所以在设计上要尽量的使其变的简单安全容易操作。其次,在这次设计可行性上进行分析如下:技术可行性技术可行性主要是分析技术条件上是否能够顺利开展并完成课程设计的主要问题,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。经济可行性所谓经济可行性,即在这次设计上需要投入资金的多
16、少,由于课程设计是提高我们的动手能力以及资金有限。因此在经济上必须能够承受,比较理想化的对于我们课程设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。该设计具有以下优点:可以随意弹奏想要表达的音乐;制作简单,成本低;比传统电子琴功能更完善。2.3 设计指标 实现电子琴发声控制系统,要求电路实现如下功能:利用LCD数码管作为显示部件,喇叭作为发声部件,设置8个按键,实现高音、中音、低音的1、2、3、4、5、6、7、8的发音。并在存储一首歌曲的内容,可以实现自动播放。用PROTEUS实现的电子琴仿真设计。按下音符键可以发出相应的音符按下音乐播放键可以自动播放预先存在内存中的曲
17、子AT89C52作为本设计的主控芯片,作为大规模集成电路技术发展的产物,它拥有高性能、高速度、简单、体积小、价格低廉、稳定可靠、应用广泛的特点,也具有编程实现灵活的特性,由于本设计主要用于教学娱乐方面,因此在设计上尽量使其简单易懂。3 硬件电路通过LCD显示屏、喇叭、键盘这一些外部器件,经过按键实现各种音调和音符的输入,LCD显示屏进行被操作的按键显示,用放大电路实现低音频信号的功率放大,然后通过调试用喇叭播放相关音乐。3.1简易电子琴的组成框图晶振电路AT89C52供电及复位电路发音电路键盘LCD显示屏图3-1 电子琴系统原理框图(1)LCD显示屏LCD 液晶显示器是 Liquid Crys
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 毕业设计 基于 at89c52 单片机 简易 电子琴 设计
限制150内