蜂鸣器介绍
按照驱动方式可以分为有源蜂鸣器和无源蜂鸣器
蜂鸣器的工作原理
- 当P1.0引脚为高电平时,电流无法通过蜂鸣器,此时蜂鸣器不工作
- 当P11.0为低电平时,Q5工作在饱和区,电流从发射极流向集电极并通过蜂鸣器,此时蜂鸣器工作
实例与代码解析
- 包含头文件
#include <reg52.h>
- 位定义蜂鸣器
sbit BEEP = P1 ^ 0; // 定义蜂鸣器
- 宏定义蜂鸣器的开启和关闭
宏定义是一种预处理命令,实际上是一个名称替换命令
#define BEEP_ON BEEP = 0; // 宏定义开启
#define BEEP_OFF BEEP = 1;
- 编写延时函数
在蜂鸣器打开和关闭之间需要留有一定的间隔时间
static void DelayNms(int nms); // 内部函数声明
static void DelayNms(int nms)
{
unsigned int i, j;
for (i = 0; i < nms; i++)
{
for (j = 0; j < 123; j++)
{
}
}
}
- 编写主函数
void main ()
{
BEEP_ON; // 打开蜂鸣器
DelayNms(500); // 延时500ms
BEEP_OFF; //关闭蜂鸣器
while (1)
{
}
}