简易电子琴设计实验报告_第1页
简易电子琴设计实验报告_第2页
简易电子琴设计实验报告_第3页
简易电子琴设计实验报告_第4页
简易电子琴设计实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、简易电子琴设计实验报告指导老师:谭建军老师班 级:0309409姓 名:周 博学 号:030940913 2011-12-7摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音乐演奏中已成为不可缺少的一部分。单片机是一个具有功能强大和编程灵活性的控制器,它已广泛应用于现代人们的生活中,扮演着重要的角色。本设计主要是使用at89c51单片机及单片机c语言,在proteus仿真平台上实现以单片机为核心控制元件的一个具有16个按键的电子琴,同时还增加了音乐播放功能。本文中给出了该系统设计的硬件电路,软件设计等。其次,详细阐述了程序的各个模块和实现过程。本设计具有硬件电路简单、功能

2、完善、控制可靠、运行稳定等特点,具有一定的实用性和参考价值。关键词: 单片机;电子琴;proteus;c语言一、电子琴的相关介绍1,电子琴的应用背景随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。并且可以进行一定的功能扩展。鉴于传统电子琴可以用键盘上的“k0”到“k16”键演奏从低so到高do等16个音,从而可以用来弹奏喜欢的乐曲。电子琴是现

3、代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。还常作为独奏乐器出现,具有鲜明时代特色。但电子琴的局限性也是十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类馆、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用at89c51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按

4、键和扬声器。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。这次的电子琴是由4*4组成16个按钮矩阵,设计成16个音。然后再用一个音频放大模

5、块来使音乐播出的声音变大。通过这16个键的随意组合可随意弹奏想要表达的音乐,使用很简单。2,本实验中电子琴的设计思路单片机因体积小、功能强、价格低廉而得到广泛应用。at89c51单片机设计微型电子琴的方法,仅需at89c51最小系统,扩展一组矩阵键盘,再接一组发光二极管用来指示电子琴的工作状态。本系统分为两个部分,一个是音乐,另一个就是电子琴。音乐播放部分:乐音实际上是有固定周期的信号。本文介绍用at89c51的两个定时器(如t0,t1)控制,在p3.7脚上输出方波周期信号,产生乐音,通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲,当不想弹奏时通过按放歌键可以演

6、奏事先存放在单片机中的几首动听的曲子供消遣。当歌曲演奏完时,通过按复位键便可回到初始状态,这样就做出了一台微型电子琴。由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。电子琴弹奏部

7、分:实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。本设计要实现的功能有:由4x4组成16个按钮矩阵,设计成16个音。可随意弹奏想要表达的音乐。详细过程:当系统扫描到键盘上有键子被按下,则快速检测出是那一个键子,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。假如在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键的发音程序,发出后按的键的音。二、系统分析1、系统的组成该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,

8、解码输出音符,在扬声器中发出有效的声音。通过这样可以不断的弹奏音乐。嵌入式电路,按键电路,led显示电路和两个功能键组成,通过功能键可以选择播放音乐。其主要模块由五个部分组成,具体关系如图2.1所示。图2.1 系统组成框图本系统的电路基本模块:51单片机中心、矩阵键盘模块、显示模块、发音模块、功能选择模块。2、系统工作原理 工作原理描述如下:打开电子琴电源开关后,电子琴默认为弹奏状态,弹奏显示灯点亮,数码管显示为0。按下矩阵键盘中的任意键,扬声器发相应的音调,数码管显示对应的数字。按下播放按钮,电子琴处于自动播放状态,播放显示灯点亮,此时,按下矩阵键盘中的任意键,扬声器发出存储在单片机内部的对

9、应的乐曲,数码管显示对应的按键数字。再按弹奏/停止键,音乐停止。弹奏显示灯点亮。此时系统又处于弹奏状态。三、系统的硬件设计1、系统硬件总的设计将设计的电子琴硬件部分进行模块化设计,主要分以下模块:(1)矩阵键盘模块:系统采用4*4矩阵键盘。(2)显示模块:系统采用led显示管显示。(3)功能显示模块:采用发光二极管显示弹奏、播放两种状态。(4)发音模块:采用扬声器发音。(5)控制中心模块:at89c51单片机。硬件整体电路图如图3.1所示。图3.1 硬件整体电路图2、at89c51单片机介绍图3.2 at89c51引脚分布图at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperom

