您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > c语言控制两相步进电机
//P1_0为脉冲输出端,P1_1为方向输出端//2相1.8度步进电机,16细分状态下正转1圈后反转1圈//本测试程序运行在8051系列单片机环境下#includereg51.h#defineunitunsignedintsbitP1_0=P1^0;sbitP1_1=P1^1;unittime;intm;delay(){for(m=0;m10000;m++){;}for(m=0;m10000;m++){;}for(m=0;m10000;m++){;}for(m=0;m10000;m++){;}for(m=0;m10000;m++){;}}voidtimer0(void)interrupt1using1{if(time=3200)/*16细分×200脉冲/周=3200个脉冲/周如果是其他细分数,请改换相应的数据*/{TR0=0;P1_0=!P1_0;for(m=0;m30;m++){;}P1_0=!P1_0;time++;}else{TR0=0;time=1;P1_1=!P1_1;delay();}TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;}voidmain(void){time=1;TMOD=0x01;P1_0=0;P1_1=0;delay();TH0=(65536-500)/256;TL0=(65536-500)%256;EA=1;ET0=1;TR0=1;do{}while(1);}想调速度的话,调整定时器设置
本文标题:c语言控制两相步进电机
链接地址:https://www.777doc.com/doc-2909144 .html