四相五线步进电机控制程序

上传人:壹****1 文档编号:561662628 上传时间:2023-04-22 格式:DOC 页数:4 大小:27KB
返回 下载 相关 举报
四相五线步进电机控制程序_第1页
第1页 / 共4页
四相五线步进电机控制程序_第2页
第2页 / 共4页
四相五线步进电机控制程序_第3页
第3页 / 共4页
四相五线步进电机控制程序_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《四相五线步进电机控制程序》由会员分享,可在线阅读,更多相关《四相五线步进电机控制程序(4页珍藏版)》请在金锄头文库上搜索。

1、#include/LA为sbitLA=P20;/定义两相,选择P2口的低四位输出A,LB为B,LC为C,LD为DsbitLB二P2l;sbitLC=P22;sbitLD=P23;sbitkeyl=P37;/定义按键1sbitkey2=P3飞;/定义按键2sbitkey3=P35;/定义按键3sbitkey4=P34;/定义按键4sbitkey5=P33;/定义按键5sbitkey6=P32;/定义按键6/(C*jAKi_._I11I*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/lI

2、III|II/voidright(unsignedintSpeed,unsignedintroad);/正转voidleft(unsignedintSpeed,unsignedintroad);/反转voidmDelay(unsignedintDelayTime);/延时函数/*x*x*x*x*x*X*X*X*/II、_*、i*/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/7|I|f_.乂/i

3、ntMotorStep=0;/步进索引/*i*i*i*i*i*i*i*i*i*i*i*I(C*jAKII_!_厶、/IlIi-tfI(/1_t/voidmain()P2&=OXFO;/因ULN2003A直接驱动,初始时为低电平,这里一定不能少了while(1)/循环if(key1=0)/1键按下正转right(20,32);/两个参数代表转速和步进量,以20的速度进32步if(key2=0)/2键按下反转left(20,32);if(key3=0)/3键接下正转right(10,32);/两个参数代表转速和步进量,以10的速度进32步if(key4=0)/4键接下反转left(10,32);/

4、*正转,两个参数代表转速和步进量*/voidright(unsignedintSpeed,unsignedintroad)/步进节拍:A-B-C-Dwhile(road)switch(MotorStep)case0:LB=0;LC=0;LD=0;LA=1;/AMotorStep=1;break;case1:LA=0;LC=0;LD=0;LB=1;/BMotorStep=2;break;case2:LA=0;LB=0;LD=0;LC=1;/CMotorStep=3;break;case3:LA=0;LB=0;LC=0;LD=1;/DMotorStep=0;break;mDelay(Speed);

5、/这里的延时即控制转速road-;/完成一步P2&=0XF0;/将四个脚复位0,停止/*反转,两个参数代表转速和步进量*/voidleft(unsignedintSpeed,unsignedintroad)/步进节拍:D-C-B-Awhile(road)switch(MotorStep)case3:LA=0;LC=0;LD=0;LB=1;/BMotorStep=2;break;case2:LB=0;LC=0;LD=0;LA=1;/AMotorStep=1;break;case1:LA=0;LB=0;LC=0;LD=1;/DMotorStep=0;break;case0:LA=0;LB=0;LD

6、=0;LC=1;/CMotorStep=3;break;mDelay(Speed);/这里的延时即控制转速road-;/完成一步P2&=0XF0;/将四个脚复位0/*X*厶r|_LIvItC*K4/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/J|.IIIlI/voidmDelay(unsignedintDelayTime)unsignedcharj=0;while(DelayTime-)for(j=0;j100;j+)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号