RYMCU

51单片机第5章--蜂鸣器实验

Hugh 4 年前
# 蜂鸣器 # 51单片机

所属作品集

概述

上一章我们讲解了通过 I/O 口来控制 LED 小灯的实验,本章通过讲解蜂鸣器实验来进一步加深对 I/O 口的使用。本章通过单片的一个 I/O 口以及蜂鸣器电路实现对蜂鸣器的控制。主要内容包括:

  1. 蜂鸣器原理简介
  2. 蜂鸣器实验硬件电路的设计
  3. 蜂鸣器实验软件代码的设计
  4. 下载验证

5.1 蜂鸣器介绍

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。RY-51 单片机开发板板载的蜂鸣器是电磁式的有源蜂鸣器,如下所示。
图5-1-有源蜂鸣器.png
这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动,才能发声。一般而言,驱动蜂鸣器需要较大的电流,单片机的 I/O 口不适合直接驱动,我们通过三极管电路来驱动蜂鸣器。

三极管根据材料不同分为两种,一种为 PNP 型三极管,另一种为 NPN 型三级管。如下图所示。
图5-2-三极管型号.png
作为模拟电路的基本元器件,三极管的放大特性经常被使用。在数字电路中三极管的开关特性用到的尤其多。三极管包含三个管脚,分别为基级 b(base),发射机 e(emitter),集电极 c(collector)。对于 PNP 行的三极管而言,当 e 级电压大于 b 级电压 0.7V 时,e 级,c 级导通,否则开路。因此,可以通过控制 e,b 两端的电压实现对 e,c 两端通断的控制,这就是三极管的开关特性。同理,对于 PNP 行的三极管而言,当 b 级电压大于 e 级电压 0.7V 时,e 级,c 级导通,否则开路。

5.2 硬件设计

蜂鸣器硬件电路设计原理图图下图所示:
图5-3-蜂鸣器设计原理图.png

图中 B1 为蜂鸣器,正极 B 接到系统 5V 电源 VCC,NPN 型三极管 e 级接 B1 的负极 A 管脚,c 级接地。B 级通过电阻 R16 连接到单片机的 P2.4 管脚,如图所示。当 P2.4 管脚输出为低电平 0 时,三极管 b 电平为 0V,e 电平为 5V,e,b 电平之差大于 0.7V,因此 e,c 两端导通,蜂鸣器打开发出报警声。当 P2.4 管脚输出为高电平时,三极管 b 电平为 5V,e 电平为 5V,e,b 电平之差小于 0.7V,因此 e,c 两端断开,因此蜂鸣器关闭。

5.3 软件设计

程序设计的功能为让蜂鸣器发出滴滴的声音,详细代码如下图所示:

#include<reg52.h>
sbit FM = P2^4;//蜂鸣器管脚位定义

int i;
void main()
{
	while(1)
	{
		FM = 0;//打开蜂鸣器响
		for(i=0;i<5000;i++);//延时一段时间
	
		FM = 1;//关闭蜂鸣器
		for(i=0;i<5000;i++);//延时一段时间
	}
}

如上代码所示,首先打开蜂鸣器,延迟一段时间,关闭蜂鸣器,再延迟一段时间,让程序在 while 循环中一直进行,使蜂鸣器发出“滴滴”的响声。

5.4 下载验证

程序编译好后,将代码下载到开发板单片机中,观察现象,蜂鸣器是否和我们预期的一样发出“滴滴”的报警声。

所属作品集

后发布评论