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. 效果