基于单片机的电子琴_第1页
基于单片机的电子琴_第2页
基于单片机的电子琴_第3页
基于单片机的电子琴_第4页
基于单片机的电子琴_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于单片机的创意电子琴设计实验报告 目 录1 前言22 总体方案设计32.1设计内容32.3 方案选择33单元模块电路简介与设计43.1 单片机主芯片电路设计4 3.1.1时钟电路设计4 3.1.2复位电路设计53.2按键模块电路设计63.3 led数码管显示电路模块设计83.4扬声器电路模块设计94设计94.1设计框图94.2主程序115 结论126 体会137参考文献14附录:相关设计图15 1 前言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发的控生变革。因此,

2、单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用at89s52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和扬声器,其中7个键用于音符输入,1个键作为功能键。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率

3、非常方便,我们可以利用单片机的定时/计数器t0来产生这样的方波频率信号,因此,只需把一首歌曲的音阶对应频率关系弄正确即可。 2 总体方案设计2.1设计内容本系统分为两个部分,一个是音乐播放,另一个就是电子琴弹奏。关于声音的处理,使用单片机c语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。具体要求如下:1.要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。2.用键盘作出电子琴的按键,每键代表一个音符。3.各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。4.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。5.记录所弹音符和持续时间,能够回放。2.2方案比较 方

4、案一:采用cpld外接扬声器、键盘、数码管等。8个译码输出显示的数码管,以显示目标芯片的32 位输出信号,且8个发光管也能显示目标器件的8位输出信号。时钟为50mhz ,输出接扬声器。具体过程:主系统可由两个模块组成:当系统检测到有按键按下时,对应音符的频率由模块1获得,这是一个数控分频器。由其clk端输入一具有较高频率的信号,分频后输出。音符的持续时间须根据乐曲的速度及每个音符的节拍数决定,模块2的功能是为模块1提供决定所发音的分频预置值,而此数在模块1输入口停留的时间即为此音符的节拍值。方案二:采用单片机外接扬声器、键盘、数码管等。具体过程:当系统扫描到键盘上有键子被按下,则快速检测出是那

5、一个键子,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键的发音程序,发出后按的键的音。2.3 方案选择对比两套方案各有优缺点,方案一采用cpld,工作速度快,系统稳定,效果好,但是其价格昂贵;而方案二在设计这样小型电子系统方面,无论是效果还是工作速度与方案一都相差不大,而且价格较为便宜。因此,选择方案二即单片机加外设的方式设计该系统较好。3单元模块电路简介与设计基于单片机系统的电子琴设计基本设计结构如下图所示。at89c521 x 8独立键盘时

6、钟电路复位电路扬声器led显示电路图3.1 电子琴设计系统原理图该系统的硬件电路主要由at89c52单片机、键盘电路、扬声器电路、led数码显示电路等模块组成,具体原理图如下:3.1 单片机主芯片电路设计3.1.1时钟电路设计图3.2 单片机时钟电路xtal1、xtal2分别是系统时钟信号fosc的输入和输出端,晶振电路的设计可以使用两个电容和一个晶振即可,用来产生一个约等于12mhz的稳定的频率。3.1.2复位电路设计图3.3单片机复位电路复位是单片机的初始化操作,其作用是使cpu和系统中其他功能部件都处在确定的状态,并从这个状态开始工作。本系统采用上电复位电路,为了防止干扰串扰复位端,所以

7、再接一个去耦电容。3.2按键模块电路设计图3.4 按键模块电路在p0口连接有8个按键开关加8个上拉电阻,它们一端接5伏电源,一端接地。只要有一个按键被按下,并被单片机扫描到,则会播放发出音符。3.3 led数码管显示电路模块设计图3.5 led数码显示电路本系统用单片机的p0口来控制led显示器的数字显示。当七个音符按键17中有被按下时,led数码管将对应显示出该音符的数字。从而可以通过手动和眼看来确定所按的是哪个音符,应该发出哪个音符的声音。led显示器还用来显示对记录所弹音符的持续时间。3.4扬声器电路模块设计图3.6 扬声器电路电磁式蜂鸣器由振荡器、电磁线圈、磁铁振动膜片及外壳等组成。接

8、通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振荡膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。本设计蜂鸣器通过驱动电路与单片机的p1.7口连接,单片机就可以通过p1.7的输出信号频率进行控制。另外,通过示波器接到p1.7可方便我们观察音频信号的波形。4设计4.1设计框图本次设计主程序分为四个大的功能块,通过功能键触发外部中断,使功能键按键次数变量加1,通过判断功能键按下与否进行功能切换。其中,头文件包含主要是把本次设计中所用到的各头文件包含进c文件中,包括89c52单片机系统头文件,和自己写的变量头文件,函数头文件及模式头文件。还有就是手动模式,记录模式,回放模式

9、,自动播放模式,分别是调用这几个模式对应的函数。以下是本设计主程序的流程图。注:键8是否按下的检测是嵌入在各功能模块程序段中的,这里为比较清楚的展现功能块的切换,故单独写出来。 图4.1 主程序的流程图4.主程序#include #include #include#include #include #includevoid main() init();while(1) sd(); /手动模式 ,如果功能键不按下,一直保持为手动模式 rd(); /记录模式 hf(); /回放模式 zd(); /自动播放模式void iner0() interrupt 0 ex0=0; k8_ant+; clea

