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 + -
显示快捷键?