51单片机蜂鸣器唱歌的c语言代码
时间: 2024-11-24 11:25:20 浏览: 9
以下是51单片机蜂鸣器唱歌的C语言代码:
```
#include <reg52.h>
sbit beep = P2^3; //定义蜂鸣器控制口
void delay_ms(unsigned int ms) //延时函数
{
unsigned int i, j;
for(i = 0; i < ms; i++)
for(j = 0; j < 110; j++);
}
void main()
{
unsigned char k = 0;
while(1)
{
switch(k)
{
case 0: beep = 1; delay_ms(500); beep = 0; delay_ms(500); break;
case 1: beep = 1; delay_ms(200); beep = 0; delay_ms(200); break;
case 2: beep = 1; delay_ms(400); beep = 0; delay_ms(400); break;
case 3: beep = 1; delay_ms(600); beep = 0; delay_ms(600); break;
case 4: beep = 1; delay_ms(800); beep = 0; delay_ms(800); break;
case 5: beep = 1; delay_ms(1000); beep = 0; delay_ms(1000); break;
case 6: beep = 1; delay_ms(1200); beep = 0; delay_ms(1200); break;
case 7: beep = 1; delay_ms(1400); beep = 0; delay_ms(1400); break;
default: break;
}
k++;
if(k > 7) k = 0;
}
}
```
以上代码中,使用了一个无限循环,每次循环都会切换蜂鸣器的状态,实现唱歌的效果。具体的唱歌曲调可以通过调整延时时间和切换顺序来实现。
阅读全文