步进电机正反转的单片机程序问题
我要做一个步进电机正反转程序,要求先正转5秒,然后停顿1秒,再反转5秒,再停顿1秒,如此自动循环,能有程序码?电机是五线步进电机!,我就这么多分了!还有没有更完整点的程序...
我要做一个步进电机正反转程序,要求先正转5秒,然后停顿1秒,再反转5秒,再停顿1秒,如此自动循环,能有程序码?电机是五线步进电机!,我就这么多分了!
还有没有更完整点的程序??转速是300PPS,电机是7.5度的! 展开
还有没有更完整点的程序??转速是300PPS,电机是7.5度的! 展开
展开全部
code uchar Tab_Run[9] = {0x37, ........, 0x00};//不同电机,方式不一样,这里自己看电机的资料填。以8拍为例,前8个字节是电机转动状态,最后一个是断电停止。
void Run(uchar runMode){
static uchar runNum = 0;
switch(runMode){
case Run_Left :
runNum = (runNum + 1) % 8; //0-7 +
P0 = Tab_Run[runNum];
break;
case Run_Right :
runNum = (runNum + 7) % 8; //0-7 -
P0 = Tab_Run[runNum];
break;
case Run_Stop :
P0 = Tab_Run[8];
break;
}
RunStatus = runMode; //全局变量:电机当前状态
}
void ScanRun(){ //1ms 执行一次
Run(RunStatus);
}
void Run(uchar runMode){
static uchar runNum = 0;
switch(runMode){
case Run_Left :
runNum = (runNum + 1) % 8; //0-7 +
P0 = Tab_Run[runNum];
break;
case Run_Right :
runNum = (runNum + 7) % 8; //0-7 -
P0 = Tab_Run[runNum];
break;
case Run_Stop :
P0 = Tab_Run[8];
break;
}
RunStatus = runMode; //全局变量:电机当前状态
}
void ScanRun(){ //1ms 执行一次
Run(RunStatus);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
德鸿数智
2024-10-30 广告
2024-10-30 广告
步进位移台是北京德鸿数智科技有限责任公司提供的一种高精度运动控制设备。它采用先进的步进电机驱动技术,能够实现微小且精确的位移控制。该位移台具有定位准确、运动平稳、响应速度快等特点,适用于各种需要高精度定位的领域,如光学实验、半导体制造、精密...
点击进入详情页
本回答由德鸿数智提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询