51单片机蜂鸣器音乐代码
时间: 2023-07-02 10:24:10 浏览: 125
以下是一个简单的在51单片机上使用蜂鸣器播放音乐的代码示例:
```c
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P1^5;
// 延时函数
void Delay10ms(uint c)
{
uchar a,b;
for(; c>0; c--)
for(b=2; b>0; b--)
for(a=112; a>0; a--);
}
// 发声函数
void Beep(uint f, uint t)
{
uint i;
for(i=0; i<t; i++)
{
beep = 1;
Delay10ms(f);
beep = 0;
Delay10ms(f);
}
}
void main()
{
uchar i;
uint music[8] = {262, 294, 330, 349, 392, 440, 494, 523}; // 音符频率表
while(1)
{
// 播放简单的音阶
for(i=0; i<8; i++)
{
Beep(music[i], 100);
}
Delay10ms(1000);
}
}
```
这个代码示例定义了一个 `Beep` 函数,用来控制蜂鸣器发声。在主函数中,我们定义了一个简单的音阶,然后循环播放这个音阶。你可以根据自己的需要修改音符频率表和播放顺序来演奏不同的曲子。
阅读全文