10、flash programmable and erasable read only memory)的低电压,高性能cmos 8位微处理器,俗称单片机。at89c51它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,at89c51可以按照常规方法进行编程,也可以在线编程。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.2所示。 at89c51主要特性与mcs-51 兼容 4k字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作

11、:0hz-24mhz三级程序存储器锁定1288位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路at89c51管脚说明vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门

12、电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内

13、容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于

14、定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。ea/vpp:当保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为reset;当端保持高电平时,此间内部程序存储器。在flash编程

15、期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。另外,p3口也可作为at89c51的一些特殊功能口,如下所示。l 口管脚 备选功能l p3.0 rxd(串行输入口)l p3.1 txd(串行输出口)l p3.2 /int0(外部中断0)l p3.3 /int1(外部中断1)l p3.4 t0(记时器0外部输入)l p3.5 t1(记时器1外部输入)l p3.6 /wr(外部数据存储器写选通)l p3.7 /rd(外部数据存储器读选通)l p3口同时为闪烁编程和编程校验接收一些控制信号。3、矩阵式键盘的结

16、构与工作原理在键盘中按键数量较多时,为了减少i/o口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如p1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,本系统中的矩阵键盘中,列线通过电阻接正电源,并将行线所接的单片机的i/o口作为输出端,而列线所接的i/o口则作为输入。这

17、样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。矩阵式键盘如图3.3所示。 图3.3 矩阵式键盘4、按键显示模块显示模块如图3.4所示。 图3.45、功能显示模块当按下弹奏/停止功能键时,d1灯点亮,此时,电子琴系统处于弹奏状态;当按下播放键时,d2灯点亮,此时,电子琴系统处于自动播放内置音乐状态。此系统的功能显示模块如图3.5所示 如图3.55、音乐播放设置利用at89c51的内部定时器使其工作计数器模式(mode1)下,改变计数值th0及tl0以产生不同频率的方法产生不同音阶,

18、例如,频率为523hz,其周期t1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将i/o反相,就可得到中音do(523hz)。计数脉冲值与频率的关系式是: nfi2fr 式中,n是计数值;fi是机器频率(晶体振荡器为12mhz时,其频率为1mhz);fr是想要产生的频率。其计数初值t的求法如下:t65536n65536fi2fr例如:设k65536,fi1mhz,求低音do(261hz)、中音do(523hz)、高音do(1046hz)的计数值。t65536n65536fi2fr6553610000002fr65536500000/fr低音do的t6553650

19、0000/26263628中音do的t65536500000/52364580高音do的t65536500000/104665058单片机12mhz晶振,高中低音符与计数t0相关的计数值如表2所示。表2 音符频率表音符频率(hz)简谱码(t值)音符频率(hz)简谱码(t值)休止00中 4 fa69864820低1 do26263628中 5 so78464898低2 re29463835中 6 la88064968低 3 m33064021中 7 si98865030低 4 fa34964103高 1 do104665058低 5 so39264260高 2 re117565110低 6 la

20、44064400高 3 m131865157低 7 si49464524高 4 fa139765178中 1 do52364580高 5 so156865217中 2 re58764684高 6 la176065252中 3 m65964777高 7 si196765283我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据。uint code tab=0,63628,63835,64021,64103,64260,64400,64524, 64580,64684,64777,64820,64898,64968,65030, 65058,65110,65157,65178,652

21、17,65252,65283音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=c 、1=g 等等,这里1=c,1=g表示乐谱的曲调, 、就是用来表示节拍的。以为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。四、系统软件设计1、系统整体程序处理流程图系统整体程序处理流程图4.1所示。图4.1 整体程序处理流程图在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的目的是赋予矩阵键盘第二功能,即对系统内置的歌曲进行选择,在放歌时能且只能通过弹奏/停止键来结束放歌,选歌时必须先按下歌曲选择功能键,在通过矩阵键盘来选择和切换曲目。2、系统整体程序处理流程图系统整体程序处理流程图4.1所示。图4.1 整体程序处理流程图在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的目的是赋予矩阵键盘第

温馨提示

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

评论

0/150

提交评论