Step2Step2Step2 :【C51】蜂鸣器发声实验

蜂鸣器简介

①按驱动方式的不同。可分为有源蜂鸣器和无源蜂鸣器。

有源蜂鸣器内部有振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从而引起磁场交变,带动振动膜片振动发音。因此它工作的理想信号是直流电,一旦供电,蜂鸣器就会发出声音。

无源蜂鸣器内部不带震荡源,如果提供直流信号,因为磁路恒定,振动膜片不能振动发音,蜂鸣器不工作。因此,它工作的理想信号是方波,方波的频率不同,发出的声音也不同。

②按构造方式的不同。可分为电磁式蜂鸣器和压电式蜂鸣器。

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。

即想要电磁式蜂鸣器发声, 只需提供电源即可;想要压电式蜂鸣器发声, 需提供一定频率的脉冲信号;

硬件设计

因为 51 单片机 IO 口的驱动能力较弱,而蜂鸣器驱动需要约 30mA,所以非常困难。因此我们不会直接使用 IO 口驱动蜂鸣器,而是通过三极管把电流放大后再驱动蜂鸣器,这样51单片机的 IO 口只需要提供不到 1mA 的电流就可控制蜂鸣器。 所以我们也经常说到 51 单片机芯片是用来做控制的,而不是驱动。

蜂鸣器发声实验

在我所使用的开发板中,使用的是无源蜂鸣器,需要一定频率的脉冲才会发声。蜂鸣器控制管脚直接连接到 51 单片机的P1^5口上。并有一个PNP 三极管起到电流放大作用,从而可以驱动蜂鸣器。

