1. 蜂鸣器种类

蜂鸣器分为有源蜂鸣器和无源蜂鸣器: 判断有源蜂鸣器和无源蜂鸣器可用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器“+”引脚,红表笔在另一引脚上来回触碰,如果触发出咔咔声且电阻只有8Ω(或16Ω)的是无源蜂鸣器,如果能发出持续声音的,且电阻在几百Ω以上的,是有源蜂鸣器。
这里的源不是指电源,而是指震荡源。也就是说有源蜂鸣器内部带震荡源。所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2K~5K的方波去驱动。

2.单片机与蜂鸣器连接

原理图:
由于单片机的电流驱动不了蜂鸣器,因此需要增加一个三极管进行电流放大,原理图如下图所示:

代码:

  //蜂鸣器
#include<reg51.h>
#include"delay.h"#define on 0  //宏定义,低电平0为开蜂鸣器
#define off 1
sbit speak=P2^3;
void main()
{speak=on;delay(500);speak=off;delay(500);
}

3.蜂鸣器与流水灯

在流水灯亮的同时,蜂鸣器响,即两者同步,原理图如下图所示:

代码

//流水灯报警
#include<reg51.h>
#include<intrins.h>
#include"delay.h"sbit speak=P2^3;#define on 0
#define off 1void main()
{P1 = 0xfe;   //1111 1110while(1){delay(500);P1 = _crol_(P1,1);   //将P1循环左移一位speak=on;delay(500);speak=off;}
}

4.扩展 蜂鸣器演奏音乐

#include<reg51.h>
#include"delay.h"
#define uchar unsigned char
sbit  speak =P2^3;
bit flag;  //标志音乐输出脚电平的高低
uchar ptr=0x00;
uchar high;
uchar low;
uchar code music[]={0xfc,0x44,0x7f, 0xfc,0x44,0x7f, 0xfc,0x44,0xff, 0xfa,0x68,0xff,
0xfd,0x23,0x7f, 0xfd,0x23,0x7f, 0xfd,0x23,0xff, 0xfc,0x44,0xff,
0xfc,0x44,0x7f, 0xfd,0x23,0x7f, 0xfd,0x82,0xff, 0xfd,0x82,0xff,
0xfd,0x23,0x7f, 0xfd,0x23,0x7f, 0xfc,0xac,0xff, 0xff,0xff,0xff,
0xfc,0xac,0x7f, 0xfd,0x23,0x7f, 0xfd,0x34,0xff, 0xfd,0x34,0xff,
0xfd,0x23,0x7f, 0xfc,0xac,0x7f, 0xfd,0x23,0xff, 0xfd,0x44,0xff,
0xfc,0x44,0x7f, 0xfd,0x23,0x7f, 0xfc,0xac,0xff, 0xfa,0x68,0xff,
0xfc,0x0c,0x7f, 0xfc,0xac,0x7f, 0xfc,0x44,0xff, 0xff,0xff,0xff,
0x00
};    //happy new year 歌曲
void Init(void);  //函数声明
void main()
{uchar time;Init();TH0=high;TL0=low;while(1){if(music[ptr]!=0xff&&music[ptr]!=0x00){TR0=0;speak=1;delay(10);high=music[ptr];low= music[ptr+1];time=music[ptr+2];delay(time);ptr+=3;}else if(music[ptr]==0xff){time=music[ptr+2];delay(time);ptr+=3;}else{TR0=0;speak=1;delay(2000);ptr=0;}}
}
void Count1(void) interrupt 1
{TH0=high;TL0=low;if(flag==0){speak=0;flag=1;}else{speak=1;flag=0;}
}
void Init()
{TMOD=0x01;EA=1;ET0=1;
}

