基于AT89C51单片机的电子琴设计
2024-10-18
来源:威能网
ISSN1009-3044E-mail:kfyj@eeee.net.enhttp://www.dnzs.net.enTel:+86-551-56909635690964ComputerKnowg=avveandTechnology电■知识与技术Vul.6,No.20。july2010,PP.5626—5627基于AT89C51单片机的电子琴设计孙万麟(昌吉学院物理系,新疆昌吉831100)摘要:丈章设计了一个以AT89C51单片机作为主控制器、利用单声道功放电路来驱动扬声器发音的简易电子琴系统。通过硬件电路的设计和软件的调试运行表明,该系统不仅实现弹奏乐曲的基本功能,而且设计思路简单、清晰、易懂、成本低.具有一定的实用和参考价值.非常适合电子爱好者制作。关键词:电子琴;AT89C51中图分类号:TN709Design文献标识码:Aon文章编号:1009-3044(2010)20_5626-02AT89C¥1SingleSimpleElectronicOrganBasedComputerSUNWm—liIl(TheDepartmentofPhysics,Ch叫diCollege,Chan商ia831100,China)one—toneoutAbstract:Thispaperdesignselectriccircuitphyingvaluetosimpleelectronicorgansystem,whichisrr=i.1ycontrolledbyAT89C51singlecomputerandusedtOpromptloudspeakerpronounce.Throughsoft'waredesignandhardwaredebugshowthatthissystemtonotonlybringsmusicalcompositionbasicfunction,butalsoitsdesignisconciseandisaptandveryfitselectronicanlateurt,Omake.understand.Thus,ithascertainpracticalandreferenceKeywords:electronicorgan;AT89C51电子琴已为人们所熟知,她可以演奏出非常动听的乐曲。在许多专用的电子琴电路中.都采用了特殊的集成电路来完成电子琴电路的设计,利用专用电路产生的声音信号驱动扬声器发音,通过演奏者不同的操作,弹奏出美妙的乐曲。Arll89C5l川是美国ATMEL公司生产的低功耗。高性能CMOS8位单片机,片内含4k字节的可系统编程的Flash只读程序存储器.器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准805l指令系统及引脚。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C5l是一种高效微控制器,AT89C51是它的一种精简版本。AT89C5l单片机为很多嵌入式控制系统提供了一种灵活性高凡价廉的方案,町为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。本文利用AT89C51单片机的强大功能,通过软件产生不同频率的声音信号,经相应的放大电路后,在扬声器中发出8个音节。可以弹奏出不同的曲子。1系统原理用电子琴可以演奏出各种美妙的音乐,而音乐是由音符组成。不同的音符是由相应频率的振动产生不同频率的声音电信号经扬声器发音后.人耳所听到的便是不同的声音,换而言之。只要向扬声器中输入不同频率的电信号.就可以产生不同的声音。若将不同的音节与一定的节拍组合在一起便形成一定的曲调,因此只要。‘表1C调时各音阶频率值一个单片机I/0口,通过软件,控制其输出不同频率的信号,就可以产生8个基本音节。将音节以一定的节拍进行组合,便可以产生歌曲。乐曲中每一音符对应着确定的频率,表1给出C调时各音符频率i2-31。如果单片机某个口线输出“高~低”电平的频率和某个音符的频率一样,那么将此口线接上喇叭就可以发出此音符。圈一圆—咂亟№l频率㈣)I523.358"i'659.3.3"/84I嘲.!I一.瓢1987.I8图1系统结构图2系统结构框图及电路图本文电子琴系统以AT89C51单片机为核心.融合常见电路模块:查询式键盘(1—7和休止符,其中休止符表示停顿、不发音)接口电路模块和喇叭驱动电路模块。ATMEL公司的生产的8晒l单片机内部除CPU外,还包括128字节RAM,21个SFR,4个8位并行I/O口,1个全双工串行口。2个16位定时/计数器.片内集成4K字节ROM,具有低功耗、速度快等优点,完全满足本系统设计需要,而且所用器件都具有通用性。图l为其系统结构图,图2为硬件电路图,单片机最小应用系统的PI口接查询式键盘,用P3.0口接音频驱动电路,发出音频脉冲。驱动喇叭,发出音乐。图2硬件电路图收稿日期:2010-05—20作者简介:孙万辟(1982一),女,甘肃人,硕士,新疆昌吉市昌吉学院物理系助教,研究方向为信号、图像处理及信息技术。本拦目责任编辑:粱书万方数据第6卷第20期(2010年7月)ComputerKnov“edgeandTechnology电麓知识‘i技术3软件设计及调试本系统采用MCS一51汇编语言编程,经过keilC编译通过,程序编写采取模块化、结构化设计。本软件设计包括主程序流程图(图3)和定时中断服务程序流程图(图4)。本调试程序具备四种性能:跟踪、断点、查看变最、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的上E确与平稳运行必不可少.所以在软件凋试的最初阶段就是把各个子程序模块进行分别调试。乐谱的编码规则:对于每个音符,定义用8位二进制数表示。其中,最高位为l的字符为结束符,当读到最高佗为l时.停止播放;低3位存储音阶码,即音阶表的列数,可为000B—111B(1。7和休止符),休止符表示停顿,不发音,只有时间长短属性;第3位和第4位存储音高码,即音阶表的行数.可为OOB—lOB;第5位和第6位存储音长码,即中断次数,可为00B—lOB。运行程序后.按照电子琴的弹法操作,具体对应的键的功能为:使数字键8(休止符)及1、2、3、4、5、6、7作为电子琴按键,每次爵阶键按F时,通过凋用键盘扫描子程序判断是否有键按下,获得键值,查询音阶表,获取定时器的计时初值,向喇叭输入相应频率的驱动脉冲,它们依次唱成DO、RE、M1、FA、SO、LA、SI,达到发出相应的音调的目的阳。若按键没有松开,则一直发声;若按键松开。则停止发声。4结束语该文主要利用MCS一5l系列的8051单片机的强大功能,以简单的硬件电路和相对复杂的软件来模拟电子琴的基本功能。该电子琴系统大部分软硬件可以被软件程序柔化取代,电路简洁、操作方便、性能良好,而且其设计简练、易懂,所用器件常见,电路模块具有通用性,对于初学者掌握单片机技术应用是一个非常有效的实践题材17-ol。图3主程序框图参考文献:[1】冯先成.单片机应用系统设计fM】.北京:北京航空航天大学出版社,2009.【2l黄亮.基于AT89C2051单片机的电子琴电路的设计【J】.电子制作,2006(5):22—25.【3】熊杰,彭力,薛德恒,等.简易电子琴设计【J1.技术开发,2009(5):33.f41张建平,朱伟娜.单片机电子琴fJ】.无线电,2008(5):76—77.【5】徐爱钧,彭秀华.Keil出版社.2004.Cx5lV7I输出音频胖冲电平(高或I氏)上l音顿胁冲电平反转I0单片机高级语言编程与fl,Vision2应用实践【M】.北京:电子工业『6l张晓朋.基于DSP的琴音分析系统lDl.郑州:郑州大学,2006.【7】郁新安.民族电乐器中电扩声弦乐器的设计探索与研究【D】.上海:同济大学,2007.f8】胡汉才.单片机原理及其接口技术IMI.北京:清华大学出版社,2004.【91曾峰,巩海波.印刷电路板(PCB)设计与制作IM】.jE京:电子工业出版社,2006.图4定时中断程序框图本栏目贾任编辑:粱书万方数据-・-・・计算机工囊应用技术・・5627