51单片机播放音乐程序
时间: 2023-12-21 15:04:58 浏览: 105
51单片机的音乐播放程序
以下是51单片机播放音乐的程序:
```c
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
// 音符频率数组
uint code fre[] = {0, 262, 294, 330, 349, 392, 440, 494, 523};
// 延时函数
void delay(uint i)
{
while (i--);
}
// 播放音符
void play(uint f)
{
uint i, t;
t = 5000 / f; // 计算延时时间
for (i = 0; i < t; i++)
{
P1 = ~P1; // 通过改变P1口电平来控制蜂鸣器发声
delay(100); // 延时一段时间
}
}
void main()
{
uchar i, j;
while (1)
{
for (i = 1; i <= 8; i++) // 播放八个音符
{
for (j = 0; j < 50; j++) // 每个音符播放50次
{
play(fre[i]); // 播放音符
}
delay(1000); // 每个音符之间延时一段时间
}
}
}
```
阅读全文