admin管理员组文章数量:1794759
单片机控制步进电机
单片机控制步进电机程序(含电路原理弹幕电影图和程序)
1、设计电路:
主要元件:与门AND_5(5路),ULN2003A(放大电压用来驱动电机),AT89C52,步进电机MOTOR-STEPPER
步进电机连接电路图2、编写广州长城宽带程序:
#include #define uint unsigned int#define uchar unsigned charint state = 0; //定义电机的软件开发管理状态 state = 1 正转 state = -1电机反转 state = 0 电机停止uint time = 50; //定义延时时间int step[8]={0x01,0x03,0x02,0x06,0x彼得罗夫04,0x0c,0x08,0x09};//每一步的通电顺序//几个控制开关量sbit drive pmp试题= P3^5;s慢跑鞋bit stop = P3^6;sbit re_drive = P3^合肥有什么特产7;sbit add = P3^1;sbit reduce = P每天喝牛奶3^0;//延时程序 x*10msvoid Delay_xms(uint x){ uint i,j; for(i=0;i<x;i++)for(j=0;j<112;j++);//10ms}//反转void Move_reverse(uint time){ uint i; for(i= 0;i < 8;i++){ P2 = step[i]; Delay_xms(time); }}//正转void Move(uint time){ int i; for(i= 7;i >= 0;i--){ P2 = step[i]; Delay_xms(time); } }//定义外部中断INT0的中断函数 开关量变化时做出反应void C行测常识hangeState() interrupt 0{ if(!drive){ state = 1;drive = 1; 110011 } if(!stop){ state = 0;stop = 1; } if(!re_drive){ state = -1;re_drive = 1; } if(!add){ time -= 10;add = 1; if(time <=ihg 10) time = 10; 锐捷官网} if(!reduce){ time += 10;reduce = 1; if(time &动力煤期货gt;= 100) time = 100; } }void main(){ EA = 1; //EA (IE.7), CPU中断允许(总允许)位。 EX0 = 1; //王书金案EX0(IE.0),外部中断0允许位 林丹出轨 IE0(TCON.1),外部中断0中断请求标志位。 IT0 = 1; //定义下降沿触发 while(1){ switch(st王人美ate){ 邮件器case 1真空电镀工艺: Move(time); break; case 0:遗传算法的应用 Delay_xms(10); break; case -1: 视频程序 Move_reverse(time); break; } }}3、运行结果:
运行结果版权声明:本文标题:单片机控制步进电机 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686625450a87813.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论