51单片机学习———3--蜂鸣器

原理

蜂鸣器介绍

在这里插入图片描述
在这里插入图片描述

  1. 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
    接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
  2. 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
    多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
  3. 自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过放大电路放大驱动电流就能使蜂鸣器发出声音,非常简单。

蜂鸣器控制

改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。
改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。

电路原理图

在这里插入图片描述
在这里插入图片描述

ULN2003简介

ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载 。

主要特点 :

  • 500mA 额定集电极电流(单个输出)
  • 高电压输出:50V
  • 输入和各种逻辑类型兼容
  • 继电器驱动器
    在这里插入图片描述

代码实现

#include<reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;

sbit beep=P1^5;

void delay(u16 i)
{
    
    
	while(i--);
}

void main()
{
    
    
	beep=~beep;
	delay(10);//通过延时形成脉冲,即频率,通过改变频率可以改变蜂鸣器的音调
}

猜你喜欢

转载自blog.csdn.net/Joker15517/article/details/113774402