凌亂的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. 效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM