想让这个程序产生有限个脉冲,可它一直产生

2019-07-15 17:14发布

  if(i<10)                     
         
               { CLK=!CLK;

                     DelayMS(1)        ;
                                i++;
                }
想让这个程序产生有限个脉冲,可它一直产生。我用它给L297产生脉冲, 就一直转。真是想不通

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
andyyau
1楼-- · 2019-07-15 17:25
unsigned char i;

for(i = 0; i < 10; i++)
{
    CLK = !CLK;
}
18792451417
2楼-- · 2019-07-15 22:58
 精彩回答 2  元偷偷看……
18792451417
3楼-- · 2019-07-16 01:08
额,不行还是一直转。这是全部程序:
#include<reg51.h>
#include<stdio.h>
#define unit unsigned int
#define uchar unsigned char
sbit CW=P1^0;
sbit CLK=P1^1;
int n;
unit ms;
unsigned char i;

DelayMS(unit ms)
{
        uchar k;
        while(ms--)
        {
                 for(k=0;k<120;k++);
        }
  }


  

main()
{   CW=0;
        CLK=0;
        n=4;
        i=1;
       
     
           for(i = 0; i < 1000; i++)
         {
          CLK = !CLK;
          DelayMS(1) ;
         }
}                               
andyyau
4楼-- · 2019-07-16 02:29
你的延时时间不够吧 CW是干什么的 CLK是什么?
andyyau
5楼-- · 2019-07-16 06:39
你这个主程序怎么没有循环啊  结构有问题 刚才没看见
int main(void)
{
unsigned char i;

while(1)
{
     for(i = 0; i < 5; i++)
         {
          CLK = !CLK;
          DelayMS(1) ;
         }
}
return 0;
}
18792451417
6楼-- · 2019-07-16 11:23
我是L97L298驱动步进电机,CW是方向,CLK是脉冲,延时时间多少都一样的现象呀!

一周热门 更多>