您当前的位置:五五电子网电子知识电子制作娱乐电路基于AT89S52单片机的电子琴的设计 正文
基于AT89S52单片机的电子琴的设计

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

点击数:7975 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   娱乐电路

  本文介绍了结合AT89S52单片机设计出一个简易的电子琴。利用不同的方波频率来得到所需要的音阶。该电子琴成本低,结构紧凑,内置示例音乐,功能全面。适用于单片机初学者。通过本课题的训练可以引导学生对定时/计数器、行列式键盘、音符编码等知识进行综合应用。

  一.设计概况

  本设计通过采用4x4按钮组成16个按钮矩阵键盘,设计成16个音,用来随意弹奏想要表达的音乐。采用AT89S51单片机为主控元件、4x4矩阵键盘、LM386、扬声器(蜂鸣器)等作为音频输出元件。其原理方框图如下图所示。

54

  二.音乐产生的方法

  1.音频脉冲的产生

  一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来说产生不同的频率非常方便,我们可以利用单片机的定时/计数器TO来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。以单片机12MHz晶振为例,列出高中低音符与单片机计数TO相关的计数值下表所示。

54

  为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音O -19之间,中音在20 - 39之间,高音在40 - 59之间。(#:表示半音,用于上升或下降半个音。)

  2.音乐节拍的产生

54

  每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,上表为节拍与节拍码的对照表。如果1拍为0.4s,1/4拍是0.1s,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,那么1拍对应为4DELAY,以此类推。所以只要求得1/4拍的DELAY,其余的节拍就是它的倍数,下表为1/4和1/8拍的时间设定。

67

  三.硬件设计

原理图

  本设计的原理图如上图所示。

  1.主控电路

  电路由AT89S52单片机控制,采用12MHz晶振。用其P3口,P3.0—P3.7作为4×4矩阵键盘的I/O口。P1.0作为音频信号输出端口。

  2.行列式键盘

  行列式键盘(也称矩阵式键盘)适用于按键数目较多的场合,它由行线和列线组成,按键位于行列的交点上。一个3×3的行列结构可以构成一个有9个按键的键盘。同理,一个4x4的行列结构可以构成一个16键的键盘,很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/O口线。按键设置在行列线交点上,行列线分别接到按键开关两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由于此行线相连的列线电平决定。列线电平如果为低电平,则行线电平为低电平,列线电平如果为高电平,则行线电平为高电平。这是识别矩阵键盘按键是否按下的关键。于矩阵键盘中行列线为多键公用,各按键均影响该键所在行列的电平。因此各按键彼此将相互发生影响,所以必须将行列信号配合起来比做适当的处理,才能确定闭合键的位置。在本课题中,需要用到的按键比较多,所以采用了行列式键盘接口电路。如下图所示:

45

  3.音频输出电路

  本电路中采用LM386作为音频输出电路。LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。LM386引脚功能如下图所示。

56

  三.软件设计

  本设计采用单片机C语言进行编程,其参考程序见附表。

  四.调试

56

  根据原理图制作出的实物图如上图所示。该电路制作较为简单,调试时要注意LM386功放的使用方法。若想使用蜂鸣器发声,可在单片机P1.0口外接三极管驱动蜂鸣器,此处不做详述。

54

45

45

56

76

76




本文关键字:单片机  电子琴  娱乐电路电子制作 - 娱乐电路