Linux下C51开发4:按键控制继电器

系列文章索引:Linux下C51开发系列教程索引

继电器如图:

电源按键上面的就是继电器。

继电器是一种状态控制组件,有开、闭两种状态,可以在一定条件下控制整个电路。比如说当电压过大就断开电路。

因为是单片机Linux入门,没有什么高级的功能,就使用按键控制继电器。按键有两种状态:按下、松开(按键抖动不考虑)。

那么就简单了,按键按下继电器闭合,按键松开继电器断开。而按键常开,那么继电器常断。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*****************************************************************
继电器实验
连接方法:P2.7接JP5的K1(按钮接口)
P1.4接J2(继电器唯一的接口)
按下P2.7 继电器P1.4动作
*****************************************************************/
#include <mcs51/8051.h> //51的端口和各特殊寄存器定义在此文件中

#define RELAY P1_4 //定义继电器对应单片机管脚
#define K1 P2_7 //定义按钮对应单片机管脚

/*********************************************************
主函数 *
**********************************************************/
int main() {
if (!K1)
RELAY = 0; //按钮按下 开启继电器
else
RELAY = 1; //按钮松开 关闭继电器

return 0;
}

编译转换写入运行,8位按键中K1按下,然后继电器启动。测试视频如下:

继电器测试

和LED一样,就是赋值和接线。

如果将按键排针和继电器排针直接连接呢?单片机的最重要的就是CPU,CPU负责控制和处理数据。如果直接连接,那么数据没经过CPU,控制信号没有东西处理是不可能有效的。