📄 main.c
字号:
/*********************************************************************
** Module Name: STEP-MOTOR **
** Author: Cbq **
** Version: 1.0 **
** CreateDate: 2008-05-19 **
** Description: **
** Remark: Huozq **
** Revision History: 2008-11-10 **
**********************************************************************/
/*********************************************************************
** 实验目的:理解DSP控制步进电机原理 **
** 实验说明:由DSP输出的PWM3~6做为步进电机的4个信号线输入,这里我们 **
** 只选用PWM的IO口. **
** 实验结果:步进电机能够起转,方向可通过我们下面程序来控制.延时不能 **
** 太长,否则转得太慢,延时也不能太短,否则频率太高不起转。**
**********************************************************************/
#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"
#define SetPWM3 GpioDataRegs.GPADAT.bit.GPIOA2 = 1
#define ClrPWM3 GpioDataRegs.GPADAT.bit.GPIOA2 = 0
#define SetPWM4 GpioDataRegs.GPADAT.bit.GPIOA3 = 1
#define ClrPWM4 GpioDataRegs.GPADAT.bit.GPIOA3 = 0
#define SetPWM5 GpioDataRegs.GPADAT.bit.GPIOA4 = 1
#define ClrPWM5 GpioDataRegs.GPADAT.bit.GPIOA4 = 0
#define SetPWM6 GpioDataRegs.GPADAT.bit.GPIOA5 = 1
#define ClrPWM6 GpioDataRegs.GPADAT.bit.GPIOA5 = 0
void delay(unsigned int t);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
/*初始化GPIO*/
InitGpio();
/*初始化IO初始状态*/
ClrPWM3;
ClrPWM4;
ClrPWM5;
ClrPWM6;
for(;;)
{
//顺时针转
SetPWM3;
delay(50);
ClrPWM3;
delay(10);
SetPWM4;
delay(50);
ClrPWM4;
delay(10);
SetPWM5;
delay(50);
ClrPWM5;
delay(10);
SetPWM6;
delay(50);
ClrPWM6;
delay(10);//*/
/*反时针转
SetPWM6;///第4路脉宽驱动,下同
delay(50);
ClrPWM6;
delay(10);
SetPWM5;
delay(50);
ClrPWM5;
delay(10);
SetPWM4;
delay(50);
ClrPWM4;
delay(10);
SetPWM3;
delay(50);
ClrPWM3;
delay(10);*/
}
}
/*注意这里的延时*/
void delay(unsigned int t)
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<1200;b++);
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -