AT89C51单片机歌曲一闪一闪亮晶晶的音乐代码
时间: 2023-07-09 22:06:30 浏览: 477
以下是一个简单的AT89C51单片机播放"一闪一闪亮晶晶"的音乐代码,需要注意的是,需要连接一个蜂鸣器或扬声器来播放音乐。
```
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code music[8]={0x43,0x43,0x47,0x47,0x4A,0x4A,0x47,0x0};//音乐代码
uchar i,j;
void delay_ms(uint time)
{
uint i,j;
for(i=time;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
for(i=0;i<8;i++)
{
for(j=0;j<music[i];j++)
{
P1=0xFE;
delay_ms(1);
P1=0xFF;
delay_ms(1);
}
delay_ms(200);
}
}
}
```
其中,`music`数组中存放了"一闪一闪亮晶晶"的音乐代码,每个元素代表了音符的持续时间。代码中通过循环遍历`music`数组,依次播放每个音符,同时使用`delay_ms`函数来控制每个音符的持续时间和两个音符之间的间隔时间。
需要注意的是,这个代码中使用的是P1口控制蜂鸣器或扬声器,如果你的硬件连接方式不同,需要相应地修改代码。
阅读全文