电路图由最小单片机系统和蜂鸣器组成,蜂鸣器一端接地,另一端接引脚。
注意:接P1,P2,P3上的引脚时,使用上图连接方式即可,接P0时需要加一个上拉电阻。
根据音乐简谱和表中数据可写出代码。
#include<reg51.h>
sbit sounder=P2^1;//具体根据要求改动
unsigned char song_tone[]={80,71,63,80,80,71,63,80,63,60,53,63,60,53,106,47,106,60,63,80,106,47,106,60,63,80,80,53,80,80,53,80,0};
unsigned char song_long[]={12,12,12,12,12,12,12,12,12,12,24,12,12,24,6,3,6,3,12,12,6,3,6,3,12,12,12,12,24,12,12,24,0};
void delay(unsigned int n)
{
unsigned int i;
for(i=0;i<n;i++)
{
;
}
}
void playmusic()
{
unsigned int i=0,j;
while(song_tone[i]!=0||song_long[i]!=0)
{
for(j=0;j<song_long[i]*20;j++)
{
sounder=1;
delay(song_tone[i]);
sounder=0;
delay(song_tone[i]);
}
i++;
}
}
void main()
{
while(1)
{
playmusic();
}
}