10、r(); if(k8_ant=1) do_not=1; if(k8_ant=4) k8_ant=0;do_not=1; delay(200); /按键消抖 delay(200);ie0=0;5 结论经过上面的说明,分析及调试过程,我们知道了本课程设计的硬件系统是由音符输入模块、单片机控制模块、显示模块及扬声器输出模块,这几个模块组成;软件系统由手动模式、记录模式、回放模式及自动播放模式,这几个功能模式组成。在整个调试的过程中我们遇到了一些问题,在解决这些问题的过程中,我们学到了一些书上没详细介绍的知识。下面我将根据根据整个设计过程中的思考、分析、讨论及调试过程做出如下结论性的说明:1.功能键实

11、现一键复用是一个明智的选择。由于我们进行调试所用的外扩电路板是面包板,如果外扩键盘,如不用核心板上上的8个独立按键,而是外扩44矩阵键盘,那样的话焊在面包板上会相当的麻烦。这样的话,一方面没充分利用核心板上的器件,同时增加了焊接的难度。但是,不外扩的话,核心板上的键盘又不够用。于是,我组采用了一键复用的方法,同时为了保证功能切换的实时性,我们将键8与单片机的外部中断接口相连。键8的复用,一方面,节约了设计的器件成本与实践的时间成本;另一方面,让我们对外部中断的利用有了新的理解。应该说,这是本设计中一个较为重要的设计点。2.按键次数数码管显示及状态灯的使用,增加人机交流效果。我们知道了键8复用的

12、原理,但是为了让演奏者明确电子琴所处的状态,我们用一个数码管显示出功能键所按的次数;用核心板上发光二极管显示电子琴所处的状态。3.记录、回放、自动播放,这三个扩展功能增加了电子琴的吸引力。本次课程设计的最基本功能是模拟电子琴弹奏功能,在我组的努力下,同时为增加对所学知识的理解与掌握程度,我们扩展了这三个功能。调试时,这几个功能实现起来的效果还是不错的。4.调试过程较为顺利,各个功能模块能较好的达到预期效果。如音符输入模块,按键能顺利完成其音符输入的功能,同时,显示模块及扬声器模块能实时显示和发声。总的来说,整个设计、调试过程较为顺利;各个功能模块能较好的达到预期效果;各功能模块的主要参数均正常

13、。6体会经过上述较为详细的分析、说明,我们知道了,本设计的硬件系统由音符信号输入模块,也即键盘输入模块,单片机控制模块,数码管及状态显示模块,扬声器输出模块这几个功能模块组成。软件系统由手动模式、记录模式、回放模式及自动播放模式这四个功能模块组成。经过认真的仿真及调试,最后,我们实现了电子琴的基本功能和扩展功能。应该说,整个设计的软硬件都比较合理,因为最后能较好的实现本设计的预期任务。但也有不足之处,即虽然各个功能模块能较好的实现预期功能,扬声器(实际上用的是蜂鸣器)所发出的声音根本无法区分到底是do,还是re,也即发出的声音并不那么理想。原因可能是蜂鸣器无法把较高频频的音频脉冲正确的模拟出来

14、;还可能就是程序没能协调发音节拍与音频脉冲的关系,而这部分是涉及到音乐领域方面的专业知识,作为本次设计,我们已达到课程设计的目标故没在深入下去。在整个设计过程中,通过查资料,我们学到了很多书本上没介绍的知识,例如at89c52定时、计数器t2的用法,芯片uln2803的用法。还有对已学知识的进一步理解如外部中断的使用,按键软件消抖的应用,p0口要输出高电平必须接上拉电阻等等。在调试过程中,我们遇到了很多问题,但是通过我组成员的密切配合,问题都解决了。值得提出的是我们独立的解决了共阳极数码管因为硬件原因无法显示的问题,解决办法是给p0口及uln2803接上拉电阻。虽然,说起来很简单,但这个问题我

15、们花了将近一天的时间才找出来,最终加以解决了。在软件调试的过程中,一路走来,对耐心的磨砺是很大的。经过调试,我组成员的耐心得到了锻炼,这对以后的学习是很有帮助的。整个软件设计中,由李清同学设计总体方案,李双生同学完成了手动模式程序的编写,郑波同学完成了功能切换程序的编写,其余由李清同学完成。总的来说,通过本次设计,我组成员密切配合,相互交流,提高了与人合作的能力。同时,提高了软、硬件的设计能力,更加理解了书本上关于单片机的知识。应该说,在本次设计中我们收获很多。7参考文献1 杨将新、李华军.单片机程序设计及应用(第三版)m. 北京:电子工业出版社,2006.2 胡汉才.单片机原理及其接口技术m. 北京:清华大学出版社,2004.3 康光华、邹寿斌.电子技术基础数字部分(第五版)m. 北京:高等教育出版社,2006.4 张毅刚、彭喜元.单片机原理及应用m.北京:高等教育出版社,2003.5 谭浩强. c语言程序设计(第三版)j.北京:清华大学出版社,20057 张海兵、李敏.protel电路设计实例与分析j. 北京:人民邮电出版社,2005

温馨提示

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

评论

0/150

提交评论