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

下载本文档

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

文档简介

1、 目录TOC o 1-5 h z HYPERLINK l bookmark0 o Current Document 前言2 HYPERLINK l bookmark2 o Current Document 第1章基于51单片机的电子琴设计3 HYPERLINK l bookmark4 o Current Document 1.1电子琴的设计要求3 HYPERLINK l bookmark6 o Current Document 电子琴设计所用设备及软件3 HYPERLINK l bookmark8 o Current Document 1.3总体设计方案3 HYPERLINK l bookma

2、rk22 o Current Document 第2章系统硬件设计5 HYPERLINK l bookmark24 o Current Document 2.1琴键控制电路5 HYPERLINK l bookmark10 o Current Document 2.2音频功放电路6 HYPERLINK l bookmark26 o Current Document 时钟-复位电路6 HYPERLINK l bookmark28 o Current Document 2.4LED显示电路6 HYPERLINK l bookmark30 o Current Document 2.5整体电路7 HYP

3、ERLINK l bookmark32 o Current Document 第3章电子琴系统软件设计9 HYPERLINK l bookmark34 o Current Document 3.1系统硬件接口定义9 HYPERLINK l bookmark36 o Current Document 3.2主函数103.2.1主函数程序10 HYPERLINK l bookmark38 o Current Document 按键扫描及LED显示函数113.3.1键盘去抖及LED显示子程序12 HYPERLINK l bookmark40 o Current Document 3.4中断函数133

4、.4.1中断程序14 HYPERLINK l bookmark42 o Current Document 第4章电子琴和调试14 HYPERLINK l bookmark44 o Current Document 4.1调试工具14 HYPERLINK l bookmark46 o Current Document 4.2调试结果15 HYPERLINK l bookmark48 o Current Document 电子琴设计中的问题及解决方法16 HYPERLINK l bookmark50 o Current Document 第5章电子琴设计总结17 HYPERLINK l bookm

5、ark52 o Current Document 参考文献18 HYPERLINK l bookmark54 o Current Document 附录19前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间

6、:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质

7、和能力目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。第1章基于51单片机的电子琴设计1

8、.1电子琴的设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成的功能:电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。本设计的电子琴有以下要求:用键盘作出电子琴的按键,共7个,每键代表1个音符。各音符按照符合电子琴的按键顺序排列;利用五彩小灯显示有按键按下及相对应的位置。达到电子琴的基本功能,可以用弹奏出简单的乐曲;1.2电子琴设计所用设备及软件本设计除了需要计算机,还会用到两款软件:仿真软件Pr

9、oteus、编程软件KeiluVision4。仿真软件Proteus的简介Proteus软件具有其它EDA工具软件的功能,诸如:原理布图、PCB自动或人工布线、SPICE电路仿真。除此之外还有一些革命性的特点:互动的电路仿真、仿真处理器及其外围电路。所实现的功能:数字电路仿真KeiluVision4的简介uVision4在uVision3IDE的基础上,增加了更多大众化的功能:多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。所实现的功能:编写程序1.3总体设计方案本系统采用AT89C51为主控芯片,因其

10、精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用LED管显示电路负责显示按下的琴键所对应的键值,这样既节省了成本了,又降低了编程难度。如图1-1所示基于单片机AT89C51的电子琴电路,它主要由琴键控制电路、LED显示电路、音频功放电路、时钟-复时钟复位电路和电源电路五部分所构成。图1-1电路的原理框图第2章系统硬件设计基于单片机AT89C51的电子琴电

11、路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了8输入与门芯片CD4068B,收集7个独立按键的开关状态信号,并触发单片机的外部中断来处理;而数码管显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。2.1琴键控制电路琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。键盘按照连接方式可以分为独立式和矩阵式键盘两类。此次设计采用的是独立键盘。独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按

12、下的按键。显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线。独立式键盘电路如图3所示,8个独立按键分别对应一个I/O口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。图2-1独立按键电路图P2.2/A1J0PSENP2.3/A11ALEP2.4JA12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3inXDP1.2P3.2M:P1

13、.3P3.3/INTjFM.4P3.4/T0P1.5P3.5JT1P1.6P36WRP1.7P3.7/PD2.2音频功放电路如图2-2所示音频功放电路,它主要由三极管放大器和扬声器组成。其中,扬声器具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和谐波失真小等优点,广泛应用于录音机和收音机之中。电位器Rv1是用来调节声音的大小。iZMPSA14己TGX心.RV1LS1图2-2音频电路2.3时钟-复位电路时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。AT89C51内部有一个用于构成振荡器的高

