什么是蜂鸣器?
蜂鸣器的内部应该是什么样的
其芯片内设电路如此:
那我们应该怎么用编程驱动蜂鸣器
P2_5=1; 或者 P2_5=0时,是无法发出响动的,只有在这周期内控制1,0的变化,或者翻转 P2_5=!P2_5;才能控制 代码实现
#include <REGX52.H>
#include "Delay.h"
sbit BEEP=P2^5;
void main(){
while(1)
{
BEEP=!BEEP;
Delay(1);
}
}
其中的延时函数Delay如下
void Delay(unsigned int xms)
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
即可实现基本的调用蜂鸣器响动
如何控制蜂鸣器音色或者声音大小变化
涉及占空比
占空比:电路接通(高电平)占一个周期的比重
代码示例
BEEP=1;
Delay(3);
BEEP=0;
Delay(2);
· **** 注意到:蜂鸣器响动的频率为1.5k-5khz-及一个周期应该匹配2ms-6、7ms 所以注意延时函数的设置。