|
/********************************************************************
功能:
蜂鸣器试验,发出每个音符
*********************************************************************/
#include <reg52.h>
#define uint unsigned int
sbit beep=P2^7;
uint sound[]={262,294,330,349,392,440,494,523,587,659,
698,784,880,988,1046,1175,1318,1397,1568,1760,1976}; // 音调频率数据表
void delay(uint t)
{
while(t--);
}
void main()
{
uint t,i;
while(1)
{
for(i=0;i<21;i++)
{
t=0;
while(t<sound[i]/2) //声音持续时间根据音调频率不同,调整对应时长
{
beep=~beep;
delay(10000/sound[i]*10); //频率转换为周期
t++;
}
delay(50000); //每个音符之间的间隔时间
}
}
} |
|