标题: 利用脉冲高低控制步进电机正反转,为什么我的程序实现不了,但是把驱动器上的AB相 [打印本页]

作者: 1049769176    时间: 2016-12-24 09:50
标题: 利用脉冲高低控制步进电机正反转,为什么我的程序实现不了,但是把驱动器上的AB相
//利用脉冲高低控制步进电机正反转,为什么我的程序实现不了,但是把驱动器上的AB相接反就可以实现反向转动,但正转就又不可以了
#include <REG52.H>
#define uint unsigned int
#define uchar unsigned char
sbit pul=P1^0;
sbit dir=P1^1;
sbit k1=P3^4;
sbit k2=P3^5;
uchar t=10;

void delay(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
                for(j=112;j>0;j--);
}

void main()
{
        if(k1==0)
        {
                delay(20);
                if(k1==0)
                {
                        while(1)
                        {       
                                while(t--)
                                {
                                        dir=1;
                                        pul=1;
                                        delay(5);
                                        pul=0;
                                        delay(5);
                                }
                                delay(500);
                                while(t--)
                                {
                                        dir=0;
                                        pul=1;
                                        delay(5);
                                        pul=0;
                                        delay(5);
                                }
                               
                        }
                }
        }
}


作者: chemali    时间: 2016-12-24 21:50
第一个循环t--执行完,第二个t--就执行不了了。
作者: yyn123456    时间: 2018-4-23 14:33
chemali 发表于 2016-12-24 21:50
**** 作者被禁止或删除 内容自动屏蔽 ****

你这个t代表的是什么




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1