【51单片机系列】继电器使用

文章来源:《零起点学Proteus单片机仿真技术》。

本文是关于继电器使用相关内容。

继电器广泛应用在工业控制中,通过继电器对其他大电流的电器进行控制。

继电器控制原理图如下。继电器部分包括控制线圈和3个引脚,A引脚接电源,B引脚是常开节点,C引脚是常闭节点。继电器没有通电时,常闭节点C构成通路,灯泡2点亮;继电器通电时,线圈吸合,常开节点B闭合,常闭节点C打开,灯泡1点亮,灯泡2关闭。

继电器控制原理图

由于继电器通电的电流很大,不能用单片机直接控制,需要用晶体管驱动,与控制蜂鸣器相同,用晶体管做开关电路,用单片机控制晶体管的基极控制晶体管的导通和截止,从而控制继电器的通电和关闭。

为搞清楚继电器的工作原理,先用继电器构成一个控制电路,用开关控制继电器。原理图如下所示:

开关控制电器的proteus仿真电路图

需要注意:控制电路的电压值必须配对。即供电与元件的电压值必须一致,否则就会出问题,要么不能驱动(电压太低),要么是电器烧毁(电压太高)。

设置继电器的电压值,由12V改成5V,以符合VCC的电压。电池和灯泡的电压都改成250V。这样,就有两种电压的电路,继电器工作在5V电压,灯泡则工作在250V电压。开关控制继电器,继电器线圈吸合会控制250V的电路导通,使灯泡点亮。

下面,接上单片机,用单片机控制继电器,用继电器控制灯泡。在原来开关的位置,换上NPN晶体管,再用单片机的P0.0引脚控制晶体管的基极,从而控制灯泡电路的导通与关闭。要注意,连接晶体管的电阻值要改为500Ω,否则电流太小,不能驱动晶体管导通。proteus设计原理图如下:

proteus设计单片机引脚控制继电器

另外还需要加上两个按钮,用以控制继电器的导通和截止,在P3.2和P3.3引脚分别接一个按钮。

软件设计,当P0.0引脚为高电平时,NPN晶体管导通,继电器导通,灯泡点亮。

