51单片机音乐源代码
时间: 2023-07-24 18:16:09 浏览: 70
以下是一个简单的51单片机音乐播放器的源代码:
```c
#include <reg52.h>
// 定义端口
sbit SPK=P1^5; // 蜂鸣器控制端口
// 定义音符频率
#define C4 262
#define D4 294
#define E4 330
#define F4 349
#define G4 392
#define A4 440
#define B4 494
// 延时函数
void Delay(unsigned int t)
{
unsigned int i;
while(t--)
{
for(i=0; i<100; i++);
}
}
// 发声函数
void Play(int tone)
{
unsigned int n;
n=1000000/tone;
while(n--)
{
SPK=~SPK;
Delay(1);
}
}
// 主函数
void main()
{
while(1)
{
Play(C4); // 发出C4音
Delay(500); // 延时500ms
Play(D4); // 发出D4音
Delay(500); // 延时500ms
Play(E4); // 发出E4音
Delay(500); // 延时500ms
Play(F4); // 发出F4音
Delay(500); // 延时500ms
Play(G4); // 发出G4音
Delay(500); // 延时500ms
Play(A4); // 发出A4音
Delay(500); // 延时500ms
Play(B4); // 发出B4音
Delay(500); // 延时500ms
}
}
```
在这个代码中,我们使用了一个简单的延时函数和一个发声函数。发声函数通过控制蜂鸣器的正负电压来发出不同频率的声音。在主函数中,我们按照C大调音阶发出了一串简单的音符。当然,你可以根据自己的需要修改代码中的音符频率和延时时间,来实现更加复杂的音乐播放器。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)