c51单片机按键控制蜂鸣器两只老虎
时间: 2023-12-11 12:04:31 浏览: 185
实验11. 按键控制蜂鸣器.zip
以下是C51单片机按键控制蜂鸣器播放“两只老虎”的代码:
```c
#include <reg52.h>
sbit beep = P2^3; // 定义蜂鸣器控制引脚
sbit key1 = P3^1; // 定义按键1控制引脚
sbit key2 = P3^0; // 定义按键2控制引脚
void delay(unsigned int i) // 延时函数
{
while(i--);
}
void playmusic() // 播放音乐函数
{
unsigned char i;
unsigned char code music[] = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x02, 0x01, 0x00}; // 音乐编码
for(i=0; music[i]!=0; i++)
{
beep = 1; // 发声
delay(music[i]*100); // 发声时间
beep = 0; // 停止发声
delay(100); // 停止时间
}
}
void main()
{
while(1)
{
if(key1 == 0) // 按键1按下
{
playmusic(); // 播放音乐
}
if(key2 == 0) // 按键2按下
{
beep = ~beep; // 蜂鸣器状态取反
delay(500); // 延时
}
}
}
```
阅读全文