单片机入门3.驱动蜂鸣器

78 阅读1分钟

@TOC

一、蜂鸣器是什么?

蜂鸣器有两种:一种是有源蜂鸣器,内含多谐振荡器,能够采用直流电源直接驱动,本开发板使用的就是有源蜂鸣器;另外一种就是无源蜂鸣器,需通过脉冲来驱动,不能采用直流来驱动。怎样区分有源跟无源蜂鸣器,一般蜂鸣器底部有黑胶封住的就是有源蜂鸣器,否则是无源蜂鸣器。在硬件电路中,蜂鸣器一般要接上一个三极管,三极管的作用有两个,一是充当开关作用,二是增大驱动蜂鸣器的电流。

二、电路原理图及使用代码

1.电路原理图

在这里插入图片描述 当FM=0时三极管导通,驱动蜂鸣器。

2.使用代码

#include"reg52.h"
//位定义蜂鸣器端口
sbit beep=P0^7;


//ms延时函数
void delayms(unsigned int x)
{
   unsigned char i;
	 while(x--)
	 {
		 for(i=0;i<113;i++);
	 }
}

void main()
{
  while(1)
	{
	  beep=0;//驱动蜂鸣器
		delayms(500);
		beep=1;//关闭蜂鸣器
		delayms(500);
	}

}