DSP2833x实验_直流电机

直流电机介绍:

  直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

              

 

硬件电路:

 

 

分为两条通路控制正反转。

 

 

 软件设计:

#include "dc_motor.h"

void DC_Motor_Init(void)
{
    EALLOW;
    SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1; // 开启GPIO时钟
    //DC_motor 端口配置
    GpioCtrlRegs.GPAMUX1.bit.GPIO0 =0;//设置为通用GPIO功能
    GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;//设置GPIO方向为输出
    GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; //使能GPIO上拉电阻

    GpioCtrlRegs.GPAMUX1.bit.GPIO1 =0;
    GpioCtrlRegs.GPADIR.bit.GPIO1 = 1;
    GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; //使能GPIO上拉电阻
    EDIS;

    GpioDataRegs.GPACLEAR.bit.GPIO0 =1;//默认拉低停止
    GpioDataRegs.GPACLEAR.bit.GPIO1 =1;
    }

#ifndef DC_MOTOR_H_
#define DC_MOTOR_H_

#include "DSP2833x_Device.h" // DSP2833x 头文件
#include "DSP2833x_Examples.h" // DSP2833x 例子相关头文件

#define DC_MOTOR_INA_SETH (GpioDataRegs.GPASET.bit.GPIO0=1)//拉高,支路导通
#define DC_MOTOR_INB_SETH (GpioDataRegs.GPASET.bit.GPIO1=1)

#define DC_MOTOR_INA_SETL (GpioDataRegs.GPACLEAR.bit.GPIO0=1)//拉低,支路截止
#define DC_MOTOR_INB_SETL (GpioDataRegs.GPACLEAR.bit.GPIO1=1)

void DC_Motor_Init(void);

#endif /* DC_MOTOR_H_ */

        key = KEY_Scan(0);
        switch(key)
        {
            case KEY1_PRESS:DC_MOTOR_INA_SETH;DC_MOTOR_INB_SETL;LED1_ON;LED2_OFF;LED3_OFF;break;//正转
            case KEY2_PRESS:DC_MOTOR_INB_SETH;DC_MOTOR_INA_SETL;LED2_ON;LED1_OFF;LED3_OFF;break;//反转
            case KEY3_PRESS:DC_MOTOR_INA_SETL;DC_MOTOR_INB_SETL;LED3_ON;LED1_OFF;LED2_OFF;break;//拉低,停止
            default: LED5_ON;
        }

 

posted @ 2021-07-07 16:38  百叶集  阅读(255)  评论(0编辑  收藏  举报