唐求阳 衡阳技师学院
基于单片机的微型电子琴研究与实现分析
唐求阳 衡阳技师学院
摘 要:单片机是集成电路快速发展的产物,稳定可靠、价格低廉、高速度、高性能是其典型特征。当前单片机的开发应用已经成为时代发展的必然产物。微型电子琴实际上是电子技术同音乐紧密结合的产物,利用单片机来实现电子琴是当前可取的措施,单片机作为电子琴的核心控制元件,在其中能够发挥非常重要地作用。
关键词:单片机 电子琴 弹奏
电子琴在我国还处在一种初期普及阶段,但是由于其具有功能强大、音色丰富、弹奏简单等特点因而得到了人们的喜爱,尤其是在音乐教学中得到了迅速推广。学习并掌握电子琴逐渐成为了人们一种非常重要的技能。从当前电子琴自身设计情况来看,还存在着一定不足,在微型电子琴设计方面还是比较薄弱的。为了能够提升微型电子琴设计水平,本文将以单片机为主来进行科学设计。
在具体设计过程中首先是要明确系统总体框架,这是设计的首要步骤。本文主要是以单片机来实现微型电子琴沿轴功能。对于单片机而言主要工作是要利用定时/计数器T0来产生不同频率脉冲信号,用户演奏过程中按下键盘演奏乐曲,此时单片机则应该根据用户案件来查到频率,从而发出正确乐音,通过这样一种形式把音乐通过扬声器发出。
在具体设计过程中,对于节拍主要是由用户来控制的。之所以进行这样的设计是因为单片机本身是没有足够驱动能力的,因而不能够通过音频脉冲直接驱动扬声器输出,此时为了满足需要就应该采用音频功率放大电路。从实际出发,本文选择LM386低压音频功率放大器。
(一)硬件设计。在具体设计过程中硬件设计主要指的是各种模块电路设计,对于这些模块电路进行设计是保证微型电子琴正常运行的重要前提。具体模块电路设计主要是表现在以下几个方面:
键盘扫描电路。对于键盘扫描电路的扫描往往是通过线反转法和行扫描法两种方式来实现,在实际设计过程中本文主要采用的是行扫描法。先是在P20到P23循环送出扫描信号,而后是在P24到P27上的输入按键上输入高低电平信息传送给单片机。最后就是根据行列信号来判断哪个按键被按下,确定之后在发送给主程序从而来实现不同功能。在键盘扫描电路设计过程中经常是会出现毛刺现象的,为了能够有效消除毛刺通常是要采用延时重复扫描法。这种方法实际上在操作过程中就是当有按键被单片机检测到动静之后就应该延时10ms-20ms之后再来看电平能否保持原来的状态,如果能就说明是有效的,相反则是无效的。
AT89S52电路设计。这是非常关键的设计内容,对于单片机模块电路的设计要高度重视,这一电路设计水平将直接影响到具体设计效果。当用户按下键盘之后,单片机主程序会读取键盘扫描程序返回的键盘码,通过根据该码就能够查到乐音-音频对应表,进而能够得到乐音定时器初始值以及数码管显示编码,在输出之后将能够得到相应控制单元,最终将会产生不同振动频率。
音频处理电路。在对音符信号处理的过程中之所以要加设功率放大装置,主要是因为单片机驱动不够。低功耗、高增益、低功耗输出是LM386的基本特征,这些特征也符合单片机要求。因此要加设可靠的音频信号放大器。
晶振电路。单片机定时控制主要是利用内部时钟和外部时钟两种方式来实现,本文选取的是内部时钟方式。从实际情况来看XTAL1、XTAL2是单片机内部反相放大器输入及输出端,在外面还设置有定时反馈元件,这样就能够组成振荡器。单片机控制器的控制节拍同时钟频率是成正比的。
时钟频率。单片机内部有时钟振荡电路。单片机工作主要是由时钟频率来驱动的,可见时钟频率在其中扮演着非常重要地角色。对此必须要进行科学设计。在具体设计过程中通过外接振荡源,那些位于单片机内部的各个单元就能够受到时钟信号,它的振荡频率决定了单片机工作速度。通常情况下是要选择石英晶体振荡器来作为外部振荡源电路的。此时往往是电路在通电时延迟10ms之后,振荡器才能够起振。
(二)软件设计。软件设计实际上就是要对电子琴各种程序来进行科学设计,通过对这些程序进行设计来最终实现对电子琴的有效控制。
为了能够真正使得微型电子琴能够科学运转,在工作中还应该科学实现系统各项内容,具体而言主要是包含以下方面:
音乐节拍的实现。在系统中音高主要是取决于发音物体振动频率高低,通常情况下频率低音高就低,频率高音高就高。在具体实现音的过程中主要是利用定时器来实现。系统中的定时器0处在工作模式0状态时,记时时长通常是要根据发音频率来确定的,对于定时器计数初值通常是通过频率值来推算出来的。节拍控制是实际控制的重要内容,节拍主要是利用单片机延时功能来实现。在播放音乐的时候,节拍设置在程序设计过程中就应该充分考虑。
键盘扫描按键程序的实现。在具体工作中要观察琴键是否被按下,当有被按下的情况是就应该记录键值同时还应该跳转到功能转移程序,没有的时候就应该继续监测琴键。对于那些被检测到的琴键值还应该进行准确判断处理,如果判断它是琴键,此时就应该跳转到琴键处理系统程序。当检查过程中发现是功能键的时候就应该跳转到相应功能处理程序上。这样做是非常重要的。
音乐处理模块实现。对于音乐处理模块而言,在具体设计过程中主要是利用定时/计数器T0,工作模式则采用的是1.通常情况下在改变TL0和TH0的计数值之后就能够生成不同频率的脉冲信号。在启动脉冲分配子程序之后,首先要做的就是要初始化程序。
微型电子琴的研究与实现是一项专业工作,为了能够真正做好这项工作就应该进一步加强对单片机的研究,通过对单片机性能的分析是进一步提升微型电子琴性能的重要手段。本文重点是分析了基于单片机的微型电子琴的设计与实现,为了能够实现上述功能,在具体设计过程中就应该进行科学设计。
参考文献:
[1]周琛晖.基于AT89S51单片机的电子琴设计[J].电脑知识与技术,2009(9)
[2]施众.Protues在单片机学习领域教学中的应用[J].漳州职业技术学院学报,2010 (10)
[3]张世正,王维.电子琴控制芯片设计方法的研究[J].上海师范大学学报,2014(5)