【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);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容