【蓝桥杯入门记录】继电器、蜂鸣器及原理图分析

一、继电器、继电器概述

(1)蜂鸣器原理

蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型有源自激型,蜂鸣器的发声原理为:

  • 1、无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出。
  • 2、有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号。
  • 有源蜂鸣器和无源蜂鸣器的主要差别是:二者对输入信号的要求不一样,有源蜂鸣器工作的理想信号是直流电,一般标示为VDD、VDC等。因为蜂鸣器内部有一个简单的振荡电路,可以把恒定的直流电转变成一定频率的脉冲信号,从而产生磁场交变,带动钼片振动发出声音。

(2)继电器原理

 继电器,开关电器的一种,在控制电路中用的非常多:

  • 继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。
  • 它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。
  • 通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
  • 通电(电生磁)→K1 与 m2 相连

(3)继电器蜂鸣器原理图

(4)ULN2003概述(了解)

  • ULN2003是高耐压、大电流复合品体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
  • ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。
  • 输入5VTTL电平,输出可达500mA/50V。
  • ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路,直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
  • ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

二、开发板原理图

倒推:

  • (以控制LED为例)想打开控制LED的P0口→打开Y4C(Y4C置为1)→找出Y4C的输出端→找到74LS02(74LS02:或非门,先进行取或,再进行取非输出)
  • 只有当Y4为0(根据译码器的真值表给P2赋值,从而将Y4置为0)时,经过或非门,Y4C为1
  • 理解:Y4 Y7 Y5 Y6其中一个通过74HC138译码器置为低电平,则对应的Y4C或Y7C或Y5C或Y6C置为高电平,则打开了控制LED或数码管或蜂鸣器或继电器的P0口控制

三、蜂鸣器、继电器例程

(1)例程1:LED例程初始化分析。

//头文件声明区域
#include <STC15F2K60S2.H>
#include<intrins.h>

//变量定义区域
unsigned char LED = 0xFE;

//函数定义区域
void Delay(unsigned int ms)		//@11.0592MHz
{
	unsigned char i, j;

	while(ms--)
	{
	_nop_();
	_nop_();
	_nop_();
	i = 11;
	j = 190;
	do
	{
		while (--j);
	} while (--i);
	}

}


//主程序
void main()
{
	P2=0XA0;P0=0X00;//使能控制蜂鸣器、继电器的74HC573锁存器,并关闭蜂鸣器
	P2=0x80;//使能控制LED的74HC573锁存器 0x80 == 1000 0000 == P27 = 1;P26 = 0;P25 = 0
	P0=0XFF;//关闭所有LED
	while(1)
	{
		P0 = LED;
		Delay(100);
		LED = _crol_(LED,1);
		
	}
	
	
}

(2)蜂鸣器、继电器例程。本例以循环“打开蜂鸣器保持500MS,关闭蜂鸣器保持500MS,打开继电器保持500MS,关闭继电器保持500MS”为例。

//头文件声明区域
#include <STC15F2K60S2.H>
#include<intrins.h>

//变量定义区域
unsigned char LED = 0xFE;

//函数定义区域
void Delay(unsigned int ms)		//@11.0592MHz
{
	unsigned char i, j;

	while(ms--)
	{
	_nop_();
	_nop_();
	_nop_();
	i = 11;
	j = 190;
	do
	{
		while (--j);
	} while (--i);
	}

}


//主程序
void main()
{
	P2=0XA0;//1010 0000 使能控制蜂鸣器、继电器的74HC573锁存器
	P0=0X00;
	
	P2=0X80;//1000 0000 使能控制LED的74HC573锁存器
	P0=0XFF;// 关闭全部LED
	
	P2=0XA0;//1010 0000 使能控制蜂鸣器、继电器的74HC57锁存器
	while(1)
	{
		/*用于验证,最好不要将蜂鸣器继电器写入while循环*/
		P06=1;Delay(500);//打开蜂鸣器,并延迟500ms
		P06=0;Delay(500);//关闭蜂鸣器,并延迟500ms
		
		P04=1;Delay(500);//打开继电器,并延迟500ms
		P04=0;Delay(500);//关闭继电器,并延迟500ms
		
		P0=0X10;Delay(500);//打开蜂鸣器,并延迟500ms
		P0=0X00;Delay(500);//关闭蜂鸣器,并延迟500ms
		
		P0=0X40;Delay(500);//打开继电器,并延迟500ms
		P0=0X00;Delay(500);//关闭继电器,并延迟500ms
		
		
	}
	
}

