⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controlmotor.c

📁 用C语言编写的步进电机的驱动程序
💻 C
字号:
# include"at89x52.h"
# include"intrins.h"
# include"StepperMotorlib.h"

State state=STILL;
uint speed=10;
Direction dir=CLOCKWISE;
uchar step[8]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09};
void MyStepSequence(uchar x);
void main(void)
{
	T2CON=0x38;            
	TL2=0xd9;
	TH2=0xff;
	RCAP2L=0xd9;
	RCAP2H=0xff;
	TR2=1;
	SCON=0x50;
	IE=0x90;
    StepperMotorInit(MyStepSequence,state,speed,dir);
    while(1)
    {
    	RotateThread();
    }
}
void MyStepSequence(uchar x)
{
	P2=(P2&0xf0)|(step[x]&0x0f);
}
void UARTInt() interrupt 4 using 1
{
	if(TI==1)
	{
		TI=0;
		return;
	}
	else
	{
		uchar rcv;
		while(RI!=1);
		{
			RI=0;
			rcv=SBUF;
			switch(rcv)
			{
			case 49:RotateControl(START,speed,dir);
			      break;
			case 50:RotateControl(STOP,speed,dir);
			      break;
			case 51:RotateControl(SETPARA,speed,CLOCKWISE);
			     dir=CLOCKWISE;
			     break;
			case 52:RotateControl(SETPARA,speed,COUNTERCLOCKWISE);
			     dir=COUNTERCLOCKWISE;
			     break;
			case 53:if(speed<=MAX_SPEED){
				    speed++;
			     }
			      RotateControl(SETPARA,speed,dir);
			      break;
			case 54:if(speed>1){
				     speed--;
			}
			     RotateControl(SETPARA,speed,dir);
			     break;
			     default:break;
			}
		}
	}
}
			
				    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -