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

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

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

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

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

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

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

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

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

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

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

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

c 复制代码
/*
	实现功能:继电器使用,单片机引脚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);
		}
	}
}
相关推荐
LCG米2 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga6 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡10 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
硅基手札11 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学14 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_14 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY0920015 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式18 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎1 天前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件