标题:
单片机有源蜂鸣器试验程序(带电路图)
[打印本页]
作者:
cqxkj201851
时间:
2019-2-23 00:26
标题:
单片机有源蜂鸣器试验程序(带电路图)
今天给大家带来的是入门教程:利用stc89c52驱动有源蜂鸣器不同频率发声
蜂鸣器是一种一体化结构的电子讯响器,采用
直流电压
供电,广泛应用于计算机、打印机、复印机、报警器、
电子玩具
、汽车电子设备、电话机、
定时器
等电子产品中作发声
器件
。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。
结构原理
蜂鸣器
1.电压式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声
压电蜂鸣片
[1]
由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
2.电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声
电路原理图如下:
0.png
(39.94 KB, 下载次数: 88)
下载附件
2019-2-23 00:59 上传
单片机源程序如下:
#include<reg52.h>
#define on 0
#define off 1
sbit fm = P2^3;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--) //i=xms????xms??
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
//第一段渐变式鸣笛 20毫秒→200毫秒→500毫秒→1秒→500毫秒→200毫秒→20毫秒→
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = on;
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = on;
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(1000);
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(1000);
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(1000);
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(1000);
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(1000);
fm = on;
delay(1000);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(500);
fm = on;
delay(500);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(200);
fm = on;
delay(200);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
fm = off;
delay(20);
fm = on;
delay(20);
}
}
复制代码
所有资料51hei提供下载:
不同频率的蜂鸣器实验.zip
(65.63 KB, 下载次数: 27)
2019-2-23 00:25 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1