資源簡介
利用單片機編寫生日快樂歌,可以通過蜂鳴器來實現。
代碼片段和文件信息
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?BEEP=P3^7;
//生日快樂歌的音符頻率表,不同頻率由不同的延時來決定
uchar?code?SONG_TONE[]={212212190212159169212212190212142159
2122121061261591691901191191261591421590};
//生日快樂歌節拍表,節拍決定每個音符的演奏長短
uchar?code?SONG_LONG[]={93121212249312121224
93121212121293121212240};
//延時
void?DelayMS(uint?x)
{
uchar?t;
while(x--)?
for(t=0;t<100;t++);
}
//播放函數
void?PlayMusic()
{uint?i=0jk;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{?//播放各個音符,SONG_LONG為拍子長度
for(j=0;j
{
BEEP=~BEEP;
//SONG_TONE延時表決定了每個音符的頻率
for(k=0;k
}
DelayMS(100);
i++;
}
}
void?main()
{
BEEP=0;
while(1)
{
PlayMusic();?//播放生日快樂
DelayMS(300);?//播放完后暫停一段時間
}
}?
/**************************************************************************
???
??????????SOUND?PLAY?FOR?51MCU
??
- 上一篇:ansys 接觸設置
- 下一篇:粒子群算法工具箱
評論
共有 條評論