stm32第六天继电器

news/2025/3/29 5:51:17/

一:继电器

1.继电器的工作原理
继电器是一个电控开关,工作原理基于电磁感应,继电器包括一个电磁线圈和一组触点。常用于控制高电流或高电压的电路,例如自动控制原理,电力系统和自动化设备中,由于可靠性和电气隔离的特性可以实现小电流实现大电流,通过小电流控制线圈产生磁场驱动触点动作,实现对大电流/高电压电路的通断控制。继电器在各种应用中都有广泛的用途。

 2.继电器的引脚说明
1.VCC(+):供电正极,连接此引脚到电源,以提供继电器所需的电流(判断是3.3v还是5v)
2.GND():地,连接此引脚到电源的负极或者地。
3.IN:控制输入信号,通常用于连接控制信号,当该信号变化,继电器切换状态。(判断是低电平导通还是高电平导通)
4.COM (common):公共端,通常是中间的触点,与常开或常闭触点相连。
5.NO(Normally Open):常开接口,继电器吸合前悬空,吸合后于COM连接。
6.NC(Normally Closed):常闭接口,继电器吸合前与COM连接,吸合后悬空。

3:单片机控制继电器软件开发流程
· 初始化系统
。 初始化继电器IN引脚对应的GPIO外设时钟
。初始化继电器IN的引脚
·输出电平控制继电器开和关

1:relay.c工程

#include "relay.h"#include "stm32f10x.h"void Relay_Init(void)//继电器的初始化函数
{//有两个步骤:1:初始化继电器外设 2:初始化继电器时钟GPIO_InitTypeDef Relay_Initstruct;//初始化继电器结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//打开APB2总线下GPIOA的时钟Relay_Initstruct.GPIO_Pin=GPIO_Pin_0;//配置A0引脚Relay_Initstruct.GPIO_Speed=GPIO_Speed_10MHz;//配置A0引脚传输速度为10MHZRelay_Initstruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置A0引脚输出模式为推挽输出GPIO_Init(GPIOA, &Relay_Initstruct);//初始化GPIOA0的结构体}

2:relay.h工程

void Relay_Init(void);//声明函数

3:main.c工程

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"
#include "key.h"
#include "relay.h"void delay(uint16_t time)//延时1ms  软件延时粗延时
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鸣器的引脚GPIO A3Key_Init();//初始化按键的时钟和引脚配置GPIO_SetBits(GPIOA, GPIO_Pin_1); //初始化灯为灭Relay_Init();//初始化继电器的时钟和引脚配置GPIO_SetBits(GPIOA, GPIO_Pin_0);//初始化GPIOA为高电平为绿灯灭while(1){GPIO_ResetBits(GPIOA, GPIO_Pin_0);//A0输出低电平绿灯亮delay(1000);//延时1秒钟GPIO_SetBits(GPIOA, GPIO_Pin_0);//A0输出高电平绿灯灭delay(1000);//延时1秒钟}}


http://www.ppmy.cn/news/1583287.html

相关文章

Linux -- 进程间通信(IPC)-- 进程间通信、管道、system V 共享内存、system V 消息队列、责任链模式 、system V 信号量

一、什么是进程间通信 1.进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发…

初识HTTP

HTTP 概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 HTTP 协议特点: 1.基于TCP协议:面向连接,安全 2.基于请求-响应模型的:一次请求对应一次响应 3.HTTP协议是无状态的协议:对于事务处理没有…

TCP粘包原因分析以及解决方案

一、TCP粘包简介 使用TCP 协议进行数据传输时,多个数据包被连续存储于缓存中,在对数据包进行读取时由于无法确定发送方的发送边界,而采用某一估测值大小来进行数据读取,使得发送方发送的若干个数据包到接收方接收时粘成一包&…

自然语言处理(11:RNN(RNN的前置知识和引入)

系列文章目录 第一章 1:同义词词典和基于计数方法语料库预处理 第一章 2:基于计数方法的分布式表示和假设,共现矩阵,向量相似度 第一章 3:基于计数方法的改进以及总结 第二章 1:word2vec 第二章 2:word2vec和CBOW模型的初步实现 第二章 3:CBOW模型…

在 PostgreSQL 中设置调试环境以更好地理解 OpenSSL API

1. 概述 本文将介绍如何设置一个 gdb 调试环境,以深入了解 TLS 连接并更好地理解 PostgreSQL 中使用的 OpenSSL API。 2. 使用调试符号构建 OpenSSL 首先,检出 OpenSSL 源代码并切换到您想要使用的版本。在本例中,我想使用 OpenSSL 3.0.2 …

NVIDIA NeMo 全面教程:从入门到精通

NVIDIA NeMo 全面教程:从入门到精通 文章目录 NVIDIA NeMo 全面教程:从入门到精通目录框架介绍NeMo的核心特点NeMo的架构NeMo与其他框架的比较NeMo的模型集合NeMo的工作流程NeMo 2.0的新特性 安装指南系统要求使用Docker容器安装步骤1:安装Do…

自由学习记录(47)

刚刚新建的 Color 属性,名字叫 Albedo,是创建的 Shader 可调参数之一。 元素含义Albedo这是你定义的一个公开颜色参数,名字叫 AlbedoReference(变量名)"_Albedo" 是这个变量在材质中可访问的名字Exposed 勾…

【多媒体交互】Unity+普通摄像头实现UI事件分析

在Unity中,通过普通摄像头实现UI点击事件的核心思路是:利用摄像头捕捉用户的手势或动作,结合坐标映射与事件系统触发UI交互。以下是具体实现方法与技术要点: 技术实现原理 手势识别与坐标映射 通过摄像头捕捉用户手势&#xff…