当前位置: 首页 > news >正文

51单片机蜂鸣器的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、有源蜂鸣器和无源蜂鸣器的区别
  • 二、代码编写
  • 总结


前言

本文旨在介绍如何使用51单片机驱动蜂鸣器。

一、有源蜂鸣器和无源蜂鸣器的区别

有源蜂鸣器是一种电子元件,它可以通过电源来发出声音,而无源蜂鸣器则是一种机械元件,它可以通过外力来发出声音。有源蜂鸣器可以发出更清晰的声音,而无源蜂鸣器发出的声音更加模糊。
有源蜂鸣器只需要控制电平的高低就可以驱动蜂鸣器,而无源蜂鸣器的操作相对来说会稍微复杂一点,需要控制其发出声音的频率和强度。
有源蜂鸣器:
在这里插入图片描述
无源蜂鸣器:
在这里插入图片描述
外表上有源蜂鸣器是有贴纸的而无源蜂鸣器是没有贴纸的,大家在购买时可以根据这个判断。
我们使用的板子上的蜂鸣器是无源蜂鸣器。

二、代码编写

板子蜂鸣器原理图如下:

在这里插入图片描述

驱动蜂鸣器是非常简单的,这里我们使用普中给的例程代码我就不做编写了。
只需要通过延时来产生一定的脉冲频率即可驱动无源源蜂鸣器。


#include "reg52.h"typedef unsigned int u16;	//对系统默认数据类型进行重定义
typedef unsigned char u8;sbit BEEP=P2^5;	//将P2.5管脚定义为BEEP/*******************************************************************************
* 函 数 名       : delay_10us
* 函数功能		 : 延时函数,ten_us=1时,大约延时10us
* 输    入       : ten_us
* 输    出    	 : 无
*******************************************************************************/
void delay_10us(u16 ten_us)
{while(ten_us--);	
}void main()
{	u16 i=2000;while(1){while(i--)//循环2000次{BEEP=!BEEP;//产生一定频率的脉冲信号delay_10us(100);}i=0;//清零BEEP=0;//关闭蜂鸣器}		
}

总结

文章介绍了51单片机的硬件结构,以及如何使用51单片机的指令来控制蜂鸣器的发声,并且给出了实际的程序代码。

http://www.lryc.cn/news/12908.html

相关文章:

  • 算法练习-链表(二)
  • LabVIEW使用实时跟踪查看器调试多核应用程序
  • 【go语言grpc之client端源码分析二】
  • centos7安装RabbitMQ
  • node基于springboot 口腔卫生防护口腔牙科诊所管理系统
  • Linux常用命令之find命令详解
  • CMake 入门学习4 软件包管理
  • 【数据库数据乱码错误】存进去的数据乱码(???)
  • rewrite中的if、break、last
  • JavaSE-线程池(5)- 建议使用的方式
  • 城市轨道交通供电系统研究(Matlab代码实现)
  • 什么是 RESTful 风格?
  • 从业6年,对敏捷和自动化测试的一点心得
  • ThreeJS 之界面控制
  • 【查找算法】解析学习四大常用的计算机查找算法 | C++
  • Android实例仿真之一
  • 软考高级-信息系统管理师之重要工具和技术的口语化表示(最新版)
  • 基于springboot+vue的个人健康信息服务平台
  • SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】
  • 测试2:编写测试用例的方法
  • docker安装配置镜像加速器-拉取创建Mysql容器示例
  • WSL1和WSL2相互转换以及安装路径迁移相关问题
  • 系统分析*
  • 【redis】持久化:RDB和AOF
  • 2023Python接口自动化测试实战教程,附视频实战讲解
  • 【原创】java+swing+sqlserver药品管理系统设计与实现
  • 软考高级信息系统项目管理师系列之二十七:信息文档管理与配置管理
  • 软考高级-信息系统管理师之项目管理基础(最新版)
  • leetcode240+Search a 2D Matrix II+从右上角开始
  • 0xL4ugh 2023