凌乱的DSP笔记(4)-继电器

蓝咒 提交于 2020-04-07 10:15:08

1. 继电器介绍

继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

常闭NC,常开NO,公共端COM。

2. 硬件设计

imageimage

image

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!