STM89C52蜂鸣器两只老虎代码
时间: 2023-07-23 20:05:20 浏览: 174
以下是一个在STM89C52单片机上使用蜂鸣器演奏《两只老虎》儿歌的代码示例:
```c
#include <reg52.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[7] = {523, 523, 587, 587, 659, 659, 0}; // 音符频率表
uchar timing[7] = {1, 1, 1, 1, 1, 1, 2}; // 音符时长表
while(1)
{
// 播放两只老虎
for(i=0; i<7; i++)
{
Beep(music[i], timing[i]*200);
}
Delay10ms(1000);
}
}
```
这个代码示例与前面的51单片机的代码基本相同,只需稍作修改即可在STM89C52上运行。你可以将代码下载到STM89C52单片机上,通过P1口的蜂鸣器引脚(这里假设为P1^5)输出声音,来演奏《两只老虎》儿歌的旋律。记得根据实际连接的蜂鸣器引脚进行相应的修改。
阅读全文