导航:首页 > 操作系统 > 单片机蜂鸣器驱动程序

单片机蜂鸣器驱动程序

发布时间:2023-05-12 14:17:59

A. 急求无源蜂鸣器的驱动程序,单片机是51的

无源蜂鸣器驱动薯旦,只需定时将尘衫管脚2端电平取反即可
如让其响1S,频率约500HZ,可用软延时
uint i;
for(i=0;i<1000;i++)
{
P1^0=~P1^0;
delay_ms(1);
}
如果想长时间响,并且还不占用CPU,可以用定派手腔时器实现定时中断取反

B. 单片机驱动蜂鸣器的程序,原理不懂,为什么能用定时器工作方式1来驱动

用定时器的工作方式1是用其16位的数据,也就是说数据范围是最大的,可以做到频率更精确,TR0在子程序PlayMusic里面,因为是播放音乐,所以需要较为严格的控制定时器的启停,所以没有开始初始化时就打开定时器。

C. 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);

}

  }

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

D. 求51单片机蜂鸣器程序

#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);
}
}

E. 关于单片机驱动蜂鸣器发出滴滴的声音的程序怎么写

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0;
sbit K1=P1^7;
//发声函数,注意这里是用扬声器,不能用普通的蜂鸣器
void Alarm(uchar t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++); //由参数t行成不同的频率产生不同的声音
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}

F. 单片机驱动蜂鸣器电路

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

G. 单片机驱动无源蜂鸣器的C程序问题

void delay();
void main()
{
PORTD = 0xFF;
DDRD = 0xFF;//初始化 AVR的不知道是不是这样的
while(1)
{
int i;
for(i=0;i<3;i++)
{
PORTD=0x01;//蜂鸣器IO
_delay(X);//x为响一次“滴”键世的时型亮嫌间
}
PORTD=0x00;
delay(Y);//Y为你所说的 间隔1S想一次(改变Y值 调试你要的1s或用你的延时函数里的
}
}
void delay(int t)
{
int i,j;
for(i=0;i<卜手t;i++)
for(j=0;j<300;j++);
}

H. 怎么用单片机C语言编写驱动蜂鸣器发出7个音的电路图和程序代码(最好有解释)。

搜:
基于51单片机的4×4矩阵键盘电子琴

网络一下。

I. C51 单片机控制蜂鸣器程序

把2个蜂鸣器的频率各写成一个函数。
然后主函数里这样写
if (key1 == 0)
"执行1蜂鸣器频率"

else if (key2 == 0)
"执行2蜂鸣器频率"

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

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);

}

}

(10)单片机蜂鸣器驱动程序扩展阅读:

BUZZER蜂鸣器的分类:

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

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

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

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

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

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

阅读全文

与单片机蜂鸣器驱动程序相关的资料

热点内容
苹果手机头条app怎么没有tv 浏览:563
电脑qq文件夹怎么发不出去 浏览:613
解压小游戏测试钻石剑的硬度 浏览:962
java结束函数 浏览:622
打开远程桌面的命令 浏览:836
树莓派如何搭建mqtt服务器 浏览:587
怎么加密w8文件 浏览:609
linuxprogram 浏览:708
php接口编程思想 浏览:92
如何下载电话软件app 浏览:906
java命令行解析 浏览:572
云服务器白嫖 浏览:917
程序员小清新 浏览:989
编译器地址8字节对齐 浏览:464
三菱plc编程win1064 浏览:258
高中英语单词pdf 浏览:425
编译原理词法分析常见问题 浏览:197
车小艺app怎么更新 浏览:77
手机app被管控如何移除 浏览:753
51单片机温湿度检测 浏览:575