基于单片机的简易电子琴设计
2018-10-21李佳琪
摘 要:本文以AT89S52单片机作为核心控制元件,利用单片机内部计数器产生不同的频率输出产生音阶,设计键盘及蜂鸣器为外围电路,制作了一款简易电子琴。
关键词:单片机;电子琴
电子琴是现代电子科技与音乐结合的产物,是一种键盘乐器,在现代音乐扮演着重要的角色,本文主要对电子琴原理进行了分析,设计制作出一款简易电子琴。
一、系统硬件设计
系统整体结构框图设计如下:
(一)单片机控制模块
主控芯片选择AT89S52单片机,低功耗8位微控制器,具有8K在系统可编程Flash存储器。
(二)键盘输入部分
本系统中设计8个按键,分别代表不同的音符。用P2口接独立键盘,软件消除抖动处理,并能准确判断所需执行的相应程序。
(三)蜂鸣器
蜂鸣器本身相当于一个喇叭,需要一个频率适当的交流信号驱动才能发声,三极管在蜂鸣器中,和压电陶瓷片组成一个自激式振荡电路,压电陶瓷片同时充当反馈元件和发声元件两个功能。
二、软件设计及实现
音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率组合,加上拍数对应的延时从而构成音乐。
單片机程序主要实现的功能:产生一定频率的方波一般是先将某口线输出高电平,延迟一段时间后再输出低电平。通过改变延迟时间可以改变单片机的输出方波的频率。
例如低3MI音,频率为330Hz,其周期T=1/f=1/330=3030us,计数值N=3030/2=1515,所以每计数1515次P1.0反向。计数初值T=65536N=64021。C调的各音符频率与计数值T的对照表如下表所示。
89S52单片机内部设有两个16位的可编程定时器/计数器,本设计选用计数器中断模式,寄存器设置的步骤如下:
(1)确定工作方式(即对TMOD赋值);
(2)预置定时或计数的初值;
(3)设置计数器的中断(直接对IE位赋值);
(4)启动定时器/计数器。
当有按键按下时,打开定时器,并且把对应的值输入到定时器中断程序,定时器就会按照不同的周期溢出,使单片机引脚输出不同频率的方波,从而使蜂鸣器发出不同的声音,然后关闭定时器。等待下次按键。
三、实验结果
通过实验成功实现了不同按键对应的8个音阶,达到预期实验目标。简易电子琴实物图:
四、总结
本文根据电子琴设计原理,理解掌握了声音频率等知识,设计一款简易的电子琴实验制作,能够通过按键实现不同音乐的音阶。
参考文献:
[1]雷思孝.单片机原理及使用技术[M].西安电子科技大学出版社.
[2]单片机的C语言应用程序设计(第四版)北京航空航天大学出版社.
[3]C语言程序设计[M]第二版.清华大学出版社.
[4]单片机原理及接口技术[M].北京航空航天大学出版社.
[5]8051单片机C语言应用[M].科学出版社,2002.
[6]张永枫.单片机应用实训教程[M].西安电子科技大学出版,2005.
[7]谢自美.电子线路设计、实验、测试.华中理工大学出版社,2000.
作者简介:李佳琪(1999),女,汉族,四川成都人,学生,高中。