funcrotate.c
来自「该程序是用单片机C51语言编写的关于步进电机控制的程序」· C语言 代码 · 共 37 行
C
37 行
#include<reg52.h>
#include<Waking_machine.h>
extern void delay(uint k);
extern uint delaycount ;
bit FuncRotate(bit BClockWise,uint step,int *PRegAngle)
{
PinRotIndicator=TRUE; //为1工作状态正常,转动操作正在进行
if(BClockWise) //转动方向标示,为1表示顺时针转动
{
DIR=INVALID; //方向电平信号为1,原方向转动
*PRegAngle+=step; // 存放当前的角度值
if(*PRegAngle>=MAXSTEPS)
*PRegAngle-=MAXSTEPS; //将差值保存
}
else //逆时针转动
{
DIR=VALID; //方向电平信号为0,反方向转动
*PRegAngle-=step; // 存放当前的角度值
if(*PRegAngle<0)
*PRegAngle+=MAXSTEPS; //将差值保存
}
while(step)
{
CP=INVALID;
delay(delaycount);
CP=VALID;
delay(delaycount);
step--;
}
PinRotIndicator=FAULT;
return (TRUE);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?