飞道的博客

51单片机蜂鸣器的使用

328人阅读  评论(0)

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


前言

本文旨在介绍如何使用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单片机的指令来控制蜂鸣器的发声,并且给出了实际的程序代码。


转载:https://blog.csdn.net/m0_49476241/article/details/129115919
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场