14、增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-3是AT89S51内部时钟方式的电路,C1和C2的典型值通常选择为30pF,石英晶体常选6MHz或12MHz的。本设计采用内部时钟方式做时钟电路。1FTE1III;C2:-1iiF-XiLCRYSTAL.-U1XTAL1XTAL2丄一RST图2-3复位电路图2.4LED显示电路本文设计中采用的是LED,LED(LightEmittingDiode)发光二极管缩写,它是单片机原理课程设计 半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是

15、由一个PN结组成,也具有单向导电性。LED具有体积小,电压低,使用寿命长,价格低,亮度高,低热量等优点。但是显示内容单一。本文中采用它显示按键的键位。如图2-4所示。LECi-T.ELLDill.i-.470F:-.LE&-B.IRY.47UF:-.LEU-GREEN.图2-4LED显示电路图PO.O/ADOF0.1/AD1PLI.2/AD2呱盼闪PO./AD-4P0.5/AD5P0.6/AD6P0.7/AD7P2.0.ASF2.1/AUP2.2/A10F2.3/A11P2.M2PZSfMF2.7/A15F3.&/RXDP3.1/TXDP2.2/INT0P3.3/INT1PS.4/TOF3.5

16、/T1.LEC-B.LU.E.470F:-2.5整体电路基于单片机AT89C51的电子琴电路由琴键控制电路、LED显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了7输入,收集7个独立按键的开关状态信号,并触发单片机的外部中断来处理;而LED显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。如图2-5所示。U11Soo-XTAL2RSTpnnH.cinPD.1/AD1Pn2iAi2pn.4i,H.i+PnSADSpn.SADbPCI.7WD7PSEMpzn-HEPZ.IiSPNNH.1口P23h.11AL

17、EPZ.+iAlZEKP1DPZ.SA1+P2.7iA1SP3IVRXDP1.1Pl.liTCDP12piTrraP13piaiNTiP1.+PH.nTDP1P3ST1P1.6PH.aWRP1.7Pm.T丽5亠H3P一Z1ZZZ32+Z5羽Z7F310111213U1S1617ED:51-=TE:T=-LED-HIH.YLED-BLUELED-OH.EENLED-H.ED图2-5整体电路17DRTE:T=-R5t良TE:T=-R6*7良=TE:rr=-R7-Ik17DRTE:T=-BPEXKEF1:TE:-:T=-第3章电子琴系统软件设计系统功能的实现一般包括硬件部分和软件部分,一旦硬件确定下

18、来,软件要实现的功能也随之确定。而为使编程思路清晰,应先绘制程序流程图。图3-1电子琴系统流程图3.1系统硬件接口定义系统硬件接口定义如表1所示表1系统硬件接口定义引脚号引脚名接口说明备注1-7P0-P7独立按键接口33-39P1-P7数码管与单片机通信口17P37控制蜂鸣器3.2主函数主函数流程图如图所示。利用模块化的思想,主函数只执行初始化函数,对所需的I/O口、外部中断1、定时器0进行初始化配置。音频处理函数和LED显示函数。另外,键码的识别与刷新是通过中断函数来完成。图3-2函数流程图3.2.1主函数程序voidmain(void)TMOD=0 x01;/tmod方式1ET0=1;EA

19、=1;LED=0 xff;KEY=0 xff;while(1)if(KEY!=0 xff)delay();key_scan();STH0=tabMUSIC/256;/设初始值STL0=tabMUSIC%256;TR0=1;elseSPEAKER=1;TR0=0;3.3按键扫描及LED显示函数由于本设计采用的是接触开关式按键,故不可避免存在机械抖动。按键被按下是,其触点电压变化过程如图19所示。这种抖动会使系统处于不稳定状态,故需要进行消抖处理。抖动时间的长短和按键的机械特性有关,一般为510ms。通常手动按下键然后立即释放,这个操作中稳定闭合的时间超过20ms,因此单片机在检测按键是否按下时都

20、需要加上去抖动操作,有专门的去抖动电路或则芯片,但同用软件延时的方法也能轻易解决抖动问题,没必要添加多余的硬件。本设计是用软件消抖方法编写一个消抖程序。当按键按下去后,首先对其进行连续两次取样,如果两次都为低电平,则输出低电平;如果其中有一次高电平,则输出高电平。本文所设计的显示为LED显示,当键盘得到低电平时,输出P1口的LED常亮。以表示所指向的键盘动作。3.3.1键盘去抖及LED显示子程序voidkey_scan(void)if(KEY!=0 xff)switch(KEY)显示的列位置case0 x01:MUSIC=0;P0=0 xfe;break;case0 x02:MUSIC=1;P

