摘 要:
游戏是儿童的天性,同时也在孩子们的童年中扮演着“启蒙老师”的角色,对儿童的身也发展起到至关重要的作用。当前电子玩具在市场上供不应求,电子琴玩具就是一个非常好商机。电子琴经过上百年的发展,其设计生产技术已经趋于成熟。近几年儿童玩具的微型电子琴研究具有广阔的市场前景。该文通过单片机AT89C1发声原理制定微型电子琴系统设计方案。首先,通过编程控制单片机产生不同频率来获取音阶。其次,设计基于单片机的微型电子琴的整体模型。最后,对整个系统进行仿真测试和调试。系统运行过程中可以演奏不同乐曲以及模拟各种大自然音响,如生日快乐歌、两只老虎、雨滴声、叮咚门铃声等,取得了较好的控制效果。
关键词:
单片机 电子琴 Proteus 音阶
单 片 机 又 称 单 片 微 控 制 器 ( S i n g l e - C h i pMicrocomputer),就是将微处理器、存储器(程序存储器ROM或数据存储器RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上。由于它具有重量轻、体积小、功能强、可靠性高、性价比高等特点,因此几乎渗透到工业和日常生活的各个领域,如,数据传输与通讯、数据处理、仪表控制、实时控制以及程控玩具等。
随着人们对精神生活越来越重视,音乐渐渐进入了人们的生活。传统乐器是由机械振动产生的声音的,如空腔谐振、膜的振动、弦的振动等;而电子琴是通过控制脉冲信号的频率来产生音源。电子琴因其操作简单,携带方便,价格较低廉,且能逼真地模拟各种传统乐器的音色以及各种大自然音响,如钢琴、雨滴声、叮咚门铃声等,而深受音乐爱好者和消费者的喜欢。如今电子技术和电子计算机技术的快速发展,为电子乐器的产生和发展,提供了广阔的空间。特别是大规模集成电路技术的高度发展,使得电子琴在音域上超出钢琴、风琴、小提琴等传统乐音电子琴成为可能。可以说,电子琴是是音乐和计算机技术相结合的产物,既满足人们对精神生活的追求,又符合科技发展的规律。
该文设计一种微型电子琴模型及其演奏系统,采用单片机AT89C51作为控制芯片,并配以键盘和蜂鸣器实现该系统。其主要原理为:通过编程控制单片机的定时/计数器T0
产生各种不同频率的脉冲信号来驱动蜂鸣器发声,并通过控制蜂鸣器驱动信号的变化规律,即可实现的微型电子琴的演奏功能。
1 仿真环境
Proteus软件是英国著名的EDA工具(仿真软件),由LabCenter Electronics公司出版。是由PCB设计、实时交互仿真及电子应用系统设计组成的最先进的平台
,集EDA工具软件的仿真功能和单片机及外围器件的仿真为一体。
从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
Proteus软件的功能特点为主要有下几点。
(1)不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此,这种仿真弥补了实验和工程应用间脱节的矛盾
。
(2)同时支持模拟电路和数字电路仿真,可以利用系统提供的虚拟的输入输出器件或设备,如开关、按钮、键盘、发光二极管、数码管、LCD 显示器及图形仪表等直观实现信息的输入输出交互。
(3)支持第三方集成编译软件,如IAR、Keil和MPLAB等多种编译器,进行高级语言的源码级仿真和调试[6]
。
综上所述,Proteus软件具有开发周期短、设计成本低、实现效率好和竞争力强等特点,是目前比较好的仿真单片机及外围器件的工具,很大程度上为电子产品的开发提供了帮助。该控制系统采用Proteus8.7进行仿真。
2 控制系统建模与仿真
2.1 控制系统模型建立
通过分析微型电子琴控制系统的设计要求,硬件电路选用单片机AT89C51作为核心器件,建立单片机最小系统电路,然后设计出完整的控制系统原理框图及仿真模型。该控制系统是采用单片机AT89C51作为控制芯片,通过定时/计数器T0
产生各种不同频率的脉冲信号,来实现的微型电子琴的演奏功能,单片机时钟频率为12MHz。系统中通过按下S1~S8共8个按钮开关来演奏乐曲,单片机通过键盘扫描电路判断出是哪个按钮被按下,并通过查表得到相应按钮的频率,然后通过编程实现不同的音阶,最后通过扬声器播出音乐。
2.2 键盘扫描电路
键盘电路的原理图包括S1~S8共8个按钮开关,按钮-音阶对照关系为:按钮S1-S8分别对应中音Do、中音Re、中音Mi、中音Fa、中音So、中音La、中音Si、中音Si、高音Do。键盘扫描电路扫描方式有两种:
(1)常用的行扫描法;
(2)速度较快的线反转法。该系统采用行扫描法,需要完
的工作如下。
(1)采用软件延时,调用延时子程序实现去抖处理,并判断是否有键按下。
(2)根据反馈给单片机的信号确定是哪个按钮被按下,并发送给主程序,以实现相应的功能。
2.3 晶振电路
晶振电路的原理图包含一个晶振和两个电容。其中电容是帮助振荡器起振和微调振荡器的频率,一般情况下其值均为30pF。
2.4 复位电路
复位电路的原理图包括电源,0.1微法电容,100K电阻和复位按钮。
2.5 仿真测试
在Keil C51中编写微型电子琴的软件控制程序。首先,编写源程序(微型电子琴. c),对源程序进行调试、编译。直至编译通过后,在Keil C51中点击“option for target”按钮,打开相应对话框,选择“Outpu”选项卡,勾选“Creat HEXfile”选项,以生成可执行HEX文件(微型电子琴. hex)。其次,在Proteus中搭建微型电子琴控制系统仿真模型,并将Keil C51产生的HEX文件(微型电子琴. hex)下载到单片机中,选中 AT89C51芯片,单击左键从编辑属性窗口中增加“微型电子琴. hex”文件即可。最后,点击Proteus工具栏的“Debug”下拉菜单中的“Run simulation”按钮或点击左下角的快捷键,开始运行仿真系统。
运行过程中演奏不同乐曲以及模拟各种大自然音响,如生日快乐歌、两只老虎、雨滴声、叮咚门铃声等,取得了较好的控制效果。
3 结语
该文建立了一种基于单片机的微型电子琴模型,该微型电子琴控制系统包括AT89C51模块电路、键盘扫描模块电路、复位电路、晶振电路、电源模块电路等。采用KeilC51编写微型电子琴控制程序,并下载到单片机中,最后利用Proteus8.7软件对控制系统电路进行仿真测试和调试。通过演奏不同乐曲以及模拟各种大自然音响,表明该微型电子琴有较好的控制效果,实现了电子琴的简单、低成本的控制方法。