基于Proteus的单片机电子琴的设计

2014-11-16 07:03和丽花张海龙
中国新技术新产品 2014年11期
关键词:电子琴音调按键

和丽花 张海龙

(焦作市技师学院电气工程系,河南 焦作 454003)

AT89C51单片机作为该控制系统的核心元件,利用其强大的控制功能和灵活的编程语言,借助Proteus仿真软件与Keil程序调试软件相结合的实验平台,通过4×4点阵式键盘电路和扬声器实现16个音调的音频信号的输出。本系统运行稳定,电路简单,软件功能完善,控制系统可靠,性价比高等特点,具有一定的实用和参考价值。

1 Proteus软件简介

Proteus 软件的功能非常强大,具有电路设计、PCB电路制版及仿真等多种功能,不仅能够对电工、电子技术学科涉及的电路进行设计与分析,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩,是近年来广大电子设计爱好者难得的一个工具软件。

2 工作原理

本系统是采用单片机控制实现的16键电子琴。采用Proteus软件制作的电子琴工作原理,如图1所示。控制要求:16个键是按照自上而下,从左到右的顺序触发系统,输出3~4的16个音调的音频信号,并将其显示。当按下16个键中的某一个键时,键码有P3口输入到单片机,单片机就识别外部被按键的键码,查询该键码在键码表中所

在的相对位置,并将键码由P0口输出到数码管中显示,并用相对位置从简谱表中取出相应的简谱码,用取出的简谱码去控制系统,由P1.0输出相应的音频信号,直到键被松开才停下来。

3 硬件设计

单片机作为电子琴控制系统的核心部件,经过精心考虑,本系统采用了美国ATMAL公司生产的产品AT89C51单片机。整个电路由单片机最小应用系统,4×4点阵式键盘电路,键码显示电路,音频输出电路组成。4×4点阵式键盘电路,将16个按键排成4行4列,分别将每一行的每个按键的一端连接在一起构成行线,将每个按键的另一端连接在一起构成一根列线,这样便一共8根线并连接到单片机的P3口上,通过程序扫描键盘可检测16个按键,4×4点阵式键盘电路。键码显示电路是由1位共阴极数码管组成,该电路是用来显示单片机从16位简易键盘输入数据后转换成的键码,即当按下“KEY0~KEYF”中的其中一个时,显示电路显示相应的“0~F”的字符。

4 软件设计

4.1 音调控制。 当键盘子程序扫描到有键按下并得到“0~F”键码时,程序将取出一个与该键音调对于的16位数据作为定时器T0的计数初值,从而控制硬件电路输出相应音调的音频信号。

4.2 音频输出控制。 音频输出时通过定时中断并每中断一次取反一次输出的方式来实现的,在此是采用控制T0工作方式来实现的。

4.3 简谱码的编制。本系统时利用定时器T0工作方式(16位计数器)的定时中断不断的对输出位取反而振荡产生音频信号。因此,中断的频率是音频频率的1/2, 从而根据各音调的频率计算出16 位(方式1)计算初值,这里的计数初值就称为简谱码。如“3.”的频率f=330HZ,工作方式1计数单元的最大值为65536。则简谱码(计数初值)=65536-(T/2)106=65536-106(2×330)=64021,同理可将其他音调的简谱码编制出来。根据16个键按照键码在键码表中的顺序.触发系统,输出3.~4的16个音调的音频信号的控3.4.制要求,以及编输出~的16个音调的简谱码,并将0~F的顺序排列,即可得到简谱码表。

TABLE2:

DW 64021,64103,64260,64400,64524,64580,64684,64777

DW 64820,64898,64968,65030,65058,65110,65157,65178

4.4 程序设计。程序设计采用模块化编程方法。软件由主程序、子程序和定时中断服务程序组成。主程序和子程序完成按键扫描、显示功能;定时中断服务程序用于实现音频振荡输出功能,并实时更新显示数据。

5 仿真调试

基于Proteus与Keil软件相结合所构建的实验平台,利用Proteus软件制作的电子琴工作原理图。通过Keil软件编制的程序并将其编译成目标代码文件(即*.HEX),进入Proteus软件制作的电子琴工作原理图,双击单片机AT89C51,弹出“编辑元件属性”对话框,在“Program File”栏中选择要加载的目标代码文件,然后点击确定,最后,返回Proteus主界面,点击软件左下角的“运行”控制按钮并执行仿真功能,按照控制要求进行控制便可以在电子琴工作原理图上看到最终的运行效果,运行效果图

结语

基于单片机的电子琴控制系统的设计,AT89C51单片机作为该控制系统的核心元件,以Proteus仿真软件与Keil程序调试软件相结合构建的实验平台,既可以模拟单片机控制电路的运行效果又可以大大的降低设计成本、缩短设计周期。本系统运行稳定,电路简单,软件功能完善,控制系统可靠,性价比高等特点,具有一定的实用和参考价值,解决了实验和工程应用间脱节的矛盾。对单片机系统设计有很大的帮助。

[1]Proteus软件英文简介.

[2]李朝青,等.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005.

[3]周立功,陈明计,王祖麟,等.项目驱动--单片机应用设计基础[M].北京:北京航空航天大学出版社,2011.

猜你喜欢
电子琴音调按键
基于有限状态机的按键检测程序设计
基于AT89C51单片机的电子琴设计
听力障碍幼儿音调异常矫治的实施建议
刘涛《音调未定的儒家——2004年以来关于孔子的论争·序》
一种多方向导光按键结构设计
电子琴
按键的多种状态检测及消抖处理方法
解析某型号手机按键检测程序的缺陷
越南女教师肌紧张性发声障碍对完成音调靶点基频的影响