您当前的位置:五五电子网电子知识单元电路娱乐-游戏电路采用AT89S52设计的多功能电子琴 正文
采用AT89S52设计的多功能电子琴

采用AT89S52设计的多功能电子琴

点击数:7313 次   录入时间:03-04 11:54:21   整理:http://www.55dianzi.com   娱乐-游戏电路

 以AT89S52单片机为控制核心而制作的多功能电子琴,具有结构简单、性能可靠、易于调试等特点。
  
  因此,既可以作为职业院校学生的单片机实训项目.也可以供单片机爱好者进行参考。在功能方面,该设计具有音乐弹奏、音乐播放和音乐回放等特色.并能对音量进行调节,同时还能显示当前工作的模式及弹奏的音符。
  
  一.系统组成及工作原理
  
  系统由硬件及软件两部分组成。硬件部分主要完成音符输入、播放模式切换、播放歌曲切换、音量调节、显示等功能。软件部分主要完成信号的检测与处理、设备的控制与驱动。控制核心AT89S52单片机查询当前的按键输入信号,并进行相应的控制与显示。系统整体结构框图如下图所示。

系统整体结构框图

  三、硬件电路设计
  
  1.电源控制部分
  
  本设计利用LM7805三端集成稳压电路输出5v电压,给电路提供稳定的工作环境,如下图所示。由于LM7805有2V压降,因此理想输入电压为7V~12V。利用二极管4007保护电路,以免电源正负端接反而造成器件烧毁。

电源控制


  
  2.核心控制部分
  
  核心控制电路由AT89S52单片机进行控制,采用12MHz的晶振,如图3所示。本设计中P1.O—P1.2口接三个LED灯,作为模式显示.PO.O~P0.7和P2.6、P2.7分别作为两个数码管的段码及位码的信号输出。P3.0~P3.7作为4x4矩阵键盘弹奏模块的输入,P2.O-P2.4作电子琴的音量控制端。

核心控制电路


  
  3.弹奏模块部分
  
  弹奏模块用4x4矩阵键盘如下图所示。本设计采用行列扫描法对按键进行扫描判断。先判断按键出现在第凡列,再在相应列中对每一行进行判断。具体做法如下:先检测第一列的四行中是否出现低电平,如果没有出现,则分别对第二、三、四列依次进行扫描检测。这时,如果某一列出现低电平,则再检测低电平出现在该列哪一行,然后返回检测的键值。当按下播放键时,进入播放状态,在播放状态下可进行歌曲的上一曲、下一曲切换。再次按下播放键,可停止音乐的播放。按下弹奏键,进入弹奏模式,分别按1~7,可发出相应的琴音,同时按下高音或低音按键,则发出所按音符的高音或低音。再次按下弹奏按键,返回弹奏模式。
  
  当按下回放按键时,可进行弹奏曲目的回放。在任意模式下可通过vo1+键或vo1一键进行音量的大小调节。

弹奏模块用4x4矩阵键盘


  



www.55dianzi.com

  4.显示控制部分
  
  用3个不同颜色的发光二极管分别表示电子琴三种不同的工作模式。红灯亮时表示工作模式为音乐播放功能,黄灯亮时表示工作模式为弹奏功能.蓝灯亮时表示工作模式为回放功能,且这三种工作模式在一个时刻只能有一种工作状态。音乐播放时.数码管显示播放曲目和音量,音量初始显示为8。进入弹奏功能时,数码管高位显示高音(1为低音,2为中音,3为高音)。数码管低位显示所弹奏的音符1~7。
  
  5.声音控制部分
  
  音调的产生原理是通过定时器的定时产生对应的频率,从而令喇叭发出相应的音调。本设计选用定时器1,在工作模式一下进行定时,从而产生所需音调。
  
  定时初值的计算如公式(3-1)所示:

12877

  fo为晶振振荡频率,即fo=12MHz。t为所需要的频率所对应的周期的一半。如下图所示。

