欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5198|回復: 6
打印 上一主題 下一主題
收起左側(cè)

按鍵控制步進電機加減速程序,能加不能減,求高手指點程序錯誤..

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:59980 發(fā)表于 2015-10-23 20:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//按鍵控制步進電機加減速程序:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

sbit k1=P3^4;
sbit k2=P3^5;
sbit A=P3^0;
sbit B1=P3^1;
sbit C=P3^2;
sbit D1=P3^3;

void DelayMS(uint aa)
{
  uchar bb;
  while(aa--)
  {
   for(bb=0;bb<115;bb++)     //1ms基準延時程序
   {
    ;
   }
  }

}
void main()
{
  uint        i;
  i=500;
  while(1)
           {
            if(k2==0)
                   {
                             while(k2==0);
                          
                          if(i<50)
                            {
                                  i=i+50;
                                  if(i==500)
                                  {
                                   i==50;
                                  }
                                }
                                DelayMS(200);
                   }
                   if(k1==0)
                   {
                             while(k1==0);
                          
                          if(i>50)
                            {
                                  i=i-50;
                                  if(i==50)
                                  {
                                   i==500;
                                  }
                                }
                                DelayMS(200);
                   }
           A=1;//8拍
           B1=0;
           C=0;
           D1=0;
           DelayMS(i);
              A=1;
           B1=1;
           C=0;
           D1=0;
           DelayMS(i);
           A=0;
           B1=1;
           C=0;
           D1=0;
           DelayMS(i);
              A=0;
           B1=1;
           C=1;
           D1=0;
           DelayMS(i);
           A=0;
           B1=0;
           C=1;
           D1=0;
           DelayMS(i);
              A=0;
           B1=0;
           C=1;
           D1=1;
           DelayMS(i);
           A=0;
           B1=0;
           C=0;
           D1=1;
           DelayMS(i);
              A=1;
           B1=0;
           C=0;
           D1=1;
           DelayMS(i);
           }
          
}




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:93478 發(fā)表于 2015-10-25 10:45 來自觸屏版 | 只看該作者
感覺這么寫好復雜,你這個思路是挺明確,可是硬件運行起來的時候容易出問題,持續(xù)的控制,我自己有一個程序需要加我QQ:229492525
回復

使用道具 舉報

板凳
ID:79544 發(fā)表于 2015-10-25 13:43 | 只看該作者
這個程序只能加不能減,減應該 if(i>500)
                            {
                                  i=i-50;
                                  if(i==50)
                                  {
                                   i==50;
                                  }
                                }
                                DelayMS(200);
這樣試試
回復

使用道具 舉報

地板
ID:59980 發(fā)表于 2015-10-28 00:58 | 只看該作者
我自己后來詳查錯誤后找出來了,在這幾句中
if(i>50)
                            {
                                  i=i-50;
                                  if(i==50)
                                  {
                                   i==500;

    i==500;多了一個等于號"=="
正確的是:i=500;就可以了。

謝謝各位同志有心啦
回復

使用道具 舉報

5#
ID:59980 發(fā)表于 2015-10-28 01:03 | 只看該作者
你好!你的程序是用數(shù)組的讀取法來實現(xiàn)的吧。本人用的是8腳mcu,只有6個i/o口。用那種方法可能會對按鍵有影響。。。
回復

使用道具 舉報

6#
無效樓層,該帖已經(jīng)被刪除
7#
ID:44987 發(fā)表于 2015-10-31 16:59 | 只看該作者
膜拜少時誦詩書s's
回復

使用道具 舉報

8#
ID:274435 發(fā)表于 2018-8-2 16:12 | 只看該作者
減的程序改成if(i<500)試試
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表