蓝桥杯继电器、蜂鸣器

继电器、蜂鸣器基本知识

蜂鸣器基本知识:

分为有源蜂鸣器和无源蜂鸣器。它们最大的区别就是内部是否有震荡源。蓝桥杯板载的是有缘蜂鸣器,它自身带有震荡源,所以只要通电就会响,并且声音频率是固定的,所以它发出的声音是只有一个音调的。无源蜂鸣器不带有震荡源,所以想要使无源蜂鸣器发出声音,不仅需要通电还需要额外的震荡源,所以他的音调并不固定,可以通过改变震荡源的占空比来调整声音频率来达到演奏歌曲等目的。

蜂鸣器的工作电压为5V,无需接电阻。

如何区分有源蜂鸣器和无源蜂鸣器:
  1. 引脚朝上放置,能看到绿色电路板的为无源蜂鸣器,没有而且为黑色封胶的为有源蜂鸣器。

  1. 两个引脚长度一样长的为无源蜂鸣器,不一样长的为有源蜂鸣器。

  1. 点阻挡试碰法,发出咔咔声且电阻为8欧姆(16欧姆)的为无源蜂鸣器,发出持续声音且电阻为几百欧姆以上的为有源蜂鸣器。

继电器基本知识:

继电器有3个接线端,分别为常开端、常闭端、公共端。当继电器不通电时,公共端与常闭端吸合,当通电时,会在继电器内部的线圈两端施加一定的电压,由于电磁效应,将会把公共端与常开端吸合,并且继电器其实是个很牛掰的小东西,可以用5V来给继电器供电,来控制220V的电器,但是这样操作容易被电,很痛~~~~

控制继电器与蜂鸣器需要用到的芯片介绍:

译码器(74HC138)、锁存器(74HC573)、或非门(74HC02)、驱动芯片(ULN2003)。

是不是看起来驱动一个蜂鸣器和继电器就要用这么多芯片简直像有病,但这么设计也是有原因的:1.单片机一般讲究低功耗,所以单片机IO的驱动能力有限,不足以驱动蜂鸣器、继电器中的线圈,所以就需要设计驱动芯片来增加驱动能力啦~~2.板载外设太多了,但是IO就只有那么几个,所以就需要通过译码器-锁存器结构来用有限的数据控制口P0来分时控制更多的外设。

如果你买一个没有那么多外设的板子,或者就是一个最小系统,那就不用控制那么芯片了,直接买模块怼到板子上,通电,就好勒。

### 关于蓝桥杯单片机控制继电器蜂鸣器的示例教程 #### 1. 继电器蜂鸣器的基础控制逻辑 在蓝桥杯竞赛中,对于单片机控制继电器蜂鸣器的应用场景通常较为基础。其核心在于通过GPIO端口的状态变化来实现设备的开关功能[^1]。 例如,在某些应用场景下,可以通过设置特定寄存器位为高电平或低电平来开启或关闭继电器蜂鸣器。以下是基于HC138芯片的一个典型例子: ```c void controlRelayAndBuzzer() { Set_HC573(5, 0x10); // 打开继电器 delay_ms(1000); // 延时1秒 Set_HC573(5, 0x40); // 打开蜂鸣器 delay_ms(1000); // 延时1秒 Set_HC573(5, 0x00); // 同时关闭继电器蜂鸣器 } ``` 此代码片段展示了如何通过`Set_HC573()`函数配置不同的状态值来分别控制继电器蜂鸣器的工作状态[^3]。 #### 2. 主程序设计思路 为了使继电器蜂鸣器按照预定的时间间隔交替工作,可以在主程序中加入无限循环结构,并配合延时操作完成周期性的动作切换[^2]。下面是一个简单的主程序框架: ```c #include <reg52.h> #include "delay.h" sbit RELAY_PIN = P0^4; // 定义继电器引脚 sbit BUZZER_PIN = P0^6; // 定义蜂鸣器引脚 void main() { while (1) { // 进入死循环 RELAY_PIN = 1; // 打开继电器 BUZZER_PIN = 1; // 打开蜂鸣器 delay_ms(1000); // 延时1秒钟 RELAY_PIN = 0; // 关闭继电器 BUZZER_PIN = 0; // 关闭蜂鸣器 delay_ms(1000); // 再次延时1秒钟 } } ``` 这段代码实现了每隔一秒依次打开和关闭继电器蜂鸣器的功能。 #### 3. LED灯扩展应用 除了继电器蜂鸣器外,还可以进一步拓展到LED灯的控制。同样也是通过对相应IO口高低电平的变化达到点亮或者熄灭的效果。如下所示: ```c void ledControl() { Set_HC573(4, 0x00); // 点亮所有LED delay_ms(1000); Set_HC573(4, 0xFF); // 熄灭所有LED delay_ms(1000); } ``` 以上方法能够帮助参赛者理解并实践基本硬件接口的操作方式。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值