文章来源:《零起点学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晶体管导通,继电器导通,灯泡点亮。
/*
实现功能:继电器使用,单片机引脚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);
}
}
}