有了前期准备工作,今天开始绘制原理图。
在选择器件的时候我放弃了传统的STC89c52单片机,我选择了STC15W408AS。我的原则是:高效,简单。当然,如果你用前者,只要稍微修改下程序和管脚定义,也是完全可行的。
由于后者是1T单片机,在这之前我计算了一下定时器的最大定时时间:
1 / 12000000 * 65536 = 0.00546秒
前面列表的最低频率是196Hz,单个脉冲时间是:
1 / 196 / 2 = 0.00255秒
由于 0.00255秒 < 0.00546秒,所以按照前面的思路利用16位定时器产生脉冲是可行的。当然,即便是用8位定时器我们也可以通过累加等办法实现长定时。
-
单片机的电路:

核心器件——单片机电路原理图
由于这款单片机内部具有复位、时钟等电路,所以外围非常简洁。只需要供给2.4~5.5V范围内的工作电压就可以。
另外就是串口*载下**程序的接口。需要准备一块USB转串口的小板即可实现PC*载下**程序代码。
利用一个管脚P2.6(别的空脚都可以)来输出方波信号。
-
控制电路:
对于琴键(这里用按键代替),本来我们计划用4*4键盘,考虑到以实验和学习为目的,暂时不需要做的太费时间,就只作12个按键,而且可以不用按键,用一根导线接地的金属笔(硬导线之类),碰触单片机管脚就可以实现音乐的演奏。

按键电路原理图
如上图,如果是试验为目的,可以不接按键,直接用金属笔的导线接到R1电阻即可。单片机管脚比较密,也可以连线出来接到焊盘上。当然,用按键还是用起来方便。没有定式,灵活一些就可以。
-
输出电路:
下面给出简单的无源蜂鸣器电路:

蜂鸣器控制电路原理图
使用这个电路的目的是为了制作简单,当然也可以用功放加喇叭。
上图中采用的是无源蜂鸣器,供电好的情况下,电阻R3不要也可以正常工作。由于蜂鸣器内阻比较小,例如40欧姆,那么在5V供电下,电流可以达到5 / 40 = 0.125A,125mA对于电路的冲击也是不小的,特别是供电内阻比较大的电源,所以串接一个小阻值的电阻可以减低对电路的影响。但是也会降低效率,使声音变小,所以其阻值不需要太大,可根据实际情况选择调整。
Q1采用NPN三极管,单片机的信号输出脚需要设置成强推挽输出,蜂鸣器的供电可以高于单片机供电;对于89C52单片机,需要换成PNP三极管,而且蜂鸣器供电不能高于单片机供电;如果换成AVR或者430单片机,一般不能用PNP三极管,因为这些单片机的管脚输出高电平可能低于自身供电电压,其电压差足以致使三极管导通。
-
参考供电电路:

简单的供电电路原理图
上图是电池供电或者USB供电采用的电路,没有稳压电路。对于供电电路,可以灵活运用,手头有什么电源,只要满足要求就可以使用。当然,单片机使用的是稳压电源,不能用简单的整流电源。上面采用的是单片机和蜂鸣器共用电源,因此电源的电流要求不小于200mA。单片机供电电压根据实际采用的型号决定,考虑到蜂鸣器的供电电压一般在5V,所以尽量用5V,实际3.3V也可以正常工作。
我是春天,今天我们简单绘制了“基于51单片机的电子琴”原理图,遵循的原则是“制作要简单”,欢迎您能提出更好的建议和想法,我们一同实践初学单片机的乐趣。。。