基于当前市场上的玩具需求量增大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件来实现电子琴的功能,从而可以实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
功能描述
1、采用51单片机作为主控芯片;
2、采用数码管显示高/中/低音标志及音号;
3、单片机产生不同频率来获得我们要求的音阶,实现高/中/低共21个音符的发音和显示,并且能自动播放程序中编排的音乐。
4、采用按键实现音符和音调的输入;
5、采用NPN三极管8550实现音频功率放大;
6、采用蜂鸣器进行播放“送别”。
按键说明
KEY1:切换中音模式/高音模式;
KEY2:切换中音模式/低音模式;
KEY3:播放音乐《送别》;
整体方案
电路设计
采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。
仿真设计
采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
主程序设计
void main (void)
{
uchar num;
ITimer0();
speak=0;
while(1)
{
key();
switch(keyport)
{
case 0xfe:num=1;break;
case 0xfd:num=2;break;
case 0xfb:num= 3;break;
case 0xf7:num= 4;break;
case 0xef:num= 5;break;
case 0xdf:num= 6;break;
case 0xbf:num= 7;break;
case 0x7f:num= 8;break;
default:num= 0;break;
}
if(num==0)
{
TR0=0;
speak=0;
}
else
{
high=fre[7*yinjie+num-1][1];
low=fre[7*yinjie+num-1][0];
TR0=1;
}
dtxs(yinjie,num);
}
}
源文件获取
关注公众号【电子开发圈】,首页发送 “电子琴” 获取;