(3)数码管例程分析

void SEG_Display12(unsigned char yi,unsigned char er)
{
	P0=0XFF;//消影
	P2=0XC0;//1100 0000 打开控制数码管位选的锁存器
	P0=0X01;//0000 0001 选中第一个数码管
	P2=0XFF;//打开控制数码管段选的锁存器
	P0=tab[yi];//给上述打开的数码管赋值
	Delay(1);
	
	P0=0XFF;//消影
	P2=0XC0;//1100 0000 打开控制数码管位选的锁存器
	P0=0X02;//0000 0010 选中第二个数码管
	P2=0XFF;//打开控制数码管段选的锁存器
	P0=tab[2];//给上述打开的数码管赋值
	Delay(1);
		
	
}

(4)例程4:上电初始化程序,上电之后关闭所有的LED、数码管、蜂鸣器、继电器

void All_Init(void)
{
	P2=0XA0;//1010 00000 打开控制蜂鸣器继电器的74HC573锁存器
	P0=0X00;//0000 0000 关闭蜂鸣器继电器
	
	P2=0X80;//1000 0000 打开控制LED灯的74HC573的锁存器
	P0=0XFF;//1111 1111 关闭所有LED
	
	P2=0XC0;//1100 0000 打开控制数码管位选的锁存器
	P0=0XFF;//1111 1111 选中所有数码管
	P2=0XE0;//1110 0000 打开控制数码管段选的锁存器
	P0=0XFF;//1111 1111关闭所有数码管
	
	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/474238.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

稀碎从零算法笔记Day23-LeetCode:二叉树的最大深度

题型&#xff1a;链表、二叉树的遍历 链接&#xff1a;104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上…

ES集群不识别节点SSL证书的问题处理

问题描述 在启动ES服务并试图加入其他节点上已启动的集群时&#xff0c;出现报错(原文是一大段话&#xff0c;我按语义拆成了几段)&#xff1a; [2024-03-19T16:32:02,844][WARN ][o.e.c.s.DiagnosticTrustManager] [node-2-master] failed to establish trust with server a…

高压线下垂钓很危险!高压线下防垂钓智能语音警示杆:科技守护生命

初春时节&#xff0c;气温逐渐回升&#xff0c;在这阳光明媚的日子里&#xff0c;大批“捕鱼达人”纷纷开始行动&#xff0c;河边、池塘、水库……不放过任何一个垂钓点&#xff0c;甚至在高压线下&#xff0c;依旧自信甩杆&#xff0c;殊不知高压线下垂钓&#xff0c;轻则伤、…

聚类算法之层次聚类(Hierarchical Clustering)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 层次聚类是一种非常独特和强大的聚类方法&#xff0c;与众多其他的聚类技术相比&#xff0c;它不仅为数据集提供了一个划分&#xff0c;还给出了…

鸿蒙APP应用开发教程—超详细的项目结构说明

1. 新建项目 打开DevEco Studio, 选择 Create Project: 1.1 选择模版 Create Project - Choose Template 1.2 配置项目 Create Project - Configure Project 如果使用的是 DevEco 3.X 版本, 可以根据 Compile SDK版本选择不同的模式, 比如: 3.0.0(API 8)及更早 - 仅支持 …

【数据结构】堆和树详解堆和二叉树的实现堆的top-k问题

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;数据结构_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.树概念及结构 1.1 树的概念 2.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用 2.二叉树的概念及结构 2.1 二叉树的概念…

力扣389周赛复盘

字符串及其反转中是否存在同一子字符串 class Solution {public boolean isSubstringPresent(String s) {StringBuilder sb new StringBuilder(s);String reverse sb.reverse().toString(); for (int i 0; i < s.length() - 2; i) { // 修改循环终止条件为 <&#xf…

matlab实现对全球不规则投影数据的投影转换

前几个专栏我们讨论了几个不规则的投影转换问题&#xff0c;有需要的可以阅读以下文章&#xff1a; matlab实现对极地投影数据的投影转换_matlab极地投影-CSDN博客 联合matlab和Arcgis进行netcdf格式的雪覆盖数据的重新投影栅格-CSDN博客 这次遇到的问题是一个墨卡托投影的数据…

【JavaWeb】Spring非阻塞通信 - Spring Reactive之WebFlux的使用

【JavaWeb】Spring非阻塞通信 - Spring Reactive之WebFlux的使用 文章目录 【JavaWeb】Spring非阻塞通信 - Spring Reactive之WebFlux的使用参考资料一、初识WebFlux1、什么是函数式编程1&#xff09;面向对象编程思维 VS 函数式编程思维&#xff08;封装、继承和多态描述事物间…

vue3新功能-Teleport

1.teleport 在组件内的任何位置渲染内容 将一个组件内部的一部分模板“传送”到该组件的 DOM 结构外层的位置去。 例:将组件dialog添加到body下面 <teleport to"body"> <el- dialog --> </teleport> 2.fragments 多个根元素外层不需要…

2024年了,还能学自动化吗?

大家都说2024年软件测试行业会卷的更厉害&#xff0c;简单的功能测试不再是入门的标准&#xff0c;那么2024年是否可以从自动化测试这块冲一把呢&#xff1f; 我们先来看看过去的一年自动化测试在测试行业中的发展分析&#xff1a; 01 市场需求增长 随着技术的进步和企业对软件…

爬虫入门系列-HTML基础语法

&#x1f308;个人主页&#xff1a;会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” HTML基础语法 bs4解析比较简单&#xff0c;但是呢&#xff0c;首先你需要了解一丢丢的html知识&#xff0c;然后再去使用bs4去提取&#xff0c;逻辑和编写难度就会非常简…

消息队列常见的两种消费模式

一、点对点模式 点对点模式&#xff1a;生产者发送消息到消息队列&#xff0c;消费者从消息队列中接收、处理消息&#xff0c;消息被消费后&#xff0c;就不在消息队列中了。每个消息只能由一个消费者接收和处理。如果有多个消费者监听同一个队列&#xff0c;消息将被发送到其…

刷题DAY29 | LeetCode 491-递增子序列 46-全排列 47-全排列 II

491 递增子序列&#xff08;medium&#xff09; 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也…

流畅的 Python 第二版(GPT 重译)(五)

第九章. 装饰器和闭包 有人对将这个功能命名为“装饰器”的选择提出了一些抱怨。主要的抱怨是该名称与其在 GoF 书中的用法不一致。 名称 decorator 可能更多地归因于其在编译器领域的用法—语法树被遍历并注释。 PEP 318—函数和方法的装饰器 函数装饰器让我们在源代码中“标记…

外包干了14天,技术退步明显。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了成都一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

NVIDIA Chat with RTX教程使用以及CUDA和CUDNN

基本环境安装&#xff1a;CUDA12.1CUDNNcudnn-windows-x86_64-8.9.7.29_cuda12-archive 1、CUDA下载 CUDA官方安装教程: https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html CUDA Toolkit的下载: CUDA Toolkit 12.1 Downloads | NVIDIA Dev…

Vue.js+SpringBoot开发高校宿舍调配管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能需求2.1 学生端2.2 宿管2.3 老师端 三、系统展示四、核心代码4.1 查询单条个人习惯4.2 查询我的室友4.3 查询宿舍4.4 查询指定性别全部宿舍4.5 初次分配宿舍 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的…

如何读懂Java GC日志

Java应用程序的GC日志对分析定位很多性能问题有着非常大的帮助。默认情况下&#xff0c;Java应用程序不会自动产生GC日志。如果需要输出GC日志&#xff0c;必须在JVM启动时增加对应的参数&#xff0c;场景的参数如表5-8所示。 2. GC日志分析一 例如&#xff0c;在Tomcat的JVM启…

【Spring Cloud】微服务注册中心的工作原理

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;人生乏味啊&#xff0c;我欲令之光怪陆离 本文封面由 凯楠&#x1f4f7; 友情提供&#xff01; 目录 前言 1. 注册中心的主要作用 2. 常见的注册中心 3. Nacos 服务注册和发…