#include<reg52.h>
void delay(int times);//延时函数
sbit beep=P1^5;//蜂鸣器控制管脚连接到 51 单片机的P1^5口上。
void main()
{while(1){beep=1;delay(1000);//延时约为1s,//蜂鸣器发出声音的时间间隔不同,频率就不同,所发出的声音也就不同。//根据这一原理,可通过改变蜂鸣器发声和停止发声的时间间隔,发出不同频率的声音。beep=0;delay(1000);}
}
void delay(int times)
{times=times*10000;while(times--);
}

扩展实验–灯光报警器(LED&蜂鸣器)

要求:在LED跑马灯的基础上附加要求:当LED3点亮时,蜂鸣器发出声音,报警;LED3熄灭时,蜂鸣器停止发声。

PS:LED跑马灯

#include<reg52.h>
#include<intrins.h>//进行移位操作的头文件
sbit beep=P1^5;//蜂鸣器控制管脚连接到 51 单片机的P1^5口上。
void delay(int times);
void main()
{int i;while(1){P2=0xFE;//P2口的8个引脚被赋值成1111,1110,代表只有P2^0口是低电平,其余都是高电平。//即只有LED0亮,其余LED灯处于熄灭状态。 //8个引脚与0xFE的2进制分别对应!for(i=0;i<8;i++){P2=_crol_(P2,1);//每次循环左移一位。if(P2==0xF7)//P2=11110111,如果LED3亮(即第四个LED灯亮起时),蜂鸣器报警{beep=1;delay(500);beep=0;//蜂鸣器停止发声}delay(1000);}}
}
void delay(int times)
{times=times*10000;while(times--);
}

补充知识

①NPN型三极管、PNP 型三极管

C:集电极collectorcollectorcollector B:基极basebasebase E:发射极emitteremitteremitter

开关特性

对NPN型三极管,只要B极电压比E高0.7V以上,E、C之间就可以导通。所以NPN为高电平导通,低电平截止。

对PNP型三极管,只要E极电压比B高0.7V以上,E、C之间就可以导通。所以PNP为低电平导通,高电平截止。

三种工作状态

(1)截止:

截止条件:对NPN,低电平为截止状态;对PNP,高电平为截止状态。

截止状态下,各电极的电流几乎为0,E极和C极互不相通,相当于一个断开的开关。E、C极电压近似于电源电压。

(2)放大:

放大条件:对NPN:UC>UB>UEU_C>U_B>U_EUC​>UB​>UE​;对PNP:UE>UB>UCU_E>U_B>U_CUE​>UB​>UC​。

IBI_BIB​、ICI_CIC​近似于线性关系,IBI_BIB​微小的变化就能引起ICI_CIC​较大的变化。

(3)饱和:

饱和条件:对NPN:UB>UEU_B>U_EUB​>UE​,UB>UCU_B>U_CUB​>UC​;对PNP:UB<UEU_B<U_EUB​<UE​,UB<UCU_B<U_CUB​<UC​。

当B、E极间的电流增大到某一值后,E、C极间电流将不再变化,就称三极管达到了饱和状态。此时IBI_BIB​的变化对ICI_CIC​的影响很小,两者不成比例。饱和状态下E极和C极间电压值很小,通常硅管约为0.3V,若忽略不计,则E极和C极之间相当于短路,即相当于一个闭合的开关。

三张图让你弄懂三极管截止状态、放大状态和饱和状态

三极管工作原理及三种基本工作状态

Step2:【C51】蜂鸣器发声实验相关推荐

  1. Ardino基础教程 7_蜂鸣器发声实验

    实验七:蜂鸣器发声 用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,前面一直都是在用LED 小灯在做实验,本个实验就让大家的电路发出声音,能够发出声音的最常见的元器件就是蜂 ...

  2. 【Arduino基础】蜂鸣器发声实验

    实验现象 使用arduino直接驱动蜂鸣器发出不同频率的声音. 理论学习 小型蜂鸣器因其体积小(直径只有 6mm).重量轻.价格低.结构牢靠,而广泛地应用在各种需要发声的电器设备.电子制作和单片机等电 ...

  3. 51单片机驱动蜂鸣器发声教程(扫盲)

    51单片机 蜂鸣器 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此 ...

  4. ARM(IMX6U)裸机C语言蜂鸣器驱动实验(BSP+SDK)

    参考:Linux之ARM(IMX6U)裸机C语言蜂鸣器驱动实验–驱动编写,编译 作者:一只青木呀 发布时间: 2020-08-16 14:47:23 网址:https://blog.csdn.net/ ...

  5. uln2003驱动蜂鸣器_让蜂鸣器发声

    预备知识:蜂鸣器介绍 开发板原理图上面蜂鸣器的电路图是这样的,根据视频知道它是一个无源蜂鸣器. 可以看到蜂鸣器的一端和电阻相连,另一端和引脚BZ相连,注意这个BZ并不是元气名称,有图可知,元气名称都是 ...

  6. 51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机C语言蜂鸣器发声生日快乐播放程序...

    <51单片机C语言蜂鸣器发声生日快乐播放程序>由会员分享,可在线阅读,更多相关<51单片机C语言蜂鸣器发声生日快乐播放程序(4页珍藏版)>请在人人文库网上搜索. 1.按键发音/ ...

  7. stm32无源蜂鸣器定时器_使用STM32控制无源蜂鸣器发声播放音乐

    [实例简介] 利用GPIO控制无源蜂鸣器发声,播放音乐.使用SysTick延时,使用位带操作寻址IO口引脚. [实例截图] [核心代码] pMusic ├── CMSIS │   ├── core_c ...

  8. STM32单片机开发之让蜂鸣器发声

    本篇文章依旧是按照之前的stm32f10x系列单片机进行开发,但博主会教大家如何去看电路原理图以及如何去看开发手册,并且本系列文章不使用stm32提供的库函数,完全从0开始编写,这样能带大家更好的认识 ...

  9. STM32学习之路——麒麟座V3.2开发板蜂鸣器发声问题

    因为蜂鸣器使用了PB.3口,该口同时也用于JTAG调试.查询芯片手册知道默认PB3是用作JTDO,要用作普通IO需要开启端口重映射.所以开启重映射,关闭JTAG功能后即可正常操作IO口控制蜂鸣器发声. ...

  10. vb 计算机主板喇叭发声,主板蜂鸣器发声规律总结

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近研究了一下主板的蜂鸣器发声规律,前些日子看到一位朋友用VB写了一个由此启发,特地总结了一下发声规律: 有一定物理常识的人都知道,音调的高低与震动频率成 ...

最新文章

  1. C语言指针入门 《C语言非常道》
  2. 给定三角形 ABC 和一点 P(x,y,z),判断点 P 是否在 ABC 内,给出思路并手写代码
  3. CSS样式和class应用
  4. 文本挖掘(part4)--N-gram模型
  5. tensorboard ckpt pb 模型的输出节点_算法工程化系列——模型固化
  6. (83)FPGA时钟抖动和时钟偏斜-面试必问(七)(第17天)
  7. 贾跃亭发文祝父亲节快乐:FF就像我的孩子
  8. 矩池云上安装caffe gpu教程
  9. 从零开始刷Leetcode——动态规划(70.198.303)
  10. 【Computer Organization笔记07】实验课:可编程逻辑器件介绍,硬件编程方法与原则,硬件编程流程
  11. 熟悉 CMake (三)—— 配置 opencv3
  12. 【利用存储过程和三层架构完成新闻发布】
  13. 物联网卡云平台如何分析信息数据
  14. rx550 黑苹果_黑苹果Hackintosh显卡入手指南
  15. 《机器人学基础》整理(1)
  16. 163邮箱 java发送html邮件,java邮件发送 qq与163邮箱互发和qq和163邮箱发送其余邮箱实例...
  17. ESD笔记(二)_ESD测试
  18. Advanced Computer Network Review(4)——Congestion Control of MPTCP
  19. 上海税前12000税后多少_税前12000元月工资,税后能拿多少
  20. KICAD设计——原理图层次及标签

热门文章

  1. 计算机属性资源管理器已停止工作,资源管理器已停止工作,详细教您怎么解决资源管理器已停止工作...
  2. paip 破解网站手机验证码
  3. t检验的几种应用案例
  4. 一些有意思的知识的网站
  5. 十条网站盈利模式分析总结
  6. Autoware(Architecture Proposal)
  7. QEMUKVM 虚拟机使用实例
  8. 浏览器与HTTP网络协议缓存原理分析 转自网界网:http://news.cnw.com.cn/news-china/htm2015/20151027_322909.shtml
  9. Detecting Deep-Fake Videos from Appearance and Behavior
  10. 游戏的初级体验,三围:视、听、触的展示