⑴ 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);
}
}
(1)单片机怎么控制蜂鸣器扩展阅读:
BUZZER蜂鸣器的分类:
1、按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器)。
2、按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器。
3、按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器)。
4、按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变。
电磁式蜂鸣器,主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。
由于两种蜂鸣器发音原理不同,压电式结构简单耐用但音调单一音色差,适用于报警器等设备。而电磁式由于音色好,所以多用于语音、音乐等设备。
⑵ 单片机控制蜂鸣器产生发音
蜂鸣器的动作由P3.7控制。当输出低电平时蜂鸣器发出响声,输出高电平时不响,
------------------------------------
用电平控制的蜂鸣器,不适合发出不同的频率。
必须使用“输入周期性变化的电平信号才响”的蜂鸣器,才能控制频率。
⑶ 单片机蜂鸣器工作原理是什么哪位高手可以指教一下
蜂鸣器工作发声原理:
蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型。
无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出。
有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。
电路原理:PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开内部上拉电阻。
(3)单片机怎么控制蜂鸣器扩展阅读:
蜂鸣器的应用领域
蜂鸣器广泛应用领域:计算机行业(主板蜂鸣器,机箱蜂鸣器,电脑蜂鸣器)打印机(控制板蜂鸣器)、复印机、报警器行业(报警蜂鸣器,警报蜂鸣器)、电子玩具(音乐蜂鸣器)、农业、汽车电子设备行业(车载蜂鸣器,倒车蜂鸣器,汽车蜂鸣器,摩托车蜂鸣器)电话机(环保蜂鸣器)、定时器,空调,医疗设备等电声行业。
⑷ 单片机驱动蜂鸣器电路
单片机驱动蜂鸣器电路如下:
蜂鸣器经常用于电脑、打印机、万用表这些设备上做提示音,提示音一般也很简单,就是简单发出个声音就行,我们用程序简单做了个 4KHZ 频率下的发声和 1KHZ 频率下的发声程序代码如下:
#include
sbit BUZZ = P1^6; //蜂鸣器控制引脚
unsigned char T0RH = 0; //T0 重载值的高字节
unsigned char T0RL = 0; //T0 重载值的低字节
voidOpenBuzz(unsigned int frequ);
void StopBuzz();
void main(){
unsigned int i;
TMOD = 0x01; //配置 T0 工作在模式 1,但先不启动
EA = 1;
while(1){ //使能全局中断
OpenBuzz(4000); //以 4KHz 的频率启动蜂鸣器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鸣器
for (i=0; i<40000; i++);
OpenBuzz(1000); //以 1KHz 的频率启动蜂鸣器
for (i=0; i<40000; i++);
StopBuzz(); //停止蜂鸣器
for (i=0; i<40000; i++);
}
}
/* 蜂鸣器启动函数,frequ-工作频率 */
void OpenBuzz(unsigned int frequ){
unsigned int reload;//计算所需的定时器重载值
reload = 65536 - (11059200/12)/(frequ*2); //由给定频率计算定时器重载值
T0RH = (unsigned char)(reload >> 8); //16 位重载值分解为高低两个字节
T0RL = (unsigned char)reload;
TH0 = 0xFF; //设定一个接近溢出的初值,以使定时器马上投入工作
TL0 = 0xFE;
ET0 = 1; //使能 T0 中断
TR0 = 1; //启动 T0
}
/* 蜂鸣器停止函数 */
void StopBuzz(){
ET0 = 0; //禁用 T0 中断
TR0 = 0; //停止 T0
}
/* T0 中断服务函数,用于控制蜂鸣器发声 */
void InterruptTimer0()interrupt1{
TH0 = T0RH; //重新加载重载值
TL0 = T0RL;
BUZZ = ~BUZZ; //反转蜂鸣器控制电平
}
⑸ 在51单片机中怎样让中断控制蜂鸣器
让中断控制蜂鸣器,用定时器,一种应用是做电子钟,定点闹钟,整点报警都可以。第二种应用,用定时器控制蜂鸣器间断发声,产生各种效果。第三种应用是控制无源蜂鸣器,用定时器产生不同频率的信号,加到蜂鸣器上发出不同音调的声音。
⑹ 请问单片机三极管怎么控制蜂鸣器
首先,三极管是PNP,发射极E接5V,集电极C接蜂鸣器再接地是没错的,要导通的话是基极B接高电平就可以导通发声,低电平截止,而蜂鸣器如果是无源的话是由脉冲驱动的,因此,是需要在P3^7 I/O口输出脉冲就可以了,可以简单的利用软件延时实现,如果还有其他任务的话,还是用定时器吧,定时多久,定时中断就让I/O电平翻转一次就可以实现了,如果还要控制响度,再设定合适的占空比就可以实现了,这些都是很简单的,自己学习下“定时器”“占空比”相关的知识就知道了。
1.在这里,单片机只是相当于高速的开关一样,实现快速地打开或者关断蜂鸣器,电流要不了多大的,只要能驱动三极管就可以了,通常也就最多几个mA吧。
2.电流的话跟输出的频率和占空比都有关系吧,这个不用万用表测的话,只能大概估计了。
3.这里三极管不是放大作用,而是工作在饱和状态,相当于是开关,明白吗??
⑺ 怎样控制51单片机的蜂鸣器发出不同频率的声音
用定时器来产生频率,如产生100Hz的声音。
思路:
100Hz即每秒变换200次,每次的时间就是1/200秒=0.005秒=5毫秒。
计算定时器的初值:TH0 = 0x0EE; TL0 = 0x00;
#include <reg51.h>
sbit BEEP=P0^0;//蜂鸣器引脚
void main(void)
{
//初始化定时器(晶振:11.0592MHz,12T)
TMOD = 0x01;
TH0 = 0x0EE;//5毫秒中断一次
TL0 = 0x00;
EA = 1;//开总中断
ET0 = 1;;//开中断
TR0 = 1;//启动定时器
while(1);//死循环等蜂鸣器响。
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0EE;
TL0 = 0x00;
BEEP=!BEEP;//变换一次蜂鸣器
}
⑻ 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);
}
}
该程序实现蜂鸣器的响和停,程序较为简单,可以在此基础上进行扩展。
⑼ 单片机如何让点阵和蜂鸣器同时运行
单片机如何让点阵和蜂鸣器同时运行?单片机程序是依次运行的,扫描点阵后,控制蜂鸣器发声,速度快,人是分辨不出来的。理论同时运行也是可以的,比如说用串行,用74hc595,多片。74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器。并由Q7'输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。74hc595串联,输出点阵和蜂鸣器控制信号,控制使能端,就能同时运行点阵和蜂鸣器了。
⑽ 怎么控制单片机让蜂鸣器发出我想要的声音
蜂鸣器分为有源和无源,如果是有源蜂鸣器,直接把控制蜂鸣器的IO输出一个高电位就OK了,如果是无源蜂鸣器,把控制蜂鸣器的IO输出一个高,如果是2K的无源蜂鸣器(延时500US,再输出一个低,一直这样循环)。如果是4K的无源蜂鸣器(延时250US,再输出一个低,一直这样循环)