51单片机蜂鸣器程序是什么?

要蜂鸣器3次长音2次短音... 要蜂鸣器3次长音 2次短音 展开
 我来答
迷你手工老张
高粉答主

2019-05-27 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:29.3万
展开全部

51单片机蜂鸣器程序为:

#include"reg52.h"

typedef unsigned char u8;

typedef unsigned int u16;

sbit beep=P1^5;

void delay(u16 i)

{

while(i--);

}

void main()

{

while(1)

{

beep=~beep;

delay(1000);//控制音调频率

beep=~beep;/控制声音大小

delay(10);

}

}

扩展资料:

BUZZER蜂鸣器的分类:

1、按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器)。

2、按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器。

3、按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器)。

4、按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变。

电磁式蜂鸣器,主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜

由于两种蜂鸣器发音原理不同,压电式结构简单耐用但音调单一音色差,适用于报警器等设备。而电磁式由于音色好,所以多用于语音、音乐等设备。

宿兴电子
2024-11-28 广告
如果是有源蜂鸣器的话很简单,只需要按照对应的电路给出电平(比如PNP驱动的只要给出低电平即可),无源的麻烦一点,需要给一定频率的方波才能发声,增强型51可以直接使用PWM,普通51可以使用定时器模拟PWM进行驱动,网上的例子很多,多看就行了... 点击进入详情页
本回答由宿兴电子提供
enthusiasticww
推荐于2019-08-27 · TA获得超过1.1万个赞
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:1.6万
展开全部

#include<reg51.h>
sbit buzzer = P1^0   ;声明区
void delay(int)   ;
void pulse_BZ(int,int,int);声明函数void main(void)
{
while(1)
{
pulse_BZ(500,1,1);  调用发声
delay(1000);        延时1000 X 0.5ms
pulse_BZ(500,1,1);
delay(1000);
pulse_BZ(500,1,1);
delay(1000);
pulse_BZ(200,1,1);
delay(1000);
pulse_BZ(200,1,1);
delay(1000);
}
}void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<60;j++);
}void pulse_BZ(int count;int TH;int TL)
{
int i;
for(i=o;i<count;i++)    //循环count次,时间count x 1ms
{
buzzer=1;               //此程序段产生1HZ 信号
delay(TH);
buzzer=0;
delay(TL);
}
}

51单片机蜂鸣器

开关C语言程序:

sbit P2^0=KEY;
sbit P2^1=BEEP;
unsigned char KEYNUM=0;

void main()
{
while(1)

{
if(KEY==0)//开关按下;

{
KEYNUM++;

}

if(KEYNUM==1)//第一次按下;

{
BEEP=1; //蜂鸣器响

}

if(KEYNUM==2)/第二次按下;
{
BEEP=0; //蜂鸣器不响
KEYNUM=0;
}

}

}

51单片机,编写延时程序,控制蜂鸣器发声:

很简单的
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit fengmingqi=P0^0; //声明IO口
void delay(uint x)//延时子函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=50;j>0;j--);
}
void main(void)
{

while(1) //循环
{
fengmingqi=1; //p0.0口高电平,蜂鸣器发声
delay(500); //延时
fengmingqi=0; //p0.0口低电平,蜂鸣器不发声
delay(500); //延时
}
}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啦啦啦啦崔小净
2019-12-21 · TA获得超过6045个赞
知道小有建树答主
回答量:659
采纳率:100%
帮助的人:15.7万
展开全部
#include <REGX51.H>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit buzzer=P2^0;
uchar temp[4]={4,0,2,0};
uchar n=1;
void delay250uS(void)//延时250us
{
unsigned char a,b;
for(b=19;b>0;b--)
for(a=5;a>0;a--);
}
void main(void)
{
uchar i=0,n0=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
TR0=1;
while(1)
{
n0=n;
if(n0!=0)
{
if(++i==temp[n])i=1;
if((i==1)|(i==temp[n]/2))buzzer=~buzzer;
delay250uS();
}

}
}
void Timer0Interrupt(void) interrupt 1
{
static uchar temp1=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++temp1==10)
{
if(++n==4)n=0;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
势白曼Py
2019-12-21 · TA获得超过193个赞
知道答主
回答量:359
采纳率:14%
帮助的人:25.9万
展开全部
蜂鸣器经常用于电脑、打印机、万用表这些设备上做提示音,提示音一般也很简单,就是简单发出个声音就行,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式