1. 继电器介绍
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
常闭NC,常开NO,公共端COM。
2. 硬件设计
IN4148保护芯片。
3. 软件设计
3.1 Relay
/* * relay.c * * Created on: 2020-4-7 * Author: Administrator */ #include "relay.h" void Relay_Init(void) { EALLOW; SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟 //继电器端口配置 GpioCtrlRegs.GPAMUX1.bit.GPIO15=0; GpioCtrlRegs.GPADIR.bit.GPIO15=1; GpioCtrlRegs.GPAPUD.bit.GPIO15=0; EDIS; GpioDataRegs.GPACLEAR.bit.GPIO15=1; }
/* * relay.h * * Created on: 2020-4-7 * Author: Administrator */ #ifndef RELAY_H_ #define RELAY_H_ #include "DSP2833x_Device.h" // DSP2833x 头文件 #include "DSP2833x_Examples.h" // DSP2833x 例子相关头文件 #define RELAY_ON (GpioDataRegs.GPASET.bit.GPIO15=1) #define RELAY_OFF (GpioDataRegs.GPACLEAR.bit.GPIO15=1) #define RELAY_TOGGLE (GpioDataRegs.GPATOGGLE.bit.GPIO15=1) void Relay_Init(void); #endif /* RELAY_H_ */
3.2 main.c
/* * main.c * * Created on: 2020年4月6日 * Author: lenovo */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File #include "relay.h" #include "leds.h" /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { InitSysCtrl(); Relay_Init(); LED_Init(); while(1) { RELAY_TOGGLE;//设置GPIO输出翻转信号 LED1_TOGGLE; DELAY_US(1000000); } }
4. 效果
来源:https://www.cnblogs.com/dingdangsunny/p/12651422.html