|
发表于 2008-6-5 16:48:05
|
显示全部楼层
[转帖]DSP和PBL3717A构成的步进电机的软件部分
DSP控制软件采用C语言编写。从第一拍到第十六拍的控制字分别为:0x0000、0x0004、0x000c、0x0014、0x0010、0x0011、0x0013、0x0031、0x0030、0x0034、0x003C、0x0024、0x0020、0x0021、0x0023、0x0001。将以上数值存放到数组Run_Table[]中,可通过循环程序调用数组中的相应值赋给端口B的数据和方向控制寄存器PBDATDIR,从而通过DSP的端口B来驱动控制PBL3717A.html">PBL3717A的相应引脚来实现步进电机旋转运行。通过修改run_delay(int count)延时子程序的count的值可改变电机的运转速度。下面给出了两相步进电机1/4步方式下正转的控制程序清单。
/*Filename:Step.c*/
/*IOPB0=I1B,IOPB1=I0B,IOPB2=I1A,IOPB3=10A,IOPB4=PhaseA,IOPB5=PhaseB*/
#include "f2407_c.h"
static int Run_Table[]={0x0000,0x0004,
0x000C,0x0014,0x0010,0x0011,0x0013,0x0031,0x0030,0x0034,0x003C,0x0024,0x0020,
0x0021,0x0023,0x0001};
void main()
{int i;
InitCPU();
while(1)
{
for(i=0;i<=15;i++)
{
*PBDATDIR=Run_Table|0xff00;
run_delay(10);
}
}
}
|
|