蜂鸣器控制

  • 1.蜂鸣器简介
    • 1.分类
    • 2.有源蜂鸣器和无源蜂鸣器
    • 3.区分有源蜂鸣器和无源蜂鸣器
    • 4.蜂鸣器驱动电路
  • 2.电路图绘制
  • 3.蜂鸣器控制
  • 4.程序补充

1.蜂鸣器简介

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示

1.分类

  • 按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器);
  • 按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器;
  • 按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器);
  • 按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变。

2.有源蜂鸣器和无源蜂鸣器

下面有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器

这里的“源”不是指电源。而是指震荡源。
也就是说有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2K~5K的方波去驱动它
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口;有源蜂鸣器的优点是:程序控制方便 。

3.区分有源蜂鸣器和无源蜂鸣器

判断有源蜂鸣器和无源蜂鸣器,可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器"+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器,如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器

4.蜂鸣器驱动电路

由于蜂鸣器的工作电流比较大,以单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流

2.电路图绘制

先看看蜂鸣器的原理图,单片机的蜂鸣器控制引脚串联1k电阻经三极管连接到蜂鸣器

在Protues中找出来三极管和蜂鸣器,三极管直接搜PNP即可,不用找详细型号,需要做水平镜像翻转,接地与按键并到一起,其他的参照原理图接

3.蜂鸣器控制

51开发板上搭载的蜂鸣器是有源蜂鸣器,只需要高低电平来控制即可,也就是和LED的控制方式一样,参考程序如下

#include <reg52.h>#define ON  0
#define OFF 1sbit BUZZER = P0^7;void delay_ms(unsigned int nms)
{unsigned int i,j;for(i=nms;i>0;i--)for(j=113;j>0;j--);
}void main()
{   BUZZER = ON;delay_ms(200);BUZZER = OFF;delay_ms(200);while(1);
}

蜂鸣器在protues上不能做仿真,也就是不能看到蜂鸣器是否有响应控制,只能找开发板进行蜂鸣器测试

4.程序补充

学习了蜂鸣器控制后,可以结合前面的LED和按键,如下面代码可做参考

#include <reg52.h>
#include <intrins.h>#define ON  0
#define OFF 1sbit KEY1 = P3^3;
sbit KEY2 = P3^4;
sbit KEY3 = P3^6;
sbit KEY4 = P3^7;sbit BUZZER = P0^7;void delay_ms(unsigned int nms)
{unsigned int i,j;for(i=nms;i>0;i--)for(j=113;j>0;j--);
}void main()
{   unsigned int i;P1 = 0xff;while(1){if(KEY1 == ON){delay_ms(10);if(KEY1 == ON){BUZZER = ON;}while(KEY1 == ON);}if(KEY2 == ON){delay_ms(10);if(KEY2 == ON){BUZZER = OFF;}while(KEY2 == ON);}if(KEY3 == ON){delay_ms(10);if(KEY3 == ON){P1 = 0xfe;for(i=8;i>0;i--){delay_ms(150);P1 = _crol_(P1,1);}}while(KEY3 == ON);}if(KEY4 == ON){delay_ms(10);if(KEY4 == ON){P1 = 0x7f;for(i=8;i>0;i--){delay_ms(150);P1 = _crol_(P1,-1);}}while(KEY4 == ON);}}
}

51单片机学习笔记4 -- 蜂鸣器控制相关推荐

  1. [51单片机学习笔记TWO]----蜂鸣器

    蜂鸣器音乐播放实验 首先应该了解一下蜂鸣器音乐播放的原理,在这里我只讲一下电磁式蜂鸣器驱动原理(还有一种是压电式蜂鸣器): 电磁式蜂鸣器驱动原理: 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来 ...

  2. AutoLeaders控制组——51单片机学习笔记(蜂鸣器、AT24C02芯片)

    本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 一些内容涉及 ...

  3. AutoLeaders控制组—51单片机学习笔记(LED控制、独立按键、数码管)

    本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 根据测试,目 ...

  4. 51单片机学习笔记-9蜂鸣器

    9 蜂鸣器 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓库. ...

  5. 51单片机学习笔记_11 蜂鸣器,识简谱,根据简谱编写蜂鸣器代码

    蜂鸣器实验 蜂鸣器简单地说,就是电磁线圈和磁铁对振动膜的作用. 单片机的是无源蜂鸣器,不能一直充电,需要外部控制器发送震荡信号,可以改变频率产生不同的音色.音调. 大多数有源蜂鸣器则没有这个效果,有源 ...

  6. 51单片机学习笔记之按键控制一盏小灯

    我们今天学习一下单片机的案件,其实和小灯一样,大家不用紧张,简单的很. 首先我们新建个工程,如果有同学忘记了,可以看我之前的博客.下面是链接. https://blog.csdn.net/qq_408 ...

  7. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

  8. AutoLeaders控制组—51单片机学习笔记

    文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...

  9. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

  10. 51单片机:流水灯蜂鸣器控制

    //51单片机:流水灯&蜂鸣器控制 //bglei@nuaa.edu.cn 2022/8/28<流水灯&蜂鸣器控制> #include<reg52.h> #in ...

最新文章

  1. 通过anaconda2安装python2.7和安装pytorch
  2. 用c#建立webservice
  3. MySQL和PostgreSQL数据库安全配置
  4. JQuery源码解析-整体架构的设计
  5. 【机器学习】图解机器学习中的 12 种交叉验证技术
  6. 想上云,请评估与思考上云目的
  7. Python 离线 安装requests第三方库
  8. 简单且有创意的python作品_适合练手的 14 个Python 小项目,趣味十足!
  9. 事务的详细讲解,简单易理解,适合小白,无基础也可以懂,什么是事务、事务提交、事务回滚、编程式事务、声明式事务
  10. Vue 使用 print.js 实现打印组件
  11. 2018最新--Win10屏幕亮度无法调节问题的解决方法
  12. 冰点还原精灵手工强制删除方法
  13. 插入网线后以太网显示ip4连接无网络访问权限
  14. 阿里云物联网平台测试知识点梳理
  15. [安氵旬杯2022] 一些题目复现
  16. mysql错误42000_mysql5.7 异常ERROR 1055 (42000)
  17. 鼎沐素食:还生命于自然,还身心于自己!
  18. ddt python_python——DDT
  19. 解决laydate动态设置初始值的问题
  20. 大疆的精灵4 PRO 相机的一些问题

热门文章

  1. 哗啦啦收银机系统服务器异常,解决哗啦啦收银系统数据库备份问题(示例代码)...
  2. 一个不错的Fortran教程
  3. WebStorm破解激活
  4. setuna.exe在win10下使用,桌面自动放大问题
  5. 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍
  6. C++初学必练基础题【第四期】
  7. java种语言包在线翻译_Java 实现在线翻译功能 调用微软Bing API
  8. 【实用数学手册(第2版)扫描版.pdf】和【免安装Matlab.7.0.绿色破解U盘便携移...】 百度网盘下载地址
  9. mysql关联查询去重_mysql | 去重查询
  10. CA系统(概念、结构和功能)和CA证书