蜂鸣器驱动(单片机蜂鸣器驱动电路图)
蜂鸣器按结构分为压电蜂鸣器和电磁蜂鸣器 。压电型是压电陶瓷片的发音,电流比较小,电磁蜂鸣器是线圈通电振动的发音,体积比较小 。
根据驱动方式分为主动蜂鸣器和被动蜂鸣器 。这里,主动和被动不是指电源,而是振荡源 。有源蜂鸣器内部有一个振荡源,如图1所示 。当蜂鸣针处于低电平时,蜂鸣器将直接鸣响 。但是被动蜂鸣器内部没有振荡源,所以只有在500 Hz到4.5 kHz之间的脉冲频率信号驱动下才会发声 。主动蜂鸣器往往比被动蜂鸣器贵,因为里面振荡电路多,驱动发音也简单,可以按级别驱动,而被动蜂鸣器更便宜,而且被动蜂鸣器的声音频率可以控制,音阶和频率有明确的对应关系,所以我们可以制作“do re mi fa sol拉斯”的效果,用来制作简单的音乐曲目,比如生日歌、二虎等 。
图1蜂鸣器电路示意图
让我们看看图1中的电路 。蜂鸣器电流还是比较大的,所以需要三极管驱动,增加了一个100欧姆的电阻作为限流电阻 。此外,增加了一个D4二极管,称为续流二极管 。我们的蜂鸣器是感应装置 。当三极管导通给蜂鸣器供电时,会有传导电流流过蜂鸣器 。我们知道,电感的一个特点就是电流不能突然变化,接通时电流逐渐增大,这是没有问题的 。但在关断时,“电源-三极管-蜂鸣器-地”的电路被切断,没有电流可流,那么储存的电流去哪里了,也就是通过D4和蜂鸣器本身的回路消耗掉,避免了关断时电感电流带来的反向冲击 。持续关断时的电流,这就是续流二极管名称的由来 。
蜂鸣器常用于电脑、打印机、万用表等设备发出提示音 。提示音一般都很简单,就是简单的发出声音 。我们只是用程序发出一个4KHZ频率的声音和一个1KHZ频率的声音 。学生可以自己研究程序,并比较实际结果 。
#包括
sbit buzz = p1^6;//蜂鸣器控制引脚
无符号字符T0RH = 0;//T0过载值的高字节
无符号字符T0RL = 0;//T0过载值的低字节
void OpenBuzz(无符号int frequ);
void StOpBuzz();
void main(){ 0
无符号整数I;
TMOD = 0x 01;//将T0配置为在模式1下工作,但还不要启动 。
EA = 1;
While (1){ //使能全局中断
OpenBuzz(4000);//以4千赫的频率启动蜂鸣器
for(I = 0;我40000;i++);
stop Buzz();//停止蜂鸣器
for(I = 0;我40000;i++);
OpenBuzz(1000);//以1千赫的频率启动蜂鸣器
for(I = 0;我40000;i++);
stop Buzz();//停止蜂鸣器
for(I = 0;我40000;i++);
}
}
/*蜂鸣器启动功能,频率-工作频率*/
void OpenBuzz(无符号int frequ){ 0
无符号整数重载;//计算所需的定时器过载值 。
reload = 65536-(11059200/12)/(frequ * 2);//根据给定频率计算定时器过载值
T0RH =(无符号字符)(重载8);//16位重载值分解为高字节和低字节 。
T0RL =(无符号字符)重载;
TH0 = 0xFF//设置一个接近溢出的初始值,这样定时器就可以立即投入运行 。
TL0 = 0xFE
ET0 = 1;//使能T0中断
TR0 = 1;//开始T0
}
/*蜂鸣器停止功能*/
void StOpBuzz(){ 0
ET0 = 0;//禁用T0中断
TR0 = 0;//停止T0
}
/* T0中断服务功能,用于控制蜂鸣器鸣响*/
void中断定时器0()中断{ 1
TH0 = T0RH//重载值
TL0 = T0RL
BUZZ = ~ BUZZ//反转蜂鸣器控制电平
}
另外,用蜂鸣器输出音乐只是为了好玩,其应用很少 。里面包含了量表和分数的相关内容,程序有点复杂,就不详细给大家解释了 。能玩二虎的节目只有一个 。可以下载到板子上玩,满足好奇心 。
#包括
sbit buzz = p1^6;//蜂鸣器控制引脚
无符号整数代码NoteFrequ[] = {//对应于中音1-7和高音1-7的频率列表
23,587,659,698,784,880,988//alto 1-7
047、1175、1319、1397、1568、1760、1976//高音1-7
};
无符号int code note reload[]= {//对应中音1-7和高音1-7的定时器重载值 。
6536-(11059200/12)/(523 * 2),//alto 1
65536 - (11059200/12) / (587*2), //2
65536 - (11059200/12) / (659*2), //3
65536 - (11059200/12) / (698*2), //4
65536 - (11059200/12) / (784*2), //5
65536 - (11059200/12) / (880*2), //6
65536 - (11059200/12) / (988*2), //7
6536-(11059200/12)/(1047 * 2),//高音1
65536 - (11059200/12) / (1175*2), //2
65536 - (11059200/12) / (1319*2), //3
65536 - (11059200/12) / (1397*2), //4
65536 - (11059200/12) / (1568*2), //5
65536 - (11059200/12) / (1760*2), //6
65536 - (11059200/12) / (1976*2), //7
推荐阅读
- 【养生常识】鹅蛋跟鸡蛋的营养有什么区别 鹅蛋跟鸡蛋哪个营养价值高
- 孕妇挺着大肚子还想做 漂亮的孕妇
- 网上怎么找人结伴旅游 驴友的意思
- 大义灭亲的简短故事 大义灭亲的故事
- 一招去除喉咙里的痰 嗓子有痰咳不出
- 烟火游戏两个电话号码是多少,知道的都在这里了
- 我的侠客峨眉派天赋搭配推荐,让您技能天下无双
- 我的侠客峨嵋拳搭配攻略,成为攻无不克的玩家
- 如何科学的选择即热式电热水器?
- 我的侠客一周目玩法攻略,猜你喜欢