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

