步进电机调速程序Word格式.docx

上传人:b****5 文档编号:21238945 上传时间:2023-01-28 格式:DOCX 页数:16 大小:17.27KB
下载 相关 举报
步进电机调速程序Word格式.docx_第1页
第1页 / 共16页
步进电机调速程序Word格式.docx_第2页
第2页 / 共16页
步进电机调速程序Word格式.docx_第3页
第3页 / 共16页
步进电机调速程序Word格式.docx_第4页
第4页 / 共16页
步进电机调速程序Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

步进电机调速程序Word格式.docx

《步进电机调速程序Word格式.docx》由会员分享,可在线阅读,更多相关《步进电机调速程序Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

步进电机调速程序Word格式.docx

//步进电机驱动

unsignedcharMotorStep=0;

unsignedintMotorTimer=0;

unsignedintMotorDelay,Speed=1,TIM,CT;

/*****************************************************

*初始化马达*

******************************************************/

voidInitMotor()

{

F1=1;

F2=1;

F3=1;

F4=1;

}

voidSetMotor()

//if(Speed==0)return;

MotorDelay=Speed;

switch(MotorStep)

{

case0:

if(TIM)//A

{

F1=0;

//0xf1

F3=1;

MotorStep=1;

TIM=0;

}

break;

case1:

//AB

if(TIM)

{

//0xf3

F2=0;

F3=1;

MotorStep=2;

case2:

//B

F1=1;

//0xf2

MotorStep=3;

case3:

//BC

//0xf6

F3=0;

MotorStep=4;

case4:

//C

//0xf4

MotorStep=5;

case5:

//CD

//0xfc

F4=0;

MotorStep=6;

case6:

//D

//0xf8

MotorStep=7;

case7:

//DA

//0xf9

MotorStep=0;

voidsystem_Ini()

TMOD|=0x11;

TH0=0xDC;

//11.0592M

TL0=0x00;

IE=0x8A;

TR0=1;

main()

{system_Ini();

InitMotor();

while

(1)

SetMotor();

/************************************************

**

*定时中断延时*

************************************************/

voidTzd(void)interrupt1

TH0=0xfe;

//11.0592

TL0=0x33;

if(CT++==10)

{TIM=1;

CT=0;

步进电机试验二*

**

unsignedcharcodeFFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};

voiddelay(unsignedintt);

voidmotor_ffw()

unsignedchari;

for(i=0;

i<

8;

i++)//一个周期转30度

P1=FFW[i]&

0x1f;

//取数据

delay(5);

//调节转速

}

voiddelay(unsignedintt)

{

unsignedintk;

while(t--)

for(k=0;

k<

60;

k++)

{}

motor_ffw();

步进电机试验三(加减速运行)*

**

*请学员一定要消化掉本例程*

**************************************************************************************/

voiddelay();

//反转

unsignedcharcodeFFZ[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};

//正转

unsignedintK,rate;

/**********************************************************

**

*步进电机驱动*

***********************************************************/

delay();

/********************************************

延时程序

*********************************************/

voiddelay()

unsignedintk,t;

t=rate;

150;

/********************************************************

*

*步进电机运行

*********************************************************/

voidmotor_turn()

unsignedcharx;

rate=0x0a;

x=0x40;

do

//加速

rate--;

}while(rate!

=0x01);

{

//匀速

x--;

}while(x!

//减速

rate++;

=0x0a);

motor_turn();

/**************************************************************************************

步进电机试验四*

*双四拍工作方式:

*AB-BC-CD-DA(即一个脉冲,转7.5度)*

**

*请学员一定要消化掉本例程,*

#include"

unsignedintTIM,CT;

F4=1;

/*************************************

[t1(0.5ms)中断]中断中做PWM输出

------------1000/(0.02ms*250)=200Hz

*************************************/

if(CT++==20)

/***********************************************************************************

步进电机试验五(正转一圈反转一圈)*

**

*通过本例程了解步进马达使用及驱动程序编写*

*

A-AB-B-BC-C-CD-D-DA(即一个脉冲,转3.75度)*

**

*请学员一定要消化掉本例程*

*

voiddelay(unsignedintt);

unsignedintK;

/**********************************************************************

**

*步进电机驱动*

***********************************************************************/

unsignedintj;

for(j=0;

j<

12;

j++)//转1*n圈

if(K==1)P1=FFW[i]&

if(K==2)P1=FFZ[i]&

/******************************************************

*

*延时程序

********************************************************/

voiddelay(unsignedintt)

80;

K=1;

K=2;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1