网站建设沟通话术,厦门网站推广步骤机构,烟台seo网站推广费用,自己做网站成本蜂鸣器实验
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成#xff0c;当接通电源后#xff08;1.5~15V 直流工 作电压#xff09;#xff0c;多谐振荡…蜂鸣器实验
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成当接通电源后1.5~15V 直流工 作电压多谐振荡器起振,输出 1.55kHZ 的音频信号阻抗匹配器推动压电 蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电 源后振荡器产生的音频信号电流通过电磁线圈使电磁线圈产生磁场振动膜 片在电磁线圈和磁铁的相互作用下周期性地振动发声。其实一句话就可概括它们之间的区别想要压电式蜂鸣器发声需提供一定 频率的脉冲信号想要电磁式蜂鸣器发声只需提供电源即可。这次我们使用的蜂鸣器是无源蜂鸣器属于压电式蜂鸣器类型。这里说 的有源和无源并不是指电源的意思而是指蜂鸣器内部是否含有振荡电路有 源蜂鸣器内部自带振荡电路只需提供电源即可发声而无源蜂鸣器则需提供一 定频率的脉冲信号才能发声频率大小通常在 1.5-5KHz 之间。 如图所示 前面我们使用IO口直接控制开发板上的LED灯那么蜂鸣器我们是否也可以使用IO口进行控制其实是不能的因为51单片机IO口的驱动能力较弱即使外接上拉电阻而蜂鸣器驱动需要约30MA所以非常困难即使可以驱动那对于整个芯片的其实IO剩下驱动能力就更加弱甚至无法工作。所以不能直接使用IO口来驱动蜂鸣器而是通过三极管把电流放大之后在驱动蜂鸣器。这样51单片机只需要提供不到1ma的电流就可以控制蜂鸣器。也常说51单片机是用来做控制的而不是驱动
从图中可以看出蜂鸣器控制管脚直接连接到 51 单片机的 P2.5 管脚上。图 中并没有使用三极管进行电流放大而是使用 ULN2003 芯片来驱动这里我们只需知道当 P25 输出高电 平BEEP 则输出低电平当 P25 输出低电平BEEP 则输出高电平类似一个非 门。 开发板上使用的是无源蜂鸣器它需要一定频率的脉冲高低电平才会发 声因此需要让 P25 脚以一定频率不断输出高低电平信号才能控制蜂鸣器发出声音。
实验一
#include reg52.h
sbit BEEP P2^5; //将P2.5管脚重新定义为BEEP
typedef unsigned int u16;//对系统默认数据类型重新命名
typedef unsigned char u8;void delay_10us(u16 ten_us){//延时函数当ten_us 1 是 延时大约10uswhile(ten_us--);
}
void main(){u16 i 2000;while(1){while(i--){//循环两千次BEEP !BEEP;//产生一定频率的脉冲信号delay_10us(100);//延时1ms}i 0;//清零循环参数BEEP 0;//关闭蜂鸣器}}若要改变音调可以修改延时时间但要注意频率不能太大或者太小具体大 家可以试着调试。若要改变音量可以修改 BEEP 输出高电平时间。如下
BEEP !BEEP;//产生一定频率的脉冲信号
delay_10us(100);//延时1ms
BEEP !BEEP;//产生一定频率的脉冲信号
delay_10us(190);
BEEP !BEEP;//产生一定频率的脉冲信号
delay_10us(50);