51单片机——蜂鸣器的使用相关推荐

  1. 51单片机蜂鸣器播放天空之城

    51单片机蜂鸣器播放天空之城 附:天空之城乐谱 第三张图片中65行46968改为64968,希望凉解.(由于本人对乐谱知之甚少,上述有关音符代码由网络提供.如有错误,敬请雅正.)

  2. 用计算机弹我和我的祖国,51单片机蜂鸣器演奏《我和我的祖国》

    由于同学的需要,于是用51单片机的蜂鸣器功能谱了一首<我和我的祖国>,下面是全部的代码: #include sbit beep = P1^5; unsigned char timer0H, ...

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

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

  4. 51单片机 | 蜂鸣器实验

    文章目录 一. 蜂鸣器介绍 二.硬件设计 三.软件设计 四.实验现象   通过单片机的一个 IO 口控制 板载无源蜂鸣器,实现蜂鸣器控制. 一. 蜂鸣器介绍   蜂鸣器是一种一体化结构的电子讯响器,采 ...

  5. 51 单片机 蜂鸣器

    普中51单片机中的蜂鸣器 sbit与define的区别 sbit 是定义 位 ,就是说只能 用于 位, 编译器 会检测的. define 就是简单的 文字替换,用途广 无源蜂鸣器与有源蜂鸣器 (普中5 ...

  6. 51单片机蜂鸣器的使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.有源蜂鸣器和无源蜂鸣器的区别 二.代码编写 总结 前言 本文旨在介绍如何使用51单片机驱动蜂鸣器. 一.有源蜂鸣器 ...

  7. 利用51单片机蜂鸣器播放《只因你太美》代码

    使用以下代码在51单片机上控制蜂鸣器播放"只因你太美"的音乐: #include <reg51.h> #include <intrins.h>#define ...

  8. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...

    /************************************************************************ [文件名]  C51音乐程序(八月桂花) [功能]  ...

  9. 51单片机蜂鸣器演奏《小苹果》C语言程序,单片机控制蜂鸣器演奏音阶实例

    单片机可以控制蜂鸣器发声音 蜂鸣器是非常常见的发音元器,音乐卡.报警装置.电子琴.各种小家电等都会用到.单片机的PWM功能可以设置输出不同频率的信号,所以我们可以利用单片机的PWM控制三极管的通断来推 ...

最新文章

  1. centos 安装cacti监控
  2. Google Map API V3调用arcgis发布的瓦片地图服务
  3. Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(2)
  4. 蓝桥杯2015初赛-加法变乘法-枚举
  5. 你必须了解Spring的生态
  6. (JAVA)Arrays数组工具类
  7. python正则匹配html标签_Python正则获取、过滤或者替换HTML标签的方法
  8. LeetCode 1216. 验证回文字符串 III(DP)
  9. 电商后台原型 rp_电商选型:一站式线上商城的重要性
  10. mybatis入门基础(四)----输入映射和输出映射
  11. 《那些年啊,那些事——一个程序员的奋斗史》——54
  12. (转)Oracle程序包(存储过程)返回记录集
  13. 嵌入式成长轨迹1 【嵌入式环境及基础】【嵌入式Linux软件开发入门】【linux基础命令】...
  14. LeetCode 34 Search for a Range(搜索范围)
  15. Python绘制多维度专题地图
  16. 使用阿里云OSS对象存储搭建个人图床
  17. 七问西方主流经济学,考考你的经济学常识
  18. 王菲 单行道 今天忽然听
  19. 你要偷偷学Python,然后惊艳所有人(类的属性和方法)
  20. Python 第几周和星期几

热门文章

  1. excel函数应用:如何写出IF函数多级嵌套公式
  2. 高版本Andriod Studio集成HMS环境看这篇就够了(附加步骤多图、资源下载、源代码、问题总结)
  3. 熵(entropy)的定义
  4. VAR.P和VAR.S
  5. 熊猫烧香超级搞笑广告版本
  6. 数据库SQLServer的视图
  7. 北京奇云计算机技术学校,好的计算机编程学校
  8. 了解 ARM Coretex-A 系列芯片
  9. 第6章 关系数据理论—范式的介绍
  10. Python连接维特智能角度传感器JY61/JY901的方法