首页 接线图文章正文

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

接线图 2024年04月29日 12:24 186 admin

  本文介绍基fAT89S51单片机设计的一款简易电子琴,利用不同的方波频率得到所需要的音阶。

  一、设计概况
  
  用4x4按钮共16个按钮键盘设计成16个音,以随意弹奏想要表达的音乐,系统框图如下图所示。

基于AT89S51单片机的电子琴设计  第1张

  二、音乐的产生
  
  1.音频脉冲的产生
  
  一首音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率,可以利用不同的频率组合,来构成所想要的音乐,也可以利用单片机的定时,计数器T0来产生这样的方波频率信号。也就是说.只要把一首歌曲的音阶对应频率关系弄正确即可。以51单片机采用12MHz晶振为例.列出高中低音符与单片机计数TO相关的计数值如表1所示。

基于AT89S51单片机的电子琴设计  第2张

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

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

基于AT89S51单片机的电子琴设计  第3张

基于AT89S51单片机的电子琴设计  第4张


  
  三、硬件设计本
  
  设计的电路如下图所示。

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

  2.行列式键盘行列式键盘(也称矩阵式键盘)由行线和列线组成,按键位于行列的交点上。一个4x4的行列结构可以构成一个16键的键盘,按键设置在行列线交点上,行列线分别接到按键开关两端。行线通过上拉电阻接到+5v上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由于此行线相连的列线电平决定。列线电平如果为低电平,则行线电平为低电平,列线电平如果为高电平,则行线电平也为高电平。这是识别矩阵键盘按键是否按下的关键。于矩阵键盘中行列线为多键公用,各按键均影响该键所在行列的电平。

基于AT89S51单片机的电子琴设计  第5张

  因此各按键彼此将发生影响,所以必须将行列信号配合起来进行适当的处理,才能确定闭合键的位置。本课题需要用到的按键比较多,所以采用行列式键盘接口电路。基于AT89S51单片机的电子琴设计  第6张

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

  三、软件设计
  
  本设计采用单片机C语言进行编程。限于篇幅,其参考程序此处无法刊出。

  四、调试与总结
  
  根据原理图制作的实物如下 图所示。该电路制作简单。调试时,要注意LM386功放的使用方法。若想使用蜂鸣器发声,可在单片机Pl.0口外接i极管驱动蜂鸣器。

基于AT89S51单片机的电子琴设计  第7张

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349