导航:首页 > 操作系统 > 低成本单片机蜂鸣器

低成本单片机蜂鸣器

发布时间:2022-11-28 11:19:39

㈠ 怎么使用单片机控制蜂鸣器发声

蜂鸣器有两种,一种是无源的,另一种为有源的,确认的方法为:1)看封装,如果引脚端为PCB板的,一般为无源的,引脚端为树脂灌封的,一般为有源的。2)加电实验,用5V电压点击接触引脚时,只有“哒哒”声的为无源的,发出一个单音响的为有源的。
两种蜂鸣器用单片机的控制方法是一样的,对于无源的,要求单片机送出一组断续的音频信号,使蜂鸣器按要求发声,对于有源蜂鸣器,要求单片机送出一组断续的电脉冲信号,用于分断蜂鸣器的通断状态,而使有源蜂鸣器发出“嘀...嘀”,“嘀...嘀...嘀”等希望的声音。
无源蜂鸣器举例:
/**********************************************************************/
//声响驱动程序 BELL--整点报时(闹钟音两短一长)
/**********************************************************************/
void Beep(void)
{
uint a;//定义变量用于发声的长度设置
uchar b;
for(b=2;b>0;b--){
for(a=200;a>0;a--){//第一个声音的长度
beep = ~beep;//取反扬声器驱动口,以产生音频
Delay_1us(500);//音调设置延时
}
DelayM(1000);
}
for(a=1000;a>0;a--){//第一个声音的长度
beep = ~beep;//取反扬声器驱动口,以产生音频
Delay_1us(500);//音调设置延时
}
beep = 1;//音乐结束后扬声器关闭
}
有源蜂鸣器举例:
void main(void)
{
NB=0;//有源蜂鸣器初始不送电
while(1)
{
NB=0;//有源蜂鸣器断电

delay(300);//停一段时间
NB=1;//有源蜂鸣器送电
delay(1000);//响一段时间
}
}

㈡ 51单片机之蜂鸣器

      蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。我们开发板上常用的蜂鸣器就是常常说的交流蜂鸣器或直流蜂鸣器(自激式蜂鸣器)。 直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。脉冲就是高低电平的切换,如下图:一个方波脉冲



我们用单片机的IO口实现一种这样高低电平的方波,驱动蜂鸣器发音。我们板子上配的就是交流蜂鸣器。

     接下来我们看一下蜂鸣器的硬件电路:



蜂鸣器通过三极管驱动。我们利用杜邦线将蜂鸣器的一端J8连接到板子上P1.5管脚上。



 示例程序:

  #include "reg52.h"

  #include "intrins.h"

  typedef unsigned char uint8;

  typedef unsigned int  uint16;

  sbit beep = P1^5;

  void delay(uint16 i)

  {

  while(i--);

  }

  void main()

  {

while(1)

{

beep = ~beep;

delay(10);

}

  }

该程序实现蜂鸣器的响和停,程序较为简单,可以在此基础上进行扩展。

㈢ 无源蜂鸣器需要2K-5K方波驱动才能发声,那么,我该如何设计一款低成本的无源蜂鸣器驱动电路呢

为了节约成本,必须和有源蜂鸣器一样有一个振荡电路,而有源蜂鸣器主要使用LC振荡电路(即用电感L、电容C组成选频网络的振荡电路)。若实际搭建此电路,电感参数比较难以控制,而且成本较高。此时,自然会想到简易的由三极管组成的RC振荡电路。

㈣ 关于单片机蜂鸣器外围电路的工作原理的问题

1.当单片机的p1.7脚为低电平时,三极管Q1饱和导通,蜂鸣器通电鸣响。若单片机的p1.7脚为高电平时,三极管Q1截止,蜂鸣器没有电流就不鸣响。
2.那个电阻是限流电阻。限制流入单片机的电流。

㈤ 关于单片机的蜂鸣器

蜂鸣器有直流定压式的,给电就响。如果是这种蜂鸣器,你给的开关频率快,使蜂鸣器不能正常发声。
作电子琴的话不能用这种发声器。应该用扬声器,音箱上用的,只是功率小些0.8-3W的。

㈥ 单片机蜂鸣器请教大神

#include <reg51.h>
sbit k=P1^1;
sbit beep=P1^5;
#define uint unsigned int
#define uchar unsigned char
void delayms(xms)
{
uint m,n;
for(m=xms;m>0;m--)
for(n=110;n>0;n--);
}
void T0_int() interrupt 1
{
uint i;
TH0=(65536-dls/256;
TL0=(65536-dls)%256;
beep=~beep;
}
void main()
{
uint dls=500;
TMOD=0x01;
TH0=(65536-dls)/256;
TL0=(65536-dls)%256;
TR0=0;
EA=1;
ET0=1;
while(1)
{
TR0=0;
while(k==0)
{
TR0=1;
dls=500;
delay(100);
dls=1000;
delay(200);
}
}
}
}

㈦ 简易单片机蜂鸣器驱动电路

不会防止单片机IO输出的电压被拉低,只能起到保护三极管的作用。因为蜂鸣器是感性负载,在三极管关闭瞬间,会产生反向高压,电容在这里会吸收这个高压。

㈧ 单片机蜂鸣器

1、单片机与蜂鸣器连接图已附.
2、通常P1、P2、P3口都可以用来作为控制,P0口也可以,但因其内部无上拉电阻,所以外接时,应接一1K的上拉电阻,其他一样。有源蜂鸣器驱动电路设计,无须外加驱动电路。
3、C语言编程为:
#include<reg51.h>//头文件
sbit d1=P1^2;//位定义,把P1口的P1.2位设为驱动口,当然其它口也可。
void main()//主函数
{
d1=0//单片机默认状态为1,不用初始化了,此处直接赋值0则可驱动
};
此为最最简单的电路程序设计。下载后,蜂鸣器一会一直处于鸣叫状态。
你可以加一个延时函数,再把d1口置高,可让它,叫一下关闭。也可以加个while(1)大循环,让它“滴、滴”不停地叫。还可以设置一个按键,按一个亮一下。
随程序的变化,现象也会各不同。

㈨ 单片机驱动蜂鸣器电路

单片机驱动蜂鸣器电路如下:

㈩ 51单片机的蜂鸣器问题

#include<reg51.h>

sbit beep = P1^7;
char sss;
bit bbb;

//*****************************
void sleep(int ms) //延时
{
int i;
for(;ms > 0; ms--) for(i = 0; i < 124; i++);
}
//******************************
void init() //初始化定时器0
{
TMOD = 0x01;
TH0 = (65535 - 50000) / 256;
TL0 = (65535 - 50000) % 256;
TR0 = 1;
ET0 = 1;
EA = 1;
}
//*******************************
void main()
{
char i;
init(); // 中断
while(1) {
if (bbb) { //蜂鸣器发出多.
bbb = 0;
for (i = 0; i < 124; i++) {
beep = ~beep;
sleep(1);
}
}
}
}
//********************************
void TIMER0() interrupt 1
{
TH0 = (65535 - 50000) / 256;
TL0 = (65535 - 50000) % 256;
sss++;
if (sss == 20) {
sss = 0;
bbb = 1;
}
}
//********************************

阅读全文

与低成本单片机蜂鸣器相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163