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; }