zoukankan      html  css  js  c++  java
  • 凌乱的DSP笔记(4)-继电器

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

  • 相关阅读:
    堆模板
    二叉树输出
    中序+层次遍历输出前序
    扩展二叉树 (根据特殊的前序遍历建树)
    Leecode no.124 二叉树中的最大路径和
    JVM类加载过程
    Leecode no.208 实现Tire(前缀树)
    Leecode no.300 最长递增子序列
    volatile关键字深入解析 JMM与内存屏障
    Leecode no.200 岛屿数量
  • 原文地址:https://www.cnblogs.com/dingdangsunny/p/12651422.html
Copyright © 2011-2022 走看看