您好, 访客   登录/注册

基于单片机的微型电子琴建模

来源:用户上传      作者:

  摘 要:游戏是儿童的天性,同时也在孩子们的童年中扮演着“启蒙老师”的角色,对儿童的身也发展起到至关重要的作用。当前电子玩具在市场上供不应求,电子琴玩具就是一个非常好商机。电子琴经过上百年的发展,其设计生产技术已经趋于成熟。近几年儿童玩具的微型电子琴研究具有广阔的市场前景。该文通过单片机AT89C1发声原理制定微型电子琴系统设计方案。首先,通过编程控制单片机产生不同频率来获取音阶。其次,设计基于单片机的微型电子琴的整体模型。最后,对整个系统进行仿真测试和调试。系统运行过程中可以演奏不同乐曲以及模拟各种大自然音响,如生日快乐歌、两只老虎、雨滴声、叮咚门铃声等,取得了较好的控制效果。
  关键词:单片机 电子琴 Proteus 音阶
  中图分类号:TP36 文献标识码:A 文章编号:1672-3791(2019)01(b)-0-02
  单片机又称单片微控制器(Single-Chip Microcomputer),就是将微处理器、存储器(程序存储器ROM或数据存储器RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上。由于它具有重量轻、体积小、功能强、可靠性高、性价比高等特点,因此几乎渗透到工业和日常生活的各个领域,如,数据传输与通讯、数据处理、仪表控制、实时控制以及程控玩具等[1-2]。
  随着人们对精神生活越来越重视,音乐渐渐进入了人们的生活。传统乐器是由机械振动产生的声音的,如空腔谐振、膜的振动、弦的振动等;而电子琴是通过控制脉冲信号的频率来产生音源。电子琴因其操作简单,携带方便, 价格较低廉,且能逼真地模拟各种传统乐器的音色以及各种大自然音响,如钢琴、雨滴声、叮咚门铃声等,而深受音乐爱好者和消费者的喜欢。如今电子技术和电子计算机技术的快速发展,为电子乐器的产生和发展,提供了广阔的空间。特别是大规模集成电路技术的高度发展,使得电子琴在音域上超出钢琴、风琴、小提琴等传统乐音电子琴成为可能。可以说,电子琴是是音乐和计算机技术相结合的产物,既满足人们对精神生活的追求,又符合科技发展的规律。
  该文设计一种微型电子琴模型及其演奏系统,采用单片机AT89C51作为控制芯片,并配以键盘和蜂鸣器实现该系统。其主要原理为:通过编程控制单片机的定时/计数器T0产生各种不同频率的脉冲信号来驱动蜂鸣器发声,并通过控制蜂鸣器驱动信号的变化规律,即可实现的微型电子琴的演奏功能。
  1 仿真环境
  Proteus软件是英国著名的EDA工具(仿真软件),由Lab Center Electronics公司出版。是由PCB设计、实时交互仿真及电子应用系统设计组成的最先进的平台[3],集EDA工具软件的仿真功能和单片机及外围器件的仿真为一体。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
  Proteus软件的功能特點为主要有下几点。
  (1)不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此,这种仿真弥补了实验和工程应用间脱节的矛盾[4]。
  (2)同时支持模拟电路和数字电路仿真,可以利用系统提供的虚拟的输入输出器件或设备,如开关、按钮、键盘、发光二极管、数码管、LCD 显示器及图形仪表等直观实现信息的输入输出交互[5]。
  (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 HEX file”选项,以生成可执行HEX文件(微型电子琴. hex)。
  其次,在Proteus中搭建微型电子琴控制系统仿真模型,并将Keil C51产生的HEX文件(微型电子琴. hex)下载到单片机中,选中 AT89C51芯片,单击左键从编辑属性窗口中增加“微型电子琴. hex”文件即可。
  最后,点击Proteus工具栏的“Debug”下拉菜单中的“Run simulation”按钮或点击左下角的快捷键,开始运行仿真系统。
  运行过程中演奏不同乐曲以及模拟各种大自然音响,如生日快乐歌、两只老虎、雨滴声、叮咚门铃声等,取得了较好的控制效果。
  3 结语
  该文建立了一种基于单片机的微型电子琴模型,该微型电子琴控制系统包括AT89C51模块电路、键盘扫描模块电路、复位电路、晶振电路、电源模块电路等。采用Keil C51编写微型电子琴控制程序,并下载到单片机中,最后利用Proteus8.7软件对控制系统电路进行仿真测试和调试。通过演奏不同乐曲以及模拟各种大自然音响,表明该微型电子琴有较好的控制效果,实现了电子琴的简单、低成本的控制方法。
  参考文献
  [1] 郇玉龙.单片机实验教学仿真系统的设计与开发[D].山东师范大学,2008.
  [2] 邱侦毅.基于FreescaleMCgS12系列单片机开发板的设计[D].南昌大学,2011.
  [3] 常育新,李曼,郝刚,等.Proteus 环境下的硬件设计[J].现代工业经济和信息化,2018(16):36-37.
  [4] 王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012,31(5):88-91.
  [5] 朱敏玲,张伟,侯凌燕.基于Proteus的微机原理与接口技术教学改革[J].实验室研究与探索,2016,35(1):155-160.
  [6] 陈飞,顾启民,王伟.基于Proteus和Keil的项目教学法在单片机教学中的应用[J].实验科学与技术,2013,11(5):48-52.
转载注明来源:https://www.xzbu.com/8/view-14685447.htm