附件中有,keil,Proteus文件,及 电子琴设计指导书等。
设计中,选用两种工作模式:试音与弹奏。通过两个按钮控制选取,并有相应的指示灯指示工作状态。
试音用于测试系统的可行性,选取童年歌曲“两只老虎”中的几句作为检测乐谱;弹奏模式下,通过4×4矩阵式键盘,完成美妙音乐的弹奏。操作者可以按相应的键,弹奏出特定的音乐,实现作曲与奏乐的完美体验。并且本设计中还添加了数码显示功能,用于显示实时的显示按下的键码,同时也与音符有内在的对应关系。
下面主要介绍,为何单片机可以实现美妙音乐的实时再现。 音乐实际上是有固定周期的信号。本设计理念将采用SST89C52的两个定时器(如T0,T1)控制信号的不定周期产生,从而实现音频的完美变化。内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。
在P3.7脚上输出方波周期信号,产生乐音;通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲。这样就做出了一台微型电子琴。
具体的音频控制原理如下:
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.7反相,然后重复计时再反相。就可在P3.7引脚上得到此频率的脉冲。