蜂鸣器
采用直流电压供电、用于发声。 主要分为压电式蜂鸣器、和电磁式蜂鸣器。 电磁式蜂鸣器:需要提供脉冲信号。 压电蜂鸣器:只需要提供电源。 开发板使用的是压电蜂鸣器
程序
硬件电路分析
由电路图可知 使用 ULN2003D 放大电流。 蜂鸣器一端已经接入VCC、所以BZ需要输入0(由ULN2003D电路图可知、取反)-》P25(原理图上写错了 不是P15)输入1。 并且蜂鸣器需要连续输出信号。(代码写while里) 输出1KHZ的声音、1ms 分为 1和0、1 0.5毫秒、0 0.5毫秒
代码实现
1.让蜂鸣器发声2秒、停止2秒、循环...
#include <REGX52.H>
#include "Delay.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit BEEP = P2^5;
void delay_10us(u16 ten_us){
while(ten_us--);
}
/**
*
* @brief 1KHZ响两秒
* @param
* @retval
*/
void BZ2S(){
u16 i=0;
//1s
while(i<2000){
BEEP=!BEEP;
//延时越低 音调越高
delay_10us(50);
i++;
}
//1s
i=0;
while(i<2000){
BEEP=!BEEP;
//延时越低 音调越高
delay_10us(50);
i++;
}
}
void main()
{
u8 flg = 1;
while(1)
{
BZ2S();
BEEP = 0;
Delay(2000);
}
}