21、0=0 xfd;break;case0 x04:MUSIC=2;P0=0 xfb;break;case0 x08:MUSIC=3;P0=0 xf7;break;case0 x10:MUSIC=4;P0=0 xef;break;case0 x20:MUSIC=5;P0=0 xdf;break;case0 x40:MUSIC=6;P0=0 xbf;break;3.4中断函数中断函数用到了定时器中断。定时中断的流程框图如图3-4所示,定时器溢出中断后,进行重装载初值,同时执行相应的音频控制操作。h-1rP3.7取反结朿L.图3-5中断函数3.4.1中断程序voidt0(void)interrupt1

22、TH0=STH0;TL0=STL0;SPEAKER=SPEAKER;第4章电子琴和调试由于没有硬件设备,所以无法进行硬件调试,但这并不妨碍软件调试。利用仿真软件Proteus和编程软件KeiluVision4进行调试程序。4.1调试工具Proteus软件是英国LabcenterElectronics公司研发的EDA工具软件。它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。是目前同类软件中最先进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程

23、。最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。KeiluVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。KeiluVision4在KeiluVision3IDE的基础上,增加了更多大众化的功能:多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。4.2调试结果利用Proteus对电路进行仿真分析,电子琴电路的仿真电路图如图22所示。进一步达到了实验效果。但也一定瑕疵,按键按下后,延迟一会才有声音。调试结果与设计的基本一

24、致,如表2所示。=:AMPD1JAD-1zi.m_LFC.5忌rDB.MDDrcy)AWR5TPSENALEeSPi.vufiFNJJiWIJPZTAtlP2.gt2ra.rrABr:iRSZflWTOR3LT.IRDLT.TP1J2P1.3rl.HFl.3P1J9LEDELUELEDBIPV表2调式结果按键键值发音调试LED显示备注S1Do1灯亮S2Re2灯亮S3Mi3灯亮S4Fa4灯亮S5Sao5灯亮S6La6灯亮S7Xi7灯亮图4-1电子琴电路仿真4.3电子琴设计中的问题及解决方法电子琴的设计并非一帆风顺,在这期间遇到了很多问题,下面谈几个关键的问题。首先是最重要的是程序直接编译不下去,

25、到处是bug,直接蒙逼。慢慢调呗,一个一个百度,一个一个查字典。我的天,老师都帮我在找。最后终于编译出hxe文件了,擦,外放不响,那就自己整呗,本来自己什么都不会,百度了好多素材,一个一个试试呗。嗯嗯,最终知道是定义的频率计算有误。弄了好久才响。嗯嗯,涂省事用的LED的小灯,太low了,都这么低的要求了,刚开始还乱闪。又一点一点改程序,没法,自己水平有限,上课又没有好好听课,嗳。就先这样吧。第5章电子琴设计总结在电子音乐领域,电子音调作为现代电子科技与音乐结合的产物,它在现代音乐中扮演着重要的角色。目前,由于电子音乐的普及,电子琴就是一种新型的电子乐器。本设计基于单片机AT89C51的电子琴电

26、路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了8输入与门芯片CD4068B,收集8个独立按键的开关状态信号,并触发单片机的外部中断来处理;而LED显示电路负责显示按下的琴键所对应的键值同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。电子琴的设计并非一帆风顺,在这期间遇到了很多问题,上一章已经说过了,在这也不赘述了。通过这次课程设计,感觉收获颇多。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作,基本掌握了Protel99SE原理图的方法以及怎么利用Proteus进行数字电路仿真。除此之外,对51系单片机的接

27、口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,诸如LED数码管、键盘等等。在软件方面,通过对外部中断、定时器/计数器、I/O的使用,使得C语言编程能力也有了较大的进步。以上参考文献魏鸿磊.临机原理及应用(c语言编程)M.同济大学出版,2015.袁东.51单片机应用开发实战手册M.北京:电子工业出版社,2011.沈红卫.基于单片机的智能系统设计与实现M.北京:电子工业出版社,2005.苏丽萍.电子技术基础M.西安:西安电子科技大学出版社,2002.曾屹,彭楚武.单片机原理与应用(第2版)M.长沙:中南大学出版社,2009.林立.单片机原理及应用基于Proteus和KeilCM.北京:电子工业出版社,2009.7彭伟.单片机C语言程序设计实训100例M.北京:电子工业出版社,2009.顾滨,赵伟军,诸杭.Protel99SE实用教程(第3版)M.北京:人民邮电出版社,2013.王为青,程国刚.单片机KeilCx51应用开

温馨提示

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

评论

0/150

提交评论