频率所对应的周期


  
  这个方波脉冲的占空比为1:1,因此单片机输出高电平和低电平信号均为频率对应周期的一半。即t=T/2=1/2f(f为音调对应的频率)。
  
  定时器1的特殊功能寄存器中的初值如公式(3-2)、公式(3-3)所示:
  
  TH1=T/256    (3-2)
  
  TL1=T%256    (3-3)
  
  计算出定时初值,通过对单片机编程.使定时器Tl产生所需要的频率,该频率信号经放大输送给喇叭,由此产生相应的音调。
  
  节拍的形成是通过延时程序来实现的,定义一个延时程序作为基准。例如:设定十六分音符为产生n次延时,则八分音符要产生2n次延时,依此类推便可得到不同音符所对应的时长。通过改变基准时间的长短,便可以调节整体的快慢。
  
  该设计发声模块是通过单片机的定时来控制光耦的导通时间,从而使扬声器发出不同的音调。声音控制模块如下图所示。

声音控制模块


  
  单片机P2.4脚输出低电平时,即光耦②脚为低电平时,光耦导通,三极管8550饱和导通,供给扬声器的电压为LM317的输出电压。单片机P2.4脚输出高电平时,即光耦②脚为高电平时,光耦截止,三极管8550不导通,供给扬声器的电压为O。
  
  音量调节部分用CD4066进行控制,它由四个相互独立的双向开关组成,每个开关有一个控制信号,开关中的p和。器件在控制信号作用下同时开关。这种结构消除了开关晶体管阈值电压随输入信号的变化,因此在整个工作信号范围内导通阻抗比较低。
  
  与单通道开关相比,具有输入信号峰值电压范围等于电源电压以及在输入信号范围内导通阻抗比较稳定等优点。
  
  通过编写程序控制电子开关CD4066,从而控制加在扬声器上的电压,实现对音量的调节。
  
  LM317输出电压计算如公式(3-4)所示。
  
  U=1.2x( l+R/R15)V,Ris=240n( 3-4)
  
  因为O≤R≤R13+R14+R21+R22,即0≤R≤741,所以1.2V≤U≤4.905V。

  6.多功能电子琴系统电路图
  
  多功能电子琴系统电路图如下图所示。

多功能电子琴系统电路图



www.55dianzi.com

  三、系统软件设计根据上述分析和硬件原理图,软件设计的主要任务是根据用户的设定、程序进行相应的扫描与判断,从而驱动显示模块和声音控制模块进行相应的工作,软件流程如下图所示。
  
  程序先启动定时器O进行按键扫描和显示处理,并对音量进行调节,定时器O的定时时间为5ms,即每间隔Sms对按键扫描一次,并进行显示更新处理。通过定时器0的按键扫描判断播放、弹奏、回放键有没有按下。播放键按下,则进入播放功能。
  
  进入播放功能后,先判断播放键、上一曲键、下一曲键是否按下。如果播放键按下,则播放第一首歌曲,如果是上一曲,则歌曲序号减1,如果是下一首,则歌曲序号加l。再根据歌曲序号,播放相应歌曲。相应歌曲播放完后,如果没有超出总数,则歌曲数自动加1,再进行按键判断和歌曲播放。
  
  确定好播放曲目后,通过查表,进入具体曲目的音符播放,即播放音乐流程。放音乐时通过查表计算出相应音符的频率所对应的定时初值,赋值给定时器1的特殊功能寄存器,通过定时器1产生相应频率。
  
  弹奏键按下,则进入弹奏功能。
  
  通过按键扫描确定按下的按键并进行查表取得相应音符的频率,并将其储存,适过对定时器O的定时次数的计算来确定音符按下的时间,并记录下来。播放相应的音符,并将其进行存储,以待回放时查看。
  
  回放键按下,则进入歌曲回放功能。读出第一个音符和时值,查表查出相应的音调和音长。通过计算得到音符、音高、音长。如果为高音,则将查表得的该音符对应的中音频率左移一位(一个八度的音符频率正好差一倍).相应的,如果是低音,则将该频率右移一位。将相应音符进行播放,并用计算所得音长进行延时。

[1] [2]  下一页


本文关键字:电子琴  娱乐-游戏电路单元电路 - 娱乐-游戏电路

上一篇:电子铃电路