用51单片机写一个蜂鸣器播放音乐的代码
时间: 2024-01-24 21:05:34 浏览: 28
好的,这里给您提供一个简单的51单片机蜂鸣器播放音乐的代码。假设您的单片机型号为STC89C52,蜂鸣器连接在P1.5口。
```
#include <REG52.H>
void delay(unsigned int i) // 延时函数
{
while (i--);
}
void main()
{
unsigned char i;
while (1) // 循环播放
{
for (i = 0; i < 50; i++) // 播放DO
{
P1 |= 0x20; // P1.5输出高电平
delay(200); // 延时一段时间
P1 &= ~0x20; // P1.5输出低电平
delay(200); // 延时一段时间
}
delay(1000); // 停顿一段时间
for (i = 0; i < 50; i++) // 播放RE
{
P1 |= 0x20;
delay(180);
P1 &= ~0x20;
delay(180);
}
delay(1000);
for (i = 0; i < 50; i++) // 播放MI
{
P1 |= 0x20;
delay(160);
P1 &= ~0x20;
delay(160);
}
delay(1000);
for (i = 0; i < 50; i++) // 播放FA
{
P1 |= 0x20;
delay(150);
P1 &= ~0x20;
delay(150);
}
delay(1000);
}
}
```
这段代码会循环播放"DO RE MI FA"四个音符,每个音符播放50次,之间间隔1秒钟。您可以根据需要调整延时时间和音符频率。