stm32第六天继电器

一:继电器

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工程

cs 复制代码
#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引脚传输速度为10MHZ
	Relay_Initstruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置A0引脚输出模式为推挽输出
	GPIO_Init(GPIOA, &Relay_Initstruct);//初始化GPIOA0的结构体
	

}

2:relay.h工程

cs 复制代码
void Relay_Init(void);//声明函数

3:main.c工程

cs 复制代码
#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 A3
	Key_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秒钟
		
		
	 }
		 
   
}
相关推荐
DIY机器人工房5 分钟前
【科普】STM32CubeMX是配置工具,STM32CubeIDE是集成开发环境,二者互补但定位不同,前者负责初始化配置,后者专注代码开发调试。
单片机·嵌入式硬件·嵌入式·diy机器人工房
努力做小白30 分钟前
Linux驱动20 --- FFMPEG视频API
linux·驱动开发·单片机·嵌入式硬件·ffmpeg·lvgl
得单片机的运9 小时前
STM32的蓝牙通讯(HAL库)
stm32·单片机·嵌入式硬件·蓝牙
国科安芯10 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
weixin_4526006911 小时前
GC8872刷式直流电机驱动器详解:3.6A驱动能力与PWM控制
stm32·单片机·嵌入式硬件·智能家居·音响·电动工具
Despacito0o14 小时前
STM32 I2C通信完整教程:从协议原理到硬件实现
stm32·单片机·嵌入式硬件
你好,奋斗者!14 小时前
小电流驱动大电流:原理、实现方式与应用前景
stm32·单片机·嵌入式硬件·电路设计
XINVRY-FPGA17 小时前
XCZU4EV-1FBVB900E Xilinx FPGA AMD Zynq UltraScale+ MPSoC EV(Embedded Vision)
arm开发·嵌入式硬件·计算机视觉·fpga开发·硬件架构·硬件工程·fpga
猫猫的小茶馆18 小时前
【STM32】FreeRTOS 任务的删除(三)
java·linux·stm32·单片机·嵌入式硬件·mcu·51单片机
学不动CV了18 小时前
单片机ADC采集机理层面详细分析(二)
c语言·arm开发·stm32·单片机·嵌入式硬件·开源·51单片机