基于单片机的乐曲演奏器文献综述
2020-04-10 16:11:15
电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它有具有现代音乐,特别是电子音乐、电脑音乐的基本结构和特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
电子琴设计方法的发展历史及现状:(1)基于数字电子技术的简易电子琴设计。简易电子琴可以利用数字电路产生不同频率信号驱动扬声器来实现,利用数字电路来产生C调的低、中、高二十一个音阶。对于固定简单功能的实现,数字电路具有结构简单、实现方便、产生频率稳定、成本低、低廉等优点。在数字电路中,可以用施密特多谐振荡器产生频率稳定的方波,该电路结构简单、操作方面,是制作简单电子琴很不错的选择。(2)基于模拟电子技术的简易电子琴的设计。首先,如果将七个音阶的低音、中音、高音对应的频率的输出。通过放置RC桥式振荡电路,也就是由RC串并联组成的选频网络和一套由集成运放OPO7CP构成的电压负反馈放大电路组成的放大电路。其次,放置电压控制器,采用一个定值电阻和一个滑动变阻器串联,并将滑动变阻器接地,在这两个电阻之间接入一个由集成运算放大器(例如TL084ACD)构成的电压跟随器。最后,放置功率放大器,对微弱信号进行放大。(3)基于EDA技术的简易电子琴的设计。系统实现是用硬件描述语言verilog按模块化方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲。系统设计采用自顶向下的设计方法,由乐曲演奏模块、音调发生模块和数控分频模块三部分组成。乐曲演奏原理:组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。(4)基于微机原理的简易电子琴的设计。对于特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变换的数据,在其输出端即可产生正弦波。按下某键后发音时间的长短可以由发出的正弦波的个数多少来控制。七段数码管采用共阴极,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。(5)基于单片机的简易电子琴的设计。当有按键按下的时候,单片机接收到是那个按键按下,从而扬声器显示发音,并在液晶显示器上显示所发的是七个音符里的哪一个,同时按键附近的灯随之也亮起来。
本设计将采用AT89C51芯片实现乐曲的演奏。AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,可为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。
硬件原理图的绘制需要使用Proteus软件,Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
代码的调试需要使用Keil软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
参考文献:
[1] 李全利等.单片机原理及应用[M],北京:清华大学出版社,2006.
[2] 张毅刚. 单片机原理及接口技术[M].北京:人民邮电出版社,2011.
[3] 陈忠平.51单片机C语言程序设计经典实例[M],北京:电子工业出版社,2012.
[4] 黄智伟.基于NI Multisim的电子电路计算机仿真设计与分析[M].北京:电子工业出版社,2010.