/*实现功能:继电器使用,单片机引脚P0.0通过晶体管控制继电器,两个按键(连接到P3.2和P3.3)控制继电器的导通与关闭[2024-01-16] zoya
*/#include <reg52.h>sbit LIGHT_ON=P3^2;
sbit LIGHT_OFF=P3^3;
sbit SWITCH=P0^0;// 延时函数
void delay(unsigned int i)
{unsigned char j;for(;i>0;i--){for(j=0;j<125;j++);}
}
void main()
{SWITCH=0;while(1){// 开灯if(LIGHT_ON==0){delay(10);if(LIGHT_ON==0){SWITCH=1;}while(!LIGHT_ON);}// 关灯if(LIGHT_OFF==0){delay(10);if(LIGHT_OFF==0){SWITCH=0;}while(!LIGHT_OFF);}}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序算法9----计数排序(C)

计数排序是一种非比较排序&#xff0c;不比较大小 。 1、思想 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 2、步骤 1、统计数据&#xff1a;统计每个数据出现了多少次。&#xff08;建立一个count数组&#xff0c;范围从[MIN,MAX],MAX代表arr中…

.Net 8.0 Web API Controllers 添加到 windows 服务

示例源码下载&#xff1a;https://download.csdn.net/download/hefeng_aspnet/88747022 创建 Windows 服务的方法之一是从工作线程服务模板开始。 但是&#xff0c;如果您希望能够让它托管 API 控制器&#xff08;也许是为了查看它正在运行的进程的状态&#xff09;&#xff0…

深入浅出Spring AOP

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;咱们今天要聊的是Java中Spring框架的AOP&#xff08;面向切面编程&#xff09;。对于程序员来说&#xff0c;理解AOP对于掌握Spring框架来说是超级关键的。它像是魔法一样&#xff0c;能让咱们在不改变原有代码的…

git基础知识

简述 git 的安装配置、工作区域划分、文件类型、基本命令。 基础安装与配置 基于 WSL 的 Ubuntu 下的 git 打开或关闭Windows功能->Hyper-V、Virtual Machine Platform、Windows Subsystem for Linux # 1.必须运行 Windows 10 版本 2004 及更高版本&#xff08;内部版本 …

matplotlib绘制动态瀑布图

绘制瀑布图思路&#xff1a;遍历指定文件目录下所有的csv文件&#xff0c;每读一个文件&#xff0c;取文件前20行数据进行保存&#xff0c;如果超过规定的行数300行&#xff0c;将最旧的数据删除&#xff0c;仅保留300行数据进行展示。 网上找的大部分绘制瀑布图的代码&#x…

Visual Studio 2022 成功配置QT5.12.10

目录 下载并安装Visual Studio 2022 Qt5.12.10下载 Qt5.12.10安装 Qt VS Tools for Visual Studio 2022下载 Visual Studio 2022配置 测试 下载并安装Visual Studio 2022 下载社区版并安装&#xff0c;这个比较快。 Qt5.12.10下载 官网下载很慢&#xff0c;还不如百度网…

LLM:Training Compute-Optimal Large Language Models

论文&#xff1a;https://arxiv.org/pdf/2203.15556.pdf 发表&#xff1a;2022 前文回顾&#xff1a; OpenAI在2020年提出《Scaling Laws for Neural Language Models》&#xff1a;Scaling Laws(缩放法则&#xff09;也一直影响了后续大模型的训练。其给出的结论是最佳计算效…

day20【LeetCode力扣】142.环形链表Ⅱ

day20【LeetCode力扣】142.环形链表Ⅱ 1.题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了…

STM32 TIM输出比较、PWM波形

单片机学习&#xff01; 目录 一、输出比较简介 二、PWM简介 三、输出比较通道 3.1通用定时器的输出比较部分电路 3.2高级定时器的输出比较部分电路 四、输出模式控制器 五、PWM基本结构 六、PWM参数计算 总结 前言 文章讲述STM32定时器的输出比较功能&#xff0c;它主…

Windows Server 2019配置DNS服务器

正文共&#xff1a;1234 字 31 图&#xff0c;预估阅读时间&#xff1a;1 分钟 我们在给Windows Server添加角色和功能时&#xff0c;会发现有一项“远程桌面服务安装”&#xff0c;它的介绍为“为虚拟桌面基础结构&#xff08;Virtual Desktop Infrastructure&#xff0c;VDI&…

Angular系列教程之MVC模式和MVVM模式

文章目录 MVC模式MVVM模式MVC与MVVM的区别Angular如何实现MVVM模式总结 在讨论Angular的时候&#xff0c;我们经常会听到MVC和MVVM这两种设计模式。这两种模式都是为了将用户界面(UI)和业务逻辑分离&#xff0c;使得代码更易于维护和扩展。在这篇文章中&#xff0c;我们将详细介…

介绍一个强大的免费开源.net反编译工具

dnSpy dnSpy 是一个用C#开发&#xff0c;开源的调试器和.NET 汇编编辑器。 即使您没有任何可用的源代码&#xff0c;也可以使用它来编辑和调试程序&#xff0c;并可以把代码导出成.net工程。

01 SpringBoot3快速入门

本次使用3.0.5版本 SpringBoot整合了之前的一切。 需求&#xff1a;浏览器发送/hello请求&#xff0c;返回"Hello,Spring Boot 3!" 总体开发步骤&#xff1a; 1. 创建Maven工程 2. 添加依赖(springboot父工程依赖 , web启动器依赖) 3. 编写启动引导类(springboot项…

速通——决策树(泰坦尼克号乘客生存预测案例)

一、决策树 1、概述 树中每个内部节点表示一个特征上的判断&#xff0c;每个分支代表一个判断结果的输出&#xff0c;每个叶子节点代表一种分类结果 2、建立过程 1. 特征选择&#xff1a;选取有较强分类能力的特征。 2. 决策树生成&#xff1a;根据选择的特征生成决策树。 3.…

Gazebo的模型下载。

git clone zouxu634866/gazebo_modelshttps://gitee.com/zouxu6348660/gazebo_models.git&#xff0c;并完成路径配置。 &#xff08;本文提供了gitee下载&#xff0c;国外的Github下载较慢。&#xff09;

芯课堂 | 华芯微特MCU在PCB板级设计中对ISP引脚的应用

1.应用描述 ISP&#xff08;In System Programming&#xff09;&#xff0c;在系统编程&#xff0c;使用片内驻留出厂引导程序&#xff08;BootROM&#xff09;配合UART / SPI等外设进行烧录。 华芯微特全系MCU的ISP操作说明&#xff1a;当芯片上电后检测到 ISP 引脚持续 5ms…

LLaMa2 Chat gpt 大模型本地部署初体验

一直想在自己电脑或者测试环境随便找台服务器尝试部署一下“大模型”&#xff0c;但“大模型”对于内存和GPU的要求令人望而却步&#xff0c;层出不穷的各种术语也令人困惑&#xff0c;有点难以下手。 经过一段时间&#xff0c;在百度千帆大模型平台、讯飞星火大模型平台、魔搭…

【数据结构】哈希表详解,举例说明 java中的 HashMap、HashTable及其区别

一、哈希表&#xff08;Hash Table&#xff09;简介&#xff1a; 哈希表是一种数据结构&#xff0c;用于实现字典或映射等抽象数据类型。它通过把关键字映射到表中的一个位置来实现快速的数据检索。哈希表的基本思想是利用哈希函数将关键字映射到数组的索引位置上&#xff0c;…

【征服redis2】redis的事务与lua

1.redis事务介绍 在前面我们介绍了redis的几种典型数据结构和应用&#xff0c;本文我们来看一下redis的事务问题。事务也是数据库的重要主题&#xff0c;熟悉关系型数据库的读者应该对事务比较了解&#xff0c;简单地说&#xff0c;事务表示一组动作&#xff0c;要么全部执行&…

esp32-idf Eclipse Log日志打印demo

Log日志打印demo 1、代码例程 esp32-S2 芯片 / Eclipse软件 开发环境 #include <stdio.h> #include "sdkconfig.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_system.